How does linux load firmeware for built-in driver modules

I read through the kernel sources, especially drivers/base/firmware_class.c, and discovered that


would activate the udev firmware loading variant (obviously only usable for loadable modules when udev is running). But as mentioned on LKML this seems to be an obsolete method.

Furthermore firmware required by built-in modules is loaded from initramfs by fw_get_filesystem_firmware() through a kernel_read(), to be precise.