From patchwork Fri Jan 23 16:18:05 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [v2] Check name property to determine partition nodes. Date: Fri, 23 Jan 2009 06:18:05 -0000 From: Benjamin Krill X-Patchwork-Id: 20088 Message-Id: <20090123161805.GA2598@codiert.org> To: linux-mtd@lists.infradead.org, dwg@au1.ibm.com, linuxppc-dev@ozlabs.org, vwool@ru.mvista.com SLOF has a further node which could not be evaluate 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 an partition the number of total partitions will be decreased and loop continue with the next nodes. Signed-off-by: Benjamin Krill --- 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);