[PATCH] powerpc: populate the default bus with machine_arch_initcall
Michael Ellerman
mpe at ellerman.id.au
Fri Aug 12 14:39:32 AEST 2016
Kevin Hao <haokexin at gmail.com> writes:
> 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.
>
> Only boot test on a mpc8315erdb board.
>
> arch/powerpc/platforms/40x/ep405.c | 2 +-
> arch/powerpc/platforms/40x/ppc40x_simple.c | 2 +-
> arch/powerpc/platforms/40x/virtex.c | 2 +-
> arch/powerpc/platforms/40x/walnut.c | 2 +-
> arch/powerpc/platforms/44x/canyonlands.c | 2 +-
> arch/powerpc/platforms/44x/ebony.c | 2 +-
> arch/powerpc/platforms/44x/iss4xx.c | 2 +-
> arch/powerpc/platforms/44x/ppc44x_simple.c | 2 +-
> arch/powerpc/platforms/44x/ppc476.c | 2 +-
> arch/powerpc/platforms/44x/sam440ep.c | 2 +-
> arch/powerpc/platforms/44x/virtex.c | 2 +-
> arch/powerpc/platforms/44x/warp.c | 2 +-
> arch/powerpc/platforms/82xx/ep8248e.c | 2 +-
> arch/powerpc/platforms/82xx/km82xx.c | 2 +-
> arch/powerpc/platforms/82xx/mpc8272_ads.c | 2 +-
> arch/powerpc/platforms/82xx/pq2fads.c | 2 +-
> arch/powerpc/platforms/83xx/mpc831x_rdb.c | 2 +-
> arch/powerpc/platforms/83xx/mpc834x_itx.c | 2 +-
> arch/powerpc/platforms/85xx/ppa8548.c | 2 +-
> arch/powerpc/platforms/8xx/adder875.c | 2 +-
> arch/powerpc/platforms/8xx/ep88xc.c | 2 +-
> arch/powerpc/platforms/8xx/mpc86xads_setup.c | 2 +-
> arch/powerpc/platforms/8xx/mpc885ads_setup.c | 2 +-
> arch/powerpc/platforms/8xx/tqm8xx_setup.c | 2 +-
> arch/powerpc/platforms/cell/setup.c | 2 +-
> arch/powerpc/platforms/embedded6xx/gamecube.c | 2 +-
> arch/powerpc/platforms/embedded6xx/linkstation.c | 2 +-
> arch/powerpc/platforms/embedded6xx/mvme5100.c | 2 +-
> arch/powerpc/platforms/embedded6xx/storcenter.c | 2 +-
> arch/powerpc/platforms/embedded6xx/wii.c | 2 +-
> arch/powerpc/platforms/pasemi/setup.c | 2 +-
That's not a very minimal fix.
Every one of those initcall changes could be introducing a bug, by
changing the order vs other init calls.
Can we just go back to the old behaviour on ppc?
cheers
More information about the Linuxppc-dev
mailing list