Messages in this thread | | | From | Marcel Holtmann <> | Subject | Re: [PATCH 2/3] firmware: Add CONFIG_BUILTIN_FIRMWARE option | Date | Sun, 25 May 2008 20:28:13 +0200 |
| |
Hi Michael,
>> So you actually do know how request_firmware() actually works right >> now? You need to change the firmware_class implementation and API to >> give it an extra parameter to allow any kind if simultaneous loading >> within one driver. Having the FIRMWARE as environment variable is >> actually suboptimal. You want to have the FIRMWARE environment >> variable as bus_id for the firmware struct device object. > > Can you explain _why_ we want to have this as bus_id? > I don't really understand that.
we want to avoid duplicate sysfs entries. And with multi-function devices like in SDIO this can happen that the actual sysfs device entry becomes the same and then the struct device creation for the second firmware loading fails (if the first one hasn't finished). Putting the actually firmware filename as bus_id allows us to distinguish between the different firmware loading tasks.
With the remove of class devices and the more complex multi-function devices we have to make the firmware loading fully race free. If not we end up with sleep(1) hacks around everything and we don't want that.
Regards
Marcel
| |