Revert "of/platform: Pause/resume sync state during init and of_platform_populate()"
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 27 Aug 2019 19:40:42 +0000 (21:40 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 27 Aug 2019 19:40:42 +0000 (21:40 +0200)
This reverts commit 21871a99b34c65c56a24193c277a4981529c306f.

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 ae85a88..c1c4333 100644 (file)
@@ -480,7 +480,6 @@ int of_platform_populate(struct device_node *root,
        pr_debug("%s()\n", __func__);
        pr_debug(" starting at: %pOF\n", root);
 
-       device_links_supplier_sync_state_pause();
        for_each_child_of_node(root, child) {
                rc = of_platform_bus_create(child, matches, lookup, parent, true);
                if (rc) {
@@ -488,8 +487,6 @@ int of_platform_populate(struct device_node *root,
                        break;
                }
        }
-       device_links_supplier_sync_state_resume();
-
        of_node_set_flag(root, OF_POPULATED_BUS);
 
        of_node_put(root);
@@ -686,7 +683,6 @@ static int __init of_platform_default_populate_init(void)
                return -ENODEV;
 
        platform_bus_type.add_links = of_link_to_suppliers;
-       device_links_supplier_sync_state_pause();
        /*
         * Handle certain compatibles explicitly, since we don't want to create
         * platform_devices for every node in /reserved-memory with a
@@ -707,13 +703,6 @@ static int __init of_platform_default_populate_init(void)
        return 0;
 }
 arch_initcall_sync(of_platform_default_populate_init);
-
-static int __init of_platform_sync_state_init(void)
-{
-       device_links_supplier_sync_state_resume();
-       return 0;
-}
-late_initcall_sync(of_platform_sync_state_init);
 #endif
 
 int of_platform_device_destroy(struct device *dev, void *data)