Messages in this thread | | | Subject | RFC: Moving firmware blobs out of the kernel. | From | David Woodhouse <> | Date | Thu, 29 May 2008 19:15:00 +0300 |
| |
On Thu, 2008-05-29 at 08:45 -0400, Theodore Tso wrote: > there is always the chance the topic will resolve itself via e-mail.
I'm kind of hoping that this is going to be one of those topics that resolves itself -- but just in case it isn't, I'd like to discuss it at the kernel summit:
I'd like to remove all firmware blobs from the kernel source tree.
With the intention of making that less contentious, I've done the following:
I've added support to the firmware loader for finding firmware in a special section of the static kernel, so that using request_firmware() no longer forces you to use an initrd or udev. You can build _arbitrary_ firmware files into your kernel, if you want to. Whether you're allowed to distribute the resulting vmlinux or not is still a question you ought to ask your lawyer.
I'm working on converting drivers over to use request_firmware(), and shifting their firmware blobs into .ihex files in a firmware/ directory of the source tree. For each one, I'm giving the option of continuing to build it in statically, using the above mechanism.
I've implemented a 'make firmware_install' Kbuild target, which takes all those firmware blobs and installs them somewhere where udev can load them on request.
By the time the kernel summit comes around, we should have made decent progress on moving _all_ the firmware blobs to the firmware/ directory. And at that point I'd like to remove them completely, to a separate git tree and tarball. Those who really want to build them in to their static kernel would still be able to, but it wouldn't be the default behaviour.
-- dwmw2
| |