Re: [PATCH 2/3] firmware: Add CONFIG_BUILTIN_FIRMWARE option

From: Marcel Holtmann
Date: Sun May 25 2008 - 14:28:41 EST


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

--
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/