Re: [GIT *] Allow request_firmware() to be satisfied from in-kernel, use it in more drivers.

Jeff Garzik
2008-07-15T21:24:46Z

Willy Tarreau wrote:
> On Tue, Jul 15, 2008 at 04:26:41PM -0400, Jeff Garzik wrote:
>> To be extremely concrete, firmware-in-module is
>>
>> * add Kconfig option (kernel-wide or per-driver, dunno) asking
>> "build firmware into drivers, as before?"
>>
>> * tweak build process to build firmware into foo.ko output,
>> probably in a specially marked ELF section
>>
>> * get request_firmware() to automatically notice that the
>> MODULE_FIRMWARE() was built into this driver, and to
>> look at the special ELF section for its data
>
> Jeff, just thinking, wouldn't it be slightly easier to move the firmware
> in a separate module on its own and just add a dependency, so that foo.ko
> automatically loads foo-fw.ko ? I know it will be slightly differente, but
> would not change in-site deployment workflows nor installed scripts.

Quite true. That's definitely an option, but I feel that building the
firmware into the driver module itself would be about the same level of
difficulty, but carry with it additional benefits:

Users and distros can be _certain_ their driver setup will not break due
to these changes, if you have Kconfig options available to reproduce
exactly what 2.6.26 produced [firmware compiled into the driver itself].

If Kconfig options are set such that the outputs are the same in 2.6.26
and 2.6.27 -- vmlinuz and kernel modules -- then that should close
windows of regression both real and theoretical, by producing _exactly_
the same outputs.

Jeff