Re: tristate and bool not enogh for Kconfig anymore

From: Alexander E. Patrakov
Date: Mon Oct 22 2007 - 07:28:11 EST


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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/