[RFC] device probe order

Alexander Aring alex.aring at gmail.com
Wed Dec 23 09:04:43 PST 2015


On Wed, Dec 23, 2015 at 07:56:44PM +0300, Peter Mamonov wrote:
> On Wed, 23 Dec 2015 17:35:51 +0100
> Alexander Aring <alex.aring at gmail.com> wrote:
> 
> > On Wed, Dec 23, 2015 at 07:10:58PM +0300, Peter Mamonov wrote:
> > > Dear All,
> > > 
> > > I've ported an UHCI driver from the u-boot to the barebox (WIP). To
> > > interoperate with the EHCI driver, the UHCI driver should be probed
> > > ater the EHCI driver. Both drivers are binded via the device tree
> > > mechanism. How can i achieve the correct probe order?
> > > 
> > 
> > Normally this should done by returning "-EPROBE_DEFER" inside the
> > probe function. There was some RFC last years for supporting
> > EPROBE_DEFER [0] and it seems these are mainline.
> > 
> > However you need some bool which indicates that the EHCI driver is
> > probed.
> 
> Thanks, Alex. As i understand, this is the linux-way solution.
> 
> Sasha, is it ok to add a global variable to indicate the EHCI presence?
> Or should we follow the way proposed by the mentioned RFCs, i.e.
> introduce dependencies between drivers?
> 

mhhh, maybe a simple "get_device_by_name" works here.

If returning NULL then return -EPROBE_DEFER. Don't know if this is a
good solution, name need to be unique then.


btw:
Just found that "of_find_device_by_node" returns -EPROBE_DEFER when
nothing was found. This was introduced by the patch series.

Maybe it helps to look how the current use-cases deals with
-EPROBE_DEFER or get_device_by_name is enough.

- Alex




More information about the barebox mailing list