[PATCH] powerpc: populate the default bus with machine_arch_initcall

Rob Herring robh at kernel.org
Thu Aug 11 23:17:52 AEST 2016

On Thu, Aug 11, 2016 at 6:09 AM, Kevin Hao <haokexin at gmail.com> wrote:
> 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. This will override the arch specific population of default bus
> which run at a lower level than arch_initcall_sync. Since not all
> powerpc specific buses are added to the of_default_bus_match_table[],
> this causes some powerpc specific bus are not probed. Fix this by
> using a more preceding initcall.
> Signed-off-by: Kevin Hao <haokexin at gmail.com>
> ---
> Of course we can adjust the powerpc arch codes to use the
> of_platform_default_populate_init(), but it has high risk to break
> other boards given the complicated powerpc specific buses. So I would
> like just to fix the broken boards in the current release, and cook
> a patch to change to of_platform_default_populate_init() for linux-next.

The patch that broke things was sitting in -next for some time and no
one reported anything. Are all these boards broken?

I'm fine to just disable the default call for PPC instead if there's
some chance this does not fix some boards. There could be some other
initcall ordering dependencies.

> Only boot test on a mpc8315erdb board.

Curious, what would it take to remove the of_platform_bus_probe and
use the default here? We can add additional bus compatibles to match.
The difference between of_platform_bus_probe and
of_platform_bus_populate is the former will match root nodes with no
compatible string. Most platforms should not need that behavior and it
would be nice to know which ones.


More information about the Linuxppc-dev mailing list