diff options
author | Kevin Hao <haokexin@gmail.com> | 2016-08-12 13:49:34 +0800 |
---|---|---|
committer | Rob Herring <robh@kernel.org> | 2016-08-12 14:27:29 -0500 |
commit | fc520f8b4fa35ceb36f0ad031c1a297968788236 (patch) | |
tree | f32b3bcc74e06c4e2b76733d3966319215932529 /drivers/of/platform.c | |
parent | 255c0397bc402e3fcc8833c214f49b2108f04d1a (diff) | |
download | talos-op-linux-fc520f8b4fa35ceb36f0ad031c1a297968788236.tar.gz talos-op-linux-fc520f8b4fa35ceb36f0ad031c1a297968788236.zip |
of/platform: disable the of_platform_default_populate_init() for all the ppc boards
With the commit 44a7185c2ae6 ("of/platform: Add common method to
populate default bus"), a default function is introduced to populate
the default bus and this function is invoked at the arch_initcall_sync
level. But a lot of ppc boards use machine_device_initcall() to
populate the default bus. This means that the default populate function
has higher priority and would override the arch specific population of
the bus. The side effect is that some arch specific bus are not probed,
then cause various malfunction due to the miss of some devices. Since
it is very possible to introduce bugs if we simply change the initcall
level for all these boards(about 30+). This just disable this default
function for all the ppc boards.
Signed-off-by: Kevin Hao <haokexin@gmail.com>
Signed-off-by: Rob Herring <robh@kernel.org>
Diffstat (limited to 'drivers/of/platform.c')
-rw-r--r-- | drivers/of/platform.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/of/platform.c b/drivers/of/platform.c index 8aa197691074..f39ccd5aa701 100644 --- a/drivers/of/platform.c +++ b/drivers/of/platform.c @@ -497,6 +497,7 @@ int of_platform_default_populate(struct device_node *root, } EXPORT_SYMBOL_GPL(of_platform_default_populate); +#ifndef CONFIG_PPC static int __init of_platform_default_populate_init(void) { struct device_node *node; @@ -521,6 +522,7 @@ static int __init of_platform_default_populate_init(void) return 0; } arch_initcall_sync(of_platform_default_populate_init); +#endif static int of_platform_device_destroy(struct device *dev, void *data) { |