The binding states that a subnode containing partition subnodes
should have the name "partitions". Enforce this so that we do not
parse nodes with other names which may have partition descriptions
for other disks.

Signed-off-by: Sascha Hauer <s.ha...@pengutronix.de>
---
 drivers/of/partition.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/of/partition.c b/drivers/of/partition.c
index bdf594562..8c2aef232 100644
--- a/drivers/of/partition.c
+++ b/drivers/of/partition.c
@@ -74,16 +74,16 @@ struct cdev *of_parse_partition(struct cdev *cdev, struct 
device_node *node)
 
 int of_parse_partitions(struct cdev *cdev, struct device_node *node)
 {
-       struct device_node *n;
+       struct device_node *n, *subnode;
 
        if (!node)
                return -EINVAL;
 
-       for_each_child_of_node(node, n) {
-               if (of_device_is_compatible(n, "fixed-partitions")) {
-                       node = n;
-                       break;
-               }
+       subnode = of_get_child_by_name(node, "partitions");
+       if (subnode) {
+               if (!of_device_is_compatible(subnode, "fixed-partitions"))
+                       return -EINVAL;
+               node = subnode;
        }
 
        for_each_child_of_node(node, n) {
-- 
2.11.0


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

Reply via email to