Regarding non-free firmware in the kernel....
Fransicso wrote:
>Could you point to a list of firmwares which need attention?
This list is certainly not complete, but here it is. (No warranty; I may have
made errors. Blanket permission to copy, redistribute, and/or modify is
hereby granted.) If someone made a Wiki or something to keep track of known
problems and who was working on them, that would be clearly beneficial. :-)
I've noted (with an 'easy') some of the drivers which appear (though I'm not
sure) to load their firmware in process context with interrupts enabled and
without holding spinlocks; these are the ones which should be easy to
convert. :-)
Firmware without proper permission to distribute (dammit):
sound/oss/724hwmcode.h (unused, already removed by Herbert; bug #242500)
sound/oss/Hwmcode.h (unused, already removed by Herbert; bug #242500)
drivers/usb/misc/emi26_fw.h (used by drivers/usb/misc/emi26.c, bug #242895)
sound/oss/ymfpci_image.h (used by sound/oss/ymfpci.c, bug #243022)
sound/pci/ymfpci/ymfpci_image.h (used by sound/pci/ymfpci.c, bug #243022)
drivers/char/drm/r128_cce.c (already patched by me to use userland loading,
bug 242866)
drivers/char/drm/radeon_cp.c (already patched by me to use userland loading,
bug 242866)
drivers/net/acenic_firmware.h (bug 242866)
Non-free firmware with clear permission to distribute:
drivers/net/tg3.c (I've mostly dealt with this, but I haven't quite got the
userland firmware loading working right)
drivers/char/drm/mga_ucode.h (bug 242866; easy)
drivers/net/appletalk/cops_ffdrv.h (bug 242866; used in cops.c; easy)
drivers/net/appletalk/cops_ltdrv.h (used in cops.c; easy)
drivers/net/tokenring/3c359_microcode.h (used in 3c359.c; not necessary for
all cards; easy; bug 242866)
drivers/net/pcmcia/ositech.h (used in smc91c92_cs.c; not necessary for all
cards; easy; bug 242866)
drivers/net/typhoon_firmware.c (used in typhoon.c; easy?)
I'm quite sure there's more, but this is more than enough to start on, eh?
We should probably discuss firmware file naming conventions; I think the last
discussion concluded that the best choice was "(module)/(file)-version" (many
drivers will have multiple firmware files, and the firmware file version will
likely be closely linked with the driver version). The name has to be <=
FIRMWARE_NAME_MAX chars, which is currently 30.
Reply to: