Messages in this thread | | | Date | Mon, 22 Oct 2007 17:27:51 +0600 | From | "Alexander E. Patrakov" <> | Subject | Re: tristate and bool not enogh for Kconfig anymore |
| |
Christoph Hellwig wrote: > On Mon, Oct 22, 2007 at 04:32:19PM +0600, Alexander E. Patrakov wrote: > >>> That's wrong. You can load firmware from the initramfs even if the >>> driver is built in. There is no valid reason why a driver shouldn't >>> be allowed to be built in. >>> >> Could you please explain how this is supposed to work? >> >> As far as I understand, the kernel initializes all built-in drivers, and >> only then starts /init in initramfs (which is then supposed to start >> udevd and load firmware) - but that's too late. >> > > populate_rootfs is a rootfs_initcall which happens before all the driver > initcalls. >
Correct, but irrelevant. The firmware indeed gets unpacked to rootfs before all driver initcalls, but stays as a dead weight during them, because udev (started by /init, which happens in init_post() called by kernel_init() after all initcalls) is needed to load this firmware.
Yes, there is a call to usermodehelper_init() before the initcalls in do_basic_setup(), this does mean that firmware can be loaded by means of the old and obsolete /sbin/hotplug mechanism, but who has /sbin/hotplug now?
-- Alexander E. Patrakov - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |