|| ||David Woodhouse <dwmw2-AT-infradead.org>|
|| ||Theodore Tso <tytso-AT-mit.edu>|
|| ||RFC: Moving firmware blobs out of the kernel.|
|| ||Thu, 29 May 2008 19:15:00 +0300|
|| ||Benjamin Herrenschmidt <benh-AT-kernel.crashing.org>,
David Miller <davem-AT-davemloft.net>,
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
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.
to post comments)