On Sun, Aug 14, 2016 at 4:21 PM, Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> wrote: > 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@xxxxxxxxx> >> > --- >> > 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. ? Yeah, I'm not either really. I didn't propose using IS_ENABLED here either as it does add a needless initcall. Do you have any idea which platforms are not broken and could be switched over now. If not, I think we should just leave as is for 4.8 and make it per platform selectable for 4.9. Rob -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html