Re: udev breakages - was: Re: Need of an ".async_probe()" type ofcallback at driver's core - Was: Re: [PATCH] [media] drxk: change it to userequest_firmware_nowait()

From: Shea Levy
Date: Thu Oct 11 2012 - 14:33:50 EST


On 10/02/2012 06:37 PM, Linus Torvalds wrote:
On Tue, Oct 2, 2012 at 2:03 PM, Ivan Kalvachev <ikalvachev@xxxxxxxxx> wrote:
I'm not kernel developer and probably my opinion would be a little
naive, but here it is.

Please, make the kernel load firmware from the filesystem on its own.
We probably should do that, not just for firmware, but for modules
too. It would also simplify the whole "built-in firmware" thing

Afaik, the only thing udev really does is to lok in
/lib/firmware/updates and /lib/firmware for the file, load it, and
pass it back to the kernel. We could make the kernel try to do it
manually first, and only fall back to udev if that fails.

Afaik, nobody ever does anything else anyway.


FWIW (and probably that's not much), the NixOS[0] distro doesn't currently use /lib/firmware. There is no /lib directory by default on NixOS, instead we create a new symlink tree representing the current system on each system change and symlink /run/current-system to that tree. We currently build udev/systemd with the --with-firmware-path=/run/current-system/firmware configuration-time option, but we also patch module-init-tools and kmod to respect the $MODULE_DIR env var and may do the same for firmware in the future. The way we do things has significant advantages (or at least we like to think so), but we already have exceptions for /bin/sh and /usr/bin/env, so I suspect we'll probably add in /lib/firmware if this functionality moves into the kernel.

[0]: https://nixos.org/

Cheers,
Shea Levy
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/