Просмотр исходного кода

bcm53xx: replace linux,part-probe with a proper partitions subnode

This solution is more upstream compatible as it only requires specifying
of_match_table in the parser code and doesn't depend on linux,part-probe
which is solution made generic by a LEDE downstream patch that can't be
upstreamed.

Signed-off-by: Rafał Miłecki <[email protected]>
Rafał Miłecki 8 лет назад
Родитель
Сommit
05cb6aa69f

+ 0 - 11
target/linux/bcm53xx/patches-4.14/101-use-part-parser.patch

@@ -1,11 +0,0 @@
---- a/arch/arm/boot/dts/bcm5301x-nand-cs0.dtsi
-+++ b/arch/arm/boot/dts/bcm5301x-nand-cs0.dtsi
-@@ -13,6 +13,8 @@
- 			reg = <0>;
- 			#address-cells = <1>;
- 			#size-cells = <1>;
-+
-+			linux,part-probe = "ofpart", "bcm47xxpart";
- 		};
- 	};
- };

+ 0 - 0
target/linux/bcm53xx/patches-4.14/980-Revert-ARM-dts-BCM5301X-convert-to-iProc-QSPI.patch → target/linux/bcm53xx/patches-4.14/390-Revert-ARM-dts-BCM5301X-convert-to-iProc-QSPI.patch


+ 53 - 0
target/linux/bcm53xx/patches-4.14/410-Use-brcm-bcm947xx-cfe-partitions-binding-for-Broadco.patch

@@ -0,0 +1,53 @@
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <[email protected]>
+Subject: [PATCH] Use "brcm,bcm947xx-cfe-partitions" binding for Broadcom
+ partitions
+
+---
+
+--- a/arch/arm/boot/dts/bcm5301x-nand-cs0.dtsi
++++ b/arch/arm/boot/dts/bcm5301x-nand-cs0.dtsi
+@@ -13,6 +13,10 @@
+ 			reg = <0>;
+ 			#address-cells = <1>;
+ 			#size-cells = <1>;
++
++			partitions {
++				compatible = "brcm,bcm947xx-cfe-partitions";
++			};
+ 		};
+ 	};
+ };
+--- a/arch/arm/boot/dts/bcm5301x.dtsi
++++ b/arch/arm/boot/dts/bcm5301x.dtsi
+@@ -346,8 +346,11 @@
+ 				compatible = "jedec,spi-nor";
+ 				reg = <0>;
+ 				spi-max-frequency = <20000000>;
+-				linux,part-probe = "ofpart", "bcm47xxpart";
+ 				status = "disabled";
++
++				partitions {
++					compatible = "brcm,bcm947xx-cfe-partitions";
++				};
+ 			};
+ 		};
+ 
+--- a/drivers/mtd/bcm47xxpart.c
++++ b/drivers/mtd/bcm47xxpart.c
+@@ -300,9 +300,16 @@ static int bcm47xxpart_parse(struct mtd_
+ 	return curr_part;
+ };
+ 
++static const struct of_device_id bcm47xxpart_of_match_table[] = {
++	{ .compatible = "brcm,bcm947xx-cfe-partitions" },
++	{},
++};
++MODULE_DEVICE_TABLE(of, bcm47xxpart_of_match_table);
++
+ static struct mtd_part_parser bcm47xxpart_mtd_parser = {
+ 	.parse_fn = bcm47xxpart_parse,
+ 	.name = "bcm47xxpart",
++	.of_match_table = bcm47xxpart_of_match_table,
+ };
+ module_mtd_part_parser(bcm47xxpart_mtd_parser);
+ 

+ 0 - 11
target/linux/bcm53xx/patches-4.9/101-use-part-parser.patch

@@ -1,11 +0,0 @@
---- a/arch/arm/boot/dts/bcm5301x-nand-cs0.dtsi
-+++ b/arch/arm/boot/dts/bcm5301x-nand-cs0.dtsi
-@@ -13,6 +13,8 @@
- 			reg = <0>;
- 			#address-cells = <1>;
- 			#size-cells = <1>;
-+
-+			linux,part-probe = "ofpart", "bcm47xxpart";
- 		};
- 	};
- };

+ 53 - 0
target/linux/bcm53xx/patches-4.9/410-Use-brcm-bcm947xx-cfe-partitions-binding-for-Broadco.patch

@@ -0,0 +1,53 @@
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <[email protected]>
+Subject: [PATCH] Use "brcm,bcm947xx-cfe-partitions" binding for Broadcom
+ partitions
+
+---
+
+--- a/arch/arm/boot/dts/bcm5301x-nand-cs0.dtsi
++++ b/arch/arm/boot/dts/bcm5301x-nand-cs0.dtsi
+@@ -13,6 +13,10 @@
+ 			reg = <0>;
+ 			#address-cells = <1>;
+ 			#size-cells = <1>;
++
++			partitions {
++				compatible = "brcm,bcm947xx-cfe-partitions";
++			};
+ 		};
+ 	};
+ };
+--- a/arch/arm/boot/dts/bcm5301x.dtsi
++++ b/arch/arm/boot/dts/bcm5301x.dtsi
+@@ -346,8 +346,11 @@
+ 				compatible = "jedec,spi-nor";
+ 				reg = <0>;
+ 				spi-max-frequency = <20000000>;
+-				linux,part-probe = "ofpart", "bcm47xxpart";
+ 				status = "disabled";
++
++				partitions {
++					compatible = "brcm,bcm947xx-cfe-partitions";
++				};
+ 			};
+ 		};
+ 
+--- a/drivers/mtd/bcm47xxpart.c
++++ b/drivers/mtd/bcm47xxpart.c
+@@ -300,9 +300,16 @@ static int bcm47xxpart_parse(struct mtd_
+ 	return curr_part;
+ };
+ 
++static const struct of_device_id bcm47xxpart_of_match_table[] = {
++	{ .compatible = "brcm,bcm947xx-cfe-partitions" },
++	{},
++};
++MODULE_DEVICE_TABLE(of, bcm47xxpart_of_match_table);
++
+ static struct mtd_part_parser bcm47xxpart_mtd_parser = {
+ 	.parse_fn = bcm47xxpart_parse,
+ 	.name = "bcm47xxpart",
++	.of_match_table = bcm47xxpart_of_match_table,
+ };
+ module_mtd_part_parser(bcm47xxpart_mtd_parser);
+