[MTD] ofpart: Check name property to determine partition nodes.
Linux-MTD Mailing List
linux-mtd at lists.infradead.org
Tue Mar 24 10:59:01 EDT 2009
Gitweb: http://git.infradead.org/?p=mtd-2.6.git;a=commit;h=4b08e149c0e02e97ec49c2a31d14a0d3a02f8074
Commit: 4b08e149c0e02e97ec49c2a31d14a0d3a02f8074
Parent: c0e6616ae69774f42fda7a8cc5dc699aff311b40
Author: Benjamin Krill <ben at codiert.org>
AuthorDate: Fri Jan 23 17:18:05 2009 +0100
Committer: David Woodhouse <David.Woodhouse at intel.com>
CommitDate: Tue Mar 24 14:04:20 2009 +0000
[MTD] ofpart: Check name property to determine partition nodes.
SLOF has a further node which could not be evaluated
by the current routine. The current routine returns
because the node hasn't the required reg property. As
fix this patch adds a check to determine the partition
child nodes. If the node is not a partition the number
of total partitions will be decreased and loop continues
with the next nodes.
Signed-off-by: Benjamin Krill <ben at codiert.org>
Signed-off-by: David Woodhouse <David.Woodhouse at intel.com>
---
drivers/mtd/ofpart.c | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/drivers/mtd/ofpart.c b/drivers/mtd/ofpart.c
index 9e45b3f..3e164f0 100644
--- a/drivers/mtd/ofpart.c
+++ b/drivers/mtd/ofpart.c
@@ -46,6 +46,13 @@ int __devinit of_mtd_parse_partitions(struct device *dev,
const u32 *reg;
int len;
+ /* check if this is a partition node */
+ partname = of_get_property(pp, "name", &len);
+ if (strcmp(partname, "partition") != 0) {
+ nr_parts--;
+ continue;
+ }
+
reg = of_get_property(pp, "reg", &len);
if (!reg || (len != 2 * sizeof(u32))) {
of_node_put(pp);
More information about the linux-mtd-cvs
mailing list