Plan for tomorrows (20080522) FESCO meeting

Peter Jones pjones at redhat.com
Tue May 27 19:01:28 UTC 2008


David Woodhouse wrote:

> What I'd do is augment the kernel's firmware class support so that users
> can build firmware blobs into their kernel to be accessed through the
> firmware class. So the ifdefs in the above code go away -- the user can
> just choose to include the blobs in the kernel build or not, as they see
> fit, and the driver just invokes the firmware loader and doesn't
> actually _care_ whether the firmware comes from within the kernel or
> from userspace.

(Having not read the follow-ups on the list yet...)

This is the right track, but if anybody goes down this route, please, 
please organize it this way:

1) make the firwmare class support caching of firmware images (which 
also means supporting manual expiry of them at runtime...)
2) give the firmware class an interface to "push" an image which has not 
been requested.  That is, preloading the cache.
3) make an initcall that runs before almost all of drivers/ which loads 
all built-in firmware images.

This solves the "built-in modules using request_firmware don't work" 
problem, but still allows us to e.g. update built-in firmware images at 
runtime to support debugging builds, new features, blatantly violating 
the "can not modify" license sections in the comfort of our own homes, etc.

-- 
   Peter




More information about the devel mailing list