OSDN Git Service

Revert "of/platform: Create device links for all child-supplier depencencies"
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 27 Aug 2019 19:40:35 +0000 (21:40 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 27 Aug 2019 19:40:35 +0000 (21:40 +0200)
This reverts commit 709fb8297358f08a125b770d1518a95d03b541db.

Based on a lot of email and in-person discussions, this patch series is
being reworked to address a number of issues that were pointed out that
needed to be taken care of before it should be merged.  It will be
resubmitted with those changes hopefully soon.

Cc: Frank Rowand <frowand.list@gmail.com>
Cc: Saravana Kannan <saravanak@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/of/platform.c

index 52590fb..ae85a88 100644 (file)
@@ -650,35 +650,24 @@ static bool of_link_property(struct device *dev, struct device_node *con_np,
        return done ? 0 : -ENODEV;
 }
 
-static int __of_link_to_suppliers(struct device *dev,
-                                 struct device_node *con_np)
-{
-       struct device_node *child;
-       struct property *p;
-       bool done = true;
-
-       for_each_property_of_node(con_np, p)
-               if (of_link_property(dev, con_np, p->name))
-                       done = false;
-
-       for_each_child_of_node(con_np, child)
-               if (__of_link_to_suppliers(dev, child))
-                       done = false;
-
-       return done ? 0 : -ENODEV;
-}
-
 static bool of_devlink;
 core_param(of_devlink, of_devlink, bool, 0);
 
 static int of_link_to_suppliers(struct device *dev)
 {
+       struct property *p;
+       bool done = true;
+
        if (!of_devlink)
                return 0;
        if (unlikely(!dev->of_node))
                return 0;
 
-       return __of_link_to_suppliers(dev, dev->of_node);
+       for_each_property_of_node(dev->of_node, p)
+               if (of_link_property(dev, dev->of_node, p->name))
+                       done = false;
+
+       return done ? 0 : -ENODEV;
 }
 
 #ifndef CONFIG_PPC