what determines how firmware is loaded? (Q. on request_firmware details)

From: George Nychis
Date: Mon Apr 23 2012 - 16:18:53 EST


Hi all,

I notice in an older version of Ubuntu that when I plugin a USB
wireless device its firmware is loaded via sysfs. For example, this
would pop up in sysfs:
/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-1/compat_firmware/2-1/loading

In newer versions, I'm now seeing that the firmware seems to be loaded
directly via a Kernel thread that is spawned. It checks for the
firmware in some firmware directory (e.g., /lib/firmware) and loads it
to the device.

I see in documentation that one method is referred to as asynchronous.
Is this the former or latter?

Has the former method of loading firmware been removed as the default?
Is there any way to request that the firmware load be done manually
(the former method)?

It seems as though instead of calling request_firmware(), I could call
_request_firmware() with "uevent" set to 0? This would force for
former behavior?

Does "nowait" also have to be 0? I don't quite understand the
separation between uevent and nowait.

Thanks!
George
--
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/