Skip to content

firmware: moving drivers to request_firmware()

David Woodhouse lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest15 of 18 patches 18 repliesIn review

15 of 18 patches are in this archive. The cover letter announces 18.

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/18firmware: allow firmware files to be built into kernel imagedrivers/base/firmware_class.c include/asm-generic/vmlinux.lds.h include/linux/firmware.h+59 -20 replies
2/18firmware: Add CONFIG_BUILTIN_FIRMWARE optionMakefile drivers/base/Kconfig firmware/Makefile+122 -10 replies
3/18firmware: Add 'firmware_install' make targetMakefile scripts/Makefile.fwinst+35 -00 replies
4/18firmware: convert korg1212 driver to use firmware loader exclusivelyfirmware/Makefile firmware/WHENCE firmware/korg/k1212.dsp.ihex +3 more+1009 -10070 replies
5/18firmware: convert maestro3 driver to use firmware loader exclusivelyfirmware/Makefile firmware/WHENCE firmware/ess/maestro3_assp_kernel.fw.ihex +3 more+189 -1730 replies
6/18firmware: convert ymfpci driver to use firmware loader exclusivelyfirmware/Makefile firmware/WHENCE firmware/yamaha/ds1_ctrl.fw.ihex +5 more+1564 -16300 replies
7/18smctr: use request_firmware()drivers/net/tokenring/Kconfig drivers/net/tokenring/smctr.c drivers/net/tokenring/smctr.h +4 more+535 -10010 replies
8/18kaweth: use request_firmware()drivers/net/usb/Kconfig drivers/net/usb/kaweth.c drivers/net/usb/kawethfw.h +6 more+313 -5740 replies
9/18ttusb-budget: use request_firmware()drivers/media/dvb/ttusb-budget/Kconfig drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c drivers/media/dvb/ttusb-budget/dvb-ttusb-dspbootcode.h +3 more+852 -16480 replies
10/18ihex.h: binary representation of ihex recordsinclude/linux/ihex.h+44 -02 replies
11/18ihex: request_ihex_firmware() function to load and validate firmwareinclude/linux/ihex.h+24 -00 replies
12/18ihex: add ihex2fw tool for converting HEX files into firmware imagesfirmware/Makefile firmware/ihex2fw.c scripts/Makefile.fwinst+258 -10 replies
14/18keyspan_pda: use request_firmware()drivers/usb/serial/Kconfig drivers/usb/serial/keyspan_pda.S drivers/usb/serial/keyspan_pda.c +9 more+2543 -25450 replies
17/18ti_usb_3410_5052: use request_firmware()drivers/usb/serial/Kconfig drivers/usb/serial/ti_fw_3410.h drivers/usb/serial/ti_fw_5052.h +5 more+1786 -17830 replies
18/18whiteheat: use request_firmware()drivers/usb/serial/Kconfig drivers/usb/serial/whiteheat.c drivers/usb/serial/whiteheat_fw.h +5 more+1895 -16960 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 00/18] firmware: moving drivers to request_firmware()

Ignoring the set of 'make fw->data const' patches which have mostly been already posted and are fairly trivial, this is the current content of the firmware tree at git.infradead.org/users/dwmw2/firmware-2.6.git

It starts by giving a way to build arbitrary firmware blobs into the kernel while letting request_firmware() find them there, and then sets about converting drivers to use request_firmware() instead of static data blobs, now that we can do that without forcing the users to actually satisfy the firmware requests from userspace.

Rather than including binary blobs in the git tree, we carry them as .ihex files -- which as an added bonus can have comments and licensing information appended after the EOF record.

For the USB drivers which actually _want_ Intel HEX files in their original form as individual records, we have a binary representation of such and a tool to convert the original .HEX files into .fw files in that form. And associated helpers in the kernel for validating and using them.

We also add a 'make firmware_install' target, which is intended to install the firmware blobs into /lib/firmware/ where the userspace loader to find them.

More patches to convert drivers to request_firmware() would be appreciated, if there are any people out there looking for something productive, but simple, to undertake...

Signature · 1 line
dwmw2