Subject: Re: issues calling of_platform_bus_probe() twice

From: Grant Likely <[email-masked]>
Date: Sun, 18 Mar 2012 18:22:07 +0000

On Sun, 18 Mar 2012 16:14:23 +0000, Tabi Timur-B04825 <[email-masked]> wrote:
> Grant Likely wrote:
> > That's because you're using it wrong.  of_platform_bus_probe() creates
> > platform devices at the starting level and every level below it as
> > described by the bus ids.  It is illegal to call of_platform_bus_probe()
> > twice at the same level in the DT.
> 
> Well, *I* am not using it wrong.  Notice that my patch fixes (or works 
> around) the commit that *did* do it wrong:
> 
> http://patchwork.ozlabs.org/patch/126289/

Fair enough; I just wanted to point out that there it can only dig as
deep into the tree as is specified by the bus ids.  The exact problem
wasn't calling the function twice, but rather trying to call the
function twice from the same level of the tree.

BTW, I also recommend moving to of_platform_populate() for new code.
I think the behaviour is more consistent for fdt platforms and it
is more convenient for devices that are children of the root.

g.