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

From: Marcel Holtmann
Date: Sun May 25 2008 - 14:13:05 EST


Hi Johannes,

Look at the device nodes. The kernel has mouse0 for example and udev
will translate this into /dev/input/mouse0. Nobody expects the kernel
to use input/mouse0 and actually you even can't do that at all since
the device model forbids "/" as bus id. Same applies for the firmware
filenames.

No, it doesn't.

please enlighten me how you can use "/" within bus ids.

Also at some point we might change the actual implementation of
request_firmware() to allow running multiple request_firmware() at the
same time to improve the init time of devices (if that makes sense).
In that case the filename would become a kobject and then the
directory separator would become illegal.

There's no need to think of it that way. Look at a uevent now:

UEVENT[1211722721.323011] add /devices/pci0001:10/0001:10:12.0/ ssb0:0/firmware/ssb0:0 (firmware)
ACTION=add
DEVPATH=/devices/pci0001:10/0001:10:12.0/ssb0:0/firmware/ssb0:0
SUBSYSTEM=firmware
FIRMWARE=b43/b0g0bsinitvals5.fw
TIMEOUT=60
SEQNUM=1376


The "firmware key" is contained in the FIRMWARE environment variable. If
you want to allow loading multiple firmwares at the same time, you
wouldn't have to make the key part of the device name, you would only
have to add a unique ID to the firmware device name, say

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.

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/