[PATCH] powerpc: populate the default bus with machine_arch_initcall

Benjamin Herrenschmidt benh at kernel.crashing.org
Mon Aug 15 07:21:10 AEST 2016


On Fri, 2016-08-12 at 14:30 -0500, Rob Herring 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. 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 at gmail.com>
> > ---
> >  drivers/of/platform.c | 2 ++
> >  1 file changed, 2 insertions(+)
> 
> I've applied this one.

Not fan of the hard #ifdef at all... it will make it hard to convert
platforms one by one. Why not an arch_want_default_of_probe() or
something like this which we can then plumb into ppc_md. ?

Cheers,
Ben.



More information about the Linuxppc-dev mailing list