f5195e72c0
This is important fix for flash parsing in some corner cases. In case of TRX subpartition with rootfs being aligned to the flash block size it was incorrectly registered twice. Detecting & registering it as a standalone partition was resulting in an incorrect "firmware" partition size and possibly broken sysupgrade. It wasn't noticed before because "rootfs" alignment depends on a kernel size. It can happen though - depending on the configuration and the kernel size. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
53 lines
1.3 KiB
Diff
53 lines
1.3 KiB
Diff
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
|
|
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
|
|
@@ -314,9 +314,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);
|
|
|