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

Jeff Garzik
2008-07-15T03:05:50Z

Linus Torvalds wrote:
>
> On Mon, 14 Jul 2008, David Miller wrote:
>> Jeff's not against request_firmware() in an of itself.
>>
>> He's against the fact that it's not possible to build a
>> self-contained foo.ko module file any longer, and that
>> would definitely be possible with using request_firmware().
>
> .. but is it really that big of a deal?
>
> If it were about not being able to build a self-contained non-modular
> "vmlinux", I'd be upset too.
>
> But once you can load a module, you can load the firmware. You just have
> to _remember_ to move it along with the module.

And failure to "remember" to update associated build image scripts
silently and without complaint producing a non-working driver. For
drivers that, in many cases, have worked for 5 or 10 or more years
without needing additional files.

So it's not about remembering. You can't just wish new userland and
build processes upon the universe.

Heck, you yourself have in the past supported building current kernels
on older userlands -- this flies in the face of that.

> Besides, it's not even true that foo.ko modules are self-contained. We've
> for years and years (pretty much since day one) had nesting module models,
> where in order to load foo.ko you need to load baz.ko first. Yes, the
> firmware file is named differently, but it _is_ different.

It's not only named differently, it is in a markedly different directory
hierarchy that isn't automatically picked up alongside *.ko.

But fundamentally, why remove a capability that works, thereby depriving
system builders of the ability to _choose_ when, if ever, to prefer
/lib/firmware to built-in firmware?

Let's standardize on a request_firmware() sure, one that does not remove
that choice.

Jeff