[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