[MTD] ofpart: Partitions at same address cannot have the same name
Ricardo Ribalda Delgado
ricardo.ribalda at uam.es
Wed Apr 22 18:05:41 EST 2009
Sometimes, an special partition is included in the device tree including all the
partitions. Like in:
partition at ff000000 {
reg = < 0x000000 0x800000 >;
label = "Root File System";
};
partition at ff800000 {
reg = < 0x800000 0x1a0000 >;
label = "Bitstream";
};
...
partitionAll at ff000000 {
reg = < 0x000000 0x1000000 >;
label = "Full FLASH";
};
Because two nodes of a device tree cannot have the same name, but all the
partitions must be named "partition", this special partition is invalid.
This patch makes ofpart.c only check for the firt part of the name, and
ignore the rest, allowing this special partition.
---
The extra partition is quite useful while formating the full firmware from linux
drivers/mtd/ofpart.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/drivers/mtd/ofpart.c b/drivers/mtd/ofpart.c
index 3e164f0..0af3b07 100644
--- a/drivers/mtd/ofpart.c
+++ b/drivers/mtd/ofpart.c
@@ -48,7 +48,8 @@ int __devinit of_mtd_parse_partitions(struct device *dev,
/* check if this is a partition node */
partname = of_get_property(pp, "name", &len);
- if (strcmp(partname, "partition") != 0) {
+ if (strncmp(partname, "partition", strlen("partition")-1)
+ != 0) {
nr_parts--;
continue;
}
--
1.6.2.4
More information about the Linuxppc-dev
mailing list