of/platform: Don't create device links for default busses
authorSaravana Kannan <saravanak@google.com>
Wed, 31 Jul 2019 22:17:20 +0000 (15:17 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 1 Aug 2019 14:04:14 +0000 (16:04 +0200)
Default busses also have devices created for them. But there's no point
in creating device links for them. It's especially wasteful as it'll
cause the traversal of the entire device tree and also spend a lot of
time checking and figuring out that creating those links isn't allowed.
So check for default busses and skip trying to create device links for
them.

Signed-off-by: Saravana Kannan <saravanak@google.com>
Link: https://lore.kernel.org/r/20190731221721.187713-8-saravanak@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/of/platform.c

index 52590fb..2183822 100644 (file)
@@ -677,6 +677,8 @@ static int of_link_to_suppliers(struct device *dev)
                return 0;
        if (unlikely(!dev->of_node))
                return 0;
+       if (of_match_node(of_default_bus_match_table, dev->of_node))
+               return 0;
 
        return __of_link_to_suppliers(dev, dev->of_node);
 }