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
--
fedora-devel-list mailing list
fedora-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-devel-list