Can request_firmware be called from a platform_driver ?

Subramaniam Appadodharana c.a.subramaniam at gmail.com
Wed Apr 18 15:21:46 EDT 2012


On Wed, Apr 18, 2012 at 2:15 PM, Dave Hylands <dhylands at gmail.com> wrote:

> Hi Mike,
>
> On Wed, Apr 18, 2012 at 11:07 AM, Holmes, Michael A (Mike)
> <Mike.Holmes at lsi.com> wrote:
> > Hi
> >
> > I have a fully working system to which I want to add the request firmware
> > mechanism to an existing platform driver I have working.
> >
> > I instrumented mdev in busybox 1.5.1 and in firmware_class.c 2.6.35 so
> that
> > I could figure this out.
> >
> > What I see with firmware_request() is that the kernel makes the firmware
> > request and does not find any firmware and mdev sees nothing.
> >
> > However if I change my code to do request_firmare_nowait(), the entire
> > system comes up and about 30seconds in the timeout calls my kernel side
> > continue for request_firmare_nowait() and I DO now see my request
> handled by
> > mdev, however it is a REMOVE request not the ADD request.
> >
> > All this makes me think that platform drivers exist before the hotplug
> > mechanism is able to operate, is this true ?
>
> Well, request_firmware is ultimately serviced by a user-space process.
>
> So platform drivers compiled statically into the kernel get
> initialized long before user-space starts.
>
> Platform drivers compiled as modules will get the firmware loaded much
> more quickly after loading the module.
>
> Yes this makes sense... I have seen that too ... but is there an elegant
way to wait for maybe a uevent and honor the
request_firmware_no_wait() call within the platform driver code?


> --
> Dave Hylands
> Shuswap, BC, Canada
> http://www.davehylands.com
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>

BR
Subbu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20120418/7d27493e/attachment.html 


More information about the Kernelnewbies mailing list