On Fri, 2009-05-22 at 10:02 +0200, Johannes Berg wrote: > Hi, > > I noticed yesterday that you updated the page at > http://wireless.kernel.org/en/users/Drivers/libertas to say the > following two things about firmware: I'm the main source of the firmware naming scheme in linux-firmware. There is one major reason for this; the drivers support multiple firmware versions, and for various reasons we'd like to keep multiple firmware versions around and available. When I added all the libertas firmware to linux-firmware, I was not quite sure how to handle this case. > > USB > * The Linux firmware tree contains libertas/usb8388_v5.bin and > libertas/usb8388_v9.bin. The firmware image must be placed > in /lib/firmware/usb8688.bin. The firmware image can also be > downloaded from OLPC's libertas firmware page. > > GSPI > * The GSPI firmware is available in the Linux firmware tree. Copy > libertas/gspi8686_v9_helper.bin > to /lib/firmware/libertas/gspi8686_hlp.bin and > libertas/gspi8686_v9.bin > to /lib/firmware/libertas/gspi8686.bin. > > > This runs counter to the entire idea of the linux-firmware tree that the > tree is a drop-in for /lib/firmware/ (or wherever you need it on your > distribution) -- the tree should always contain the exact filenames as > required by the kernel drivers. Maybe this needs to be clarified more. > Additionally, if there's a need for different versions of a firmware, > then the driver should detect which one is required for the device, if > it's for different features it should select a good default and possibly > give the option to override it. > > In this case, I suspect two things are needed: > 1) rename the GSPI firmware files in the linux-firmware tree to match > what the driver loads, and document outside the filename what > version they are; The problem with that is that then we can't have different firmware versions in linux-firmware really. > 2) in the USB case change the driver to load libertas/usb8688.bin > instead of just usb8688.bin and move one of the versions to that > filename in the linux-firmware tree. Yes, this should be done. I was unsure what the policy of breaking firmware filenames is, however. > The current situation is very stupid -- users can find the firmware in a > proper repository but it doesn't work out of the box! Nope, though these cards aren't usually found by "normal" users anyway. However, I'd like to preserve the the distribution of different firmware versions in linux-firmware, so maybe we should simply point the drivers at specific versions and use module parameters to change the firmware version? modprobe libertas_sdio fwver=8 would select libertas/86xx_v8_helper.bin for example, but by default we use v9 or something like that. Would that be acceptable? Dan -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html