of: platform: Batch fwnode parsing when adding all top level devices
authorSaravana Kannan <saravanak@google.com>
Fri, 15 May 2020 05:35:00 +0000 (22:35 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 15 May 2020 14:34:52 +0000 (16:34 +0200)
The fw_devlink_pause() and fw_devlink_resume() APIs allow batching the
parsing of the device tree nodes when a lot of devices are added. This
will significantly cut down parsing time (as much a 1 second on some
systems). So, use them when adding devices for all the top level device
tree nodes in a system.

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

index 3371e4a..55d7193 100644 (file)
@@ -538,7 +538,9 @@ static int __init of_platform_default_populate_init(void)
        }
 
        /* Populate everything else. */
+       fw_devlink_pause();
        of_platform_default_populate(NULL, NULL, NULL);
+       fw_devlink_resume();
 
        return 0;
 }