firmware, kbuild: Get all firmware blobs from a separate directory
Subsystems (4)
RFC PATCH 1/1 firmware, kbuild: Get all firmware blobs from a separate directory
Remove all firmware hex files and theCONFIG_PREVENT_FIRMWARE_BUILD option.
Replace CONFIG_EXTRA_FIRMWARE_DIR with CONFIG_FIRMWARE_DIR, defaulting to "../linux-firmware". Remove CONFIG_EXTRA_FIRMWARE and instead use the information generated by MODULE_FIRMWARE() to work out which firmware to include or install.
Remove the firmware_install target. All the files we would install, and many more, are available in linux-firmware.git without any conversion required.
TODO:
1. Don't evaluate or convert built-in firmware until after building drivers.
2. Don't evaluate firmware wanted by modules until installing.
3. Stop if objcopy or modinfo fails.
4. Tolerate missing firmware?
--- Makefile | 11 +- drivers/base/Kconfig | 53 +- firmware/3com/3C359.bin.ihex | 1573 --- firmware/3com/typhoon.bin.ihex | 2819 ----- firmware/Makefile | 203 +- firmware/README.AddingFirmware | 34 - firmware/WHENCE | 902 -- firmware/acenic/tg1.bin.ihex | 4573 -------- firmware/acenic/tg2.bin.ihex | 4844 --------- firmware/adaptec/starfire_rx.bin.ihex | 53 - firmware/adaptec/starfire_tx.bin.ihex | 53 - firmware/advansys/3550.bin.ihex | 317 - firmware/advansys/38C0800.bin.ihex | 336 - firmware/advansys/38C1600.bin.ihex | 398 - firmware/advansys/mcode.bin.ihex | 147 - firmware/atmsar11.HEX | 204 - firmware/av7110/Boot.S | 109 - firmware/av7110/bootcode.bin.ihex | 15 - firmware/bnx2/bnx2-mips-06-6.2.1.fw.ihex | 5818 ---------- firmware/bnx2/bnx2-mips-09-6.2.1a.fw.ihex | 6512 ----------- firmware/bnx2/bnx2-rv2p-06-6.0.15.fw.ihex | 366 - firmware/bnx2/bnx2-rv2p-09-6.0.17.fw.ihex | 392 - firmware/bnx2/bnx2-rv2p-09ax-6.0.17.fw.ihex | 425 - firmware/bnx2x/bnx2x-e1-6.2.9.0.fw.ihex | 9484 ---------------- firmware/bnx2x/bnx2x-e1h-6.2.9.0.fw.ihex |13192 ----------------------- firmware/bnx2x/bnx2x-e2-6.2.9.0.fw.ihex |15473 --------------------------- firmware/cis/.gitignore | 1 - firmware/cis/3CCFEM556.cis.ihex | 13 - firmware/cis/3CXEM556.cis.ihex | 13 - firmware/cis/COMpad2.cis.ihex | 11 - firmware/cis/COMpad4.cis.ihex | 9 - firmware/cis/DP83903.cis.ihex | 14 - firmware/cis/LA-PCM.cis.ihex | 20 - firmware/cis/MT5634ZLX.cis.ihex | 11 - firmware/cis/NE2K.cis.ihex | 8 - firmware/cis/PCMLM28.cis.ihex | 18 - firmware/cis/PE-200.cis.ihex | 9 - firmware/cis/PE520.cis.ihex | 9 - firmware/cis/RS-COM-2P.cis.ihex | 10 - firmware/cis/SW_555_SER.cis.ihex | 12 - firmware/cis/SW_7xx_SER.cis.ihex | 13 - firmware/cis/SW_8xx_SER.cis.ihex | 13 - firmware/cis/tamarack.cis.ihex | 10 - firmware/cpia2/stv0672_vp4.bin.ihex | 73 - firmware/cxgb3/ael2005_opt_edc.bin.ihex | 69 - firmware/cxgb3/ael2005_twx_edc.bin.ihex | 93 - firmware/cxgb3/ael2020_twx_edc.bin.ihex | 100 - firmware/cxgb3/t3b_psram-1.1.0.bin.ihex | 162 - firmware/cxgb3/t3c_psram-1.1.0.bin.ihex | 162 - firmware/cxgb3/t3fw-7.10.0.bin.ihex | 1935 ---- firmware/dabusb/bitstream.bin.ihex | 761 -- firmware/dabusb/firmware.HEX | 649 -- firmware/dsp56k/bootstrap.asm | 98 - firmware/dsp56k/bootstrap.bin.ihex | 26 - firmware/e100/d101m_ucode.bin.ihex | 38 - firmware/e100/d101s_ucode.bin.ihex | 38 - firmware/e100/d102e_ucode.bin.ihex | 38 - firmware/edgeport/boot.H16 | 29 - firmware/edgeport/boot2.H16 | 28 - firmware/edgeport/down.H16 | 29 - firmware/edgeport/down2.H16 | 29 - firmware/edgeport/down3.bin.ihex | 815 -- firmware/emi26/bitstream.HEX | 4391 -------- firmware/emi26/firmware.HEX | 1261 --- firmware/emi26/loader.HEX | 116 - firmware/emi62/bitstream.HEX | 4372 -------- firmware/emi62/loader.HEX | 107 - firmware/emi62/midi.HEX | 1266 --- firmware/emi62/spdif.HEX | 1257 --- firmware/ess/maestro3_assp_kernel.fw.ihex | 120 - firmware/ess/maestro3_assp_minisrc.fw.ihex | 51 - firmware/intelliport2.bin.ihex | 2147 ---- firmware/isci/isci_firmware.bin.ihex | 16 - firmware/kaweth/new_code.bin.ihex | 206 - firmware/kaweth/new_code_fix.bin.ihex | 40 - firmware/kaweth/trigger_code.bin.ihex | 13 - firmware/kaweth/trigger_code_fix.bin.ihex | 3 - firmware/keyspan/mpr.HEX | 104 - firmware/keyspan/usa18x.HEX | 141 - firmware/keyspan/usa19.HEX | 101 - firmware/keyspan/usa19qi.HEX | 101 - firmware/keyspan/usa19qw.HEX | 142 - firmware/keyspan/usa19w.HEX | 141 - firmware/keyspan/usa28.HEX | 148 - firmware/keyspan/usa28x.HEX | 141 - firmware/keyspan/usa28xa.HEX | 141 - firmware/keyspan/usa28xb.HEX | 142 - firmware/keyspan/usa49w.HEX | 145 - firmware/keyspan/usa49wlc.HEX | 153 - firmware/keyspan_pda/keyspan_pda.HEX | 83 - firmware/keyspan_pda/keyspan_pda.S | 1124 -- firmware/keyspan_pda/xircom_pgs.HEX | 87 - firmware/keyspan_pda/xircom_pgs.S | 1192 --- firmware/korg/k1212.dsp.ihex | 987 -- firmware/matrox/g200_warp.H16 | 28 - firmware/matrox/g400_warp.H16 | 44 - firmware/mts_cdma.fw.ihex | 867 -- firmware/mts_edge.fw.ihex | 881 -- firmware/mts_gsm.fw.ihex | 867 -- firmware/myricom/lanai.bin.ihex | 4771 --------- firmware/ositech/Xilinx7OD.bin.ihex | 177 - firmware/qlogic/1040.bin.ihex | 2111 ---- firmware/qlogic/12160.bin.ihex | 1771 --- firmware/qlogic/1280.bin.ihex | 2008 ---- firmware/qlogic/isp1000.bin.ihex | 1158 -- firmware/qlogic/sd7220.fw.ihex | 513 - firmware/r128/r128_cce.bin.ihex | 129 - firmware/radeon/R100_cp.bin.ihex | 130 - firmware/radeon/R200_cp.bin.ihex | 130 - firmware/radeon/R300_cp.bin.ihex | 130 - firmware/radeon/R420_cp.bin.ihex | 130 - firmware/radeon/R520_cp.bin.ihex | 130 - firmware/radeon/R600_me.bin.ihex | 1345 --- firmware/radeon/R600_pfp.bin.ihex | 145 - firmware/radeon/RS600_cp.bin.ihex | 130 - firmware/radeon/RS690_cp.bin.ihex | 130 - firmware/radeon/RS780_me.bin.ihex | 1345 --- firmware/radeon/RS780_pfp.bin.ihex | 145 - firmware/radeon/RV610_me.bin.ihex | 1345 --- firmware/radeon/RV610_pfp.bin.ihex | 145 - firmware/radeon/RV620_me.bin.ihex | 1345 --- firmware/radeon/RV620_pfp.bin.ihex | 145 - firmware/radeon/RV630_me.bin.ihex | 1345 --- firmware/radeon/RV630_pfp.bin.ihex | 145 - firmware/radeon/RV635_me.bin.ihex | 1345 --- firmware/radeon/RV635_pfp.bin.ihex | 145 - firmware/radeon/RV670_me.bin.ihex | 1345 --- firmware/radeon/RV670_pfp.bin.ihex | 145 - firmware/radeon/RV710_me.bin.ihex | 341 - firmware/radeon/RV710_pfp.bin.ihex | 213 - firmware/radeon/RV730_me.bin.ihex | 341 - firmware/radeon/RV730_pfp.bin.ihex | 213 - firmware/radeon/RV770_me.bin.ihex | 341 - firmware/radeon/RV770_pfp.bin.ihex | 213 - firmware/sb16/alaw_main.csp.ihex | 87 - firmware/sb16/ima_adpcm_capture.csp.ihex | 121 - firmware/sb16/ima_adpcm_init.csp.ihex | 70 - firmware/sb16/ima_adpcm_playback.csp.ihex | 122 - firmware/sb16/mulaw_main.csp.ihex | 84 - firmware/sun/cassini.bin.ihex | 143 - firmware/tehuti/bdx.bin.ihex | 2678 ----- firmware/ti_3410.fw.ihex | 862 -- firmware/ti_5052.fw.ihex | 862 -- firmware/tigon/tg3.bin.ihex | 175 - firmware/tigon/tg3_tso.bin.ihex | 446 - firmware/tigon/tg3_tso5.bin.ihex | 252 - firmware/tr_smctr.bin.ihex | 477 - firmware/ttusb-budget/dspbootcode.bin.ihex | 820 -- firmware/vicam/firmware.H16 | 7 - firmware/whiteheat.HEX | 1097 -- firmware/whiteheat_loader.HEX | 314 - firmware/whiteheat_loader_debug.HEX | 403 - firmware/yam/1200.bin.ihex | 342 - firmware/yam/9600.bin.ihex | 342 - firmware/yamaha/ds1_ctrl.fw.ihex | 769 -- firmware/yamaha/ds1_dsp.fw.ihex | 9 - firmware/yamaha/ds1e_ctrl.fw.ihex | 769 -- firmware/yamaha/yss225_registers.bin.ihex | 998 -- scripts/Makefile.fwinst | 24 +- 159 files changed, 38 insertions(+), 134673 deletions(-) delete mode 100644 firmware/3com/3C359.bin.ihex delete mode 100644 firmware/3com/typhoon.bin.ihex delete mode 100644 firmware/README.AddingFirmware delete mode 100644 firmware/WHENCE delete mode 100644 firmware/acenic/tg1.bin.ihex delete mode 100644 firmware/acenic/tg2.bin.ihex delete mode 100644 firmware/adaptec/starfire_rx.bin.ihex delete mode 100644 firmware/adaptec/starfire_tx.bin.ihex delete mode 100644 firmware/advansys/3550.bin.ihex delete mode 100644 firmware/advansys/38C0800.bin.ihex delete mode 100644 firmware/advansys/38C1600.bin.ihex delete mode 100644 firmware/advansys/mcode.bin.ihex delete mode 100644 firmware/atmsar11.HEX delete mode 100644 firmware/av7110/Boot.S delete mode 100644 firmware/av7110/bootcode.bin.ihex delete mode 100644 firmware/bnx2/bnx2-mips-06-6.2.1.fw.ihex delete mode 100644 firmware/bnx2/bnx2-mips-09-6.2.1a.fw.ihex delete mode 100644 firmware/bnx2/bnx2-rv2p-06-6.0.15.fw.ihex delete mode 100644 firmware/bnx2/bnx2-rv2p-09-6.0.17.fw.ihex delete mode 100644 firmware/bnx2/bnx2-rv2p-09ax-6.0.17.fw.ihex delete mode 100644 firmware/bnx2x/bnx2x-e1-6.2.9.0.fw.ihex delete mode 100644 firmware/bnx2x/bnx2x-e1h-6.2.9.0.fw.ihex delete mode 100644 firmware/bnx2x/bnx2x-e2-6.2.9.0.fw.ihex delete mode 100644 firmware/cis/.gitignore delete mode 100644 firmware/cis/3CCFEM556.cis.ihex delete mode 100644 firmware/cis/3CXEM556.cis.ihex delete mode 100644 firmware/cis/COMpad2.cis.ihex delete mode 100644 firmware/cis/COMpad4.cis.ihex delete mode 100644 firmware/cis/DP83903.cis.ihex delete mode 100644 firmware/cis/LA-PCM.cis.ihex delete mode 100644 firmware/cis/MT5634ZLX.cis.ihex delete mode 100644 firmware/cis/NE2K.cis.ihex delete mode 100644 firmware/cis/PCMLM28.cis.ihex delete mode 100644 firmware/cis/PE-200.cis.ihex delete mode 100644 firmware/cis/PE520.cis.ihex delete mode 100644 firmware/cis/RS-COM-2P.cis.ihex delete mode 100644 firmware/cis/SW_555_SER.cis.ihex delete mode 100644 firmware/cis/SW_7xx_SER.cis.ihex delete mode 100644 firmware/cis/SW_8xx_SER.cis.ihex delete mode 100644 firmware/cis/tamarack.cis.ihex delete mode 100644 firmware/cpia2/stv0672_vp4.bin.ihex delete mode 100644 firmware/cxgb3/ael2005_opt_edc.bin.ihex delete mode 100644 firmware/cxgb3/ael2005_twx_edc.bin.ihex delete mode 100644 firmware/cxgb3/ael2020_twx_edc.bin.ihex delete mode 100644 firmware/cxgb3/t3b_psram-1.1.0.bin.ihex delete mode 100644 firmware/cxgb3/t3c_psram-1.1.0.bin.ihex delete mode 100644 firmware/cxgb3/t3fw-7.10.0.bin.ihex delete mode 100644 firmware/dabusb/bitstream.bin.ihex delete mode 100644 firmware/dabusb/firmware.HEX delete mode 100644 firmware/dsp56k/bootstrap.asm delete mode 100644 firmware/dsp56k/bootstrap.bin.ihex delete mode 100644 firmware/e100/d101m_ucode.bin.ihex delete mode 100644 firmware/e100/d101s_ucode.bin.ihex delete mode 100644 firmware/e100/d102e_ucode.bin.ihex delete mode 100644 firmware/edgeport/boot.H16 delete mode 100644 firmware/edgeport/boot2.H16 delete mode 100644 firmware/edgeport/down.H16 delete mode 100644 firmware/edgeport/down2.H16 delete mode 100644 firmware/edgeport/down3.bin.ihex delete mode 100644 firmware/emi26/bitstream.HEX delete mode 100644 firmware/emi26/firmware.HEX delete mode 100644 firmware/emi26/loader.HEX delete mode 100644 firmware/emi62/bitstream.HEX delete mode 100644 firmware/emi62/loader.HEX delete mode 100644 firmware/emi62/midi.HEX delete mode 100644 firmware/emi62/spdif.HEX delete mode 100644 firmware/ess/maestro3_assp_kernel.fw.ihex delete mode 100644 firmware/ess/maestro3_assp_minisrc.fw.ihex delete mode 100644 firmware/intelliport2.bin.ihex delete mode 100644 firmware/isci/isci_firmware.bin.ihex delete mode 100644 firmware/kaweth/new_code.bin.ihex delete mode 100644 firmware/kaweth/new_code_fix.bin.ihex delete mode 100644 firmware/kaweth/trigger_code.bin.ihex delete mode 100644 firmware/kaweth/trigger_code_fix.bin.ihex delete mode 100644 firmware/keyspan/mpr.HEX delete mode 100644 firmware/keyspan/usa18x.HEX delete mode 100644 firmware/keyspan/usa19.HEX delete mode 100644 firmware/keyspan/usa19qi.HEX delete mode 100644 firmware/keyspan/usa19qw.HEX delete mode 100644 firmware/keyspan/usa19w.HEX delete mode 100644 firmware/keyspan/usa28.HEX delete mode 100644 firmware/keyspan/usa28x.HEX delete mode 100644 firmware/keyspan/usa28xa.HEX delete mode 100644 firmware/keyspan/usa28xb.HEX delete mode 100644 firmware/keyspan/usa49w.HEX delete mode 100644 firmware/keyspan/usa49wlc.HEX delete mode 100644 firmware/keyspan_pda/keyspan_pda.HEX delete mode 100644 firmware/keyspan_pda/keyspan_pda.S delete mode 100644 firmware/keyspan_pda/xircom_pgs.HEX delete mode 100644 firmware/keyspan_pda/xircom_pgs.S delete mode 100644 firmware/korg/k1212.dsp.ihex delete mode 100644 firmware/matrox/g200_warp.H16 delete mode 100644 firmware/matrox/g400_warp.H16 delete mode 100644 firmware/mts_cdma.fw.ihex delete mode 100644 firmware/mts_edge.fw.ihex delete mode 100644 firmware/mts_gsm.fw.ihex delete mode 100644 firmware/myricom/lanai.bin.ihex delete mode 100644 firmware/ositech/Xilinx7OD.bin.ihex delete mode 100644 firmware/qlogic/1040.bin.ihex delete mode 100644 firmware/qlogic/12160.bin.ihex delete mode 100644 firmware/qlogic/1280.bin.ihex delete mode 100644 firmware/qlogic/isp1000.bin.ihex delete mode 100644 firmware/qlogic/sd7220.fw.ihex delete mode 100644 firmware/r128/r128_cce.bin.ihex delete mode 100644 firmware/radeon/R100_cp.bin.ihex delete mode 100644 firmware/radeon/R200_cp.bin.ihex delete mode 100644 firmware/radeon/R300_cp.bin.ihex delete mode 100644 firmware/radeon/R420_cp.bin.ihex delete mode 100644 firmware/radeon/R520_cp.bin.ihex delete mode 100644 firmware/radeon/R600_me.bin.ihex delete mode 100644 firmware/radeon/R600_pfp.bin.ihex delete mode 100644 firmware/radeon/RS600_cp.bin.ihex delete mode 100644 firmware/radeon/RS690_cp.bin.ihex delete mode 100644 firmware/radeon/RS780_me.bin.ihex delete mode 100644 firmware/radeon/RS780_pfp.bin.ihex delete mode 100644 firmware/radeon/RV610_me.bin.ihex delete mode 100644 firmware/radeon/RV610_pfp.bin.ihex delete mode 100644 firmware/radeon/RV620_me.bin.ihex delete mode 100644 firmware/radeon/RV620_pfp.bin.ihex delete mode 100644 firmware/radeon/RV630_me.bin.ihex delete mode 100644 firmware/radeon/RV630_pfp.bin.ihex delete mode 100644 firmware/radeon/RV635_me.bin.ihex delete mode 100644 firmware/radeon/RV635_pfp.bin.ihex delete mode 100644 firmware/radeon/RV670_me.bin.ihex delete mode 100644 firmware/radeon/RV670_pfp.bin.ihex delete mode 100644 firmware/radeon/RV710_me.bin.ihex delete mode 100644 firmware/radeon/RV710_pfp.bin.ihex delete mode 100644 firmware/radeon/RV730_me.bin.ihex delete mode 100644 firmware/radeon/RV730_pfp.bin.ihex delete mode 100644 firmware/radeon/RV770_me.bin.ihex delete mode 100644 firmware/radeon/RV770_pfp.bin.ihex delete mode 100644 firmware/sb16/alaw_main.csp.ihex delete mode 100644 firmware/sb16/ima_adpcm_capture.csp.ihex delete mode 100644 firmware/sb16/ima_adpcm_init.csp.ihex delete mode 100644 firmware/sb16/ima_adpcm_playback.csp.ihex delete mode 100644 firmware/sb16/mulaw_main.csp.ihex delete mode 100644 firmware/sun/cassini.bin.ihex delete mode 100644 firmware/tehuti/bdx.bin.ihex delete mode 100644 firmware/ti_3410.fw.ihex delete mode 100644 firmware/ti_5052.fw.ihex delete mode 100644 firmware/tigon/tg3.bin.ihex delete mode 100644 firmware/tigon/tg3_tso.bin.ihex delete mode 100644 firmware/tigon/tg3_tso5.bin.ihex delete mode 100644 firmware/tr_smctr.bin.ihex delete mode 100644 firmware/ttusb-budget/dspbootcode.bin.ihex delete mode 100644 firmware/vicam/firmware.H16 delete mode 100644 firmware/whiteheat.HEX delete mode 100644 firmware/whiteheat_loader.HEX delete mode 100644 firmware/whiteheat_loader_debug.HEX delete mode 100644 firmware/yam/1200.bin.ihex delete mode 100644 firmware/yam/9600.bin.ihex delete mode 100644 firmware/yamaha/ds1_ctrl.fw.ihex delete mode 100644 firmware/yamaha/ds1_dsp.fw.ihex delete mode 100644 firmware/yamaha/ds1e_ctrl.fw.ihex delete mode 100644 firmware/yamaha/yss225_registers.bin.ihex
Makefile +3 -8
@@ -341,6 +341,7 @@ AWK = awk GENKSYMS = scripts/genksyms/genksyms INSTALLKERNEL := installkernel DEPMOD = /sbin/depmod +MODINFO = /sbin/modinfo KALLSYMS = scripts/kallsyms PERL = perl CHECK = sparse
@@ -383,7 +384,7 @@ KERNELVERSION = $(VERSION)$(if $(PATCHLEVEL),.$(PATCHLEVEL)$(if $(SUBLEVEL),.$(S export VERSION PATCHLEVEL SUBLEVEL KERNELRELEASE KERNELVERSION export ARCH SRCARCH CONFIG_SHELL HOSTCC HOSTCFLAGS CROSS_COMPILE AS LD CC export CPP AR NM STRIP OBJCOPY OBJDUMP -export MAKE AWK GENKSYMS INSTALLKERNEL PERL UTS_MACHINE +export MAKE AWK GENKSYMS INSTALLKERNEL MODINFO PERL UTS_MACHINE export HOSTCXX HOSTCXXFLAGS LDFLAGS_MODULE CHECK CHECKFLAGS export KBUILD_CPPFLAGS NOSTDINC_FLAGS LINUXINCLUDE OBJCOPYFLAGS LDFLAGS
@@ -1030,11 +1031,6 @@ depend dep: INSTALL_FW_PATH=$(INSTALL_MOD_PATH)/lib/firmware export INSTALL_FW_PATH -PHONY += firmware_install -firmware_install: FORCE - @mkdir -p $(objtree)/firmware - $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.fwinst obj=firmware __fw_install - # --------------------------------------------------------------------------- # Kernel headers
@@ -1090,7 +1086,6 @@ modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin $(Q)$(AWK) '!x[$$0]++' $(vmlinux-dirs:%=$(objtree)/%/modules.order) > $(objtree)/modules.order @$(kecho) ' Building modules, stage 2.'; $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost - $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.fwinst obj=firmware __fw_modbuild modules.builtin: $(vmlinux-dirs:%=%/modules.builtin) $(Q)$(AWK) '!x[$$0]++' $^ > $(objtree)/modules.builtin
@@ -1238,7 +1233,7 @@ help: @echo '* vmlinux - Build the bare kernel' @echo '* modules - Build all modules' @echo ' modules_install - Install all modules to INSTALL_MOD_PATH (default: /)' - @echo ' firmware_install- Install all firmware to INSTALL_FW_PATH' + @echo ' and install all wanted firmware to INSTALL_FW_PATH' @echo ' (default: $$(INSTALL_MOD_PATH)/lib/firmware)' @echo ' dir/ - Build all files in dir and below' @echo ' dir/file.[oisS] - Build specified target only'
drivers/base/Kconfig +9 -44
67 lines not on this page · raw message
firmware/3com/3C359.bin.ihex deleted +0 -0
firmware/3com/typhoon.bin.ihex deleted +0 -0
firmware/Makefile +19 -184
237 lines not on this page · raw message
firmware/README.AddingFirmware deleted +0 -0
firmware/WHENCE deleted +0 -0
firmware/acenic/tg1.bin.ihex deleted +0 -0
firmware/acenic/tg2.bin.ihex deleted +0 -0
firmware/adaptec/starfire_rx.bin.ihex deleted +0 -0
firmware/adaptec/starfire_tx.bin.ihex deleted +0 -0
firmware/advansys/3550.bin.ihex deleted +0 -0
firmware/advansys/38C0800.bin.ihex deleted +0 -0
firmware/advansys/38C1600.bin.ihex deleted +0 -0
firmware/advansys/mcode.bin.ihex deleted +0 -0
firmware/atmsar11.HEX deleted +0 -0
firmware/av7110/Boot.S deleted +0 -0
firmware/av7110/bootcode.bin.ihex deleted +0 -0
firmware/bnx2/bnx2-mips-06-6.2.1.fw.ihex deleted +0 -0
firmware/bnx2/bnx2-mips-09-6.2.1a.fw.ihex deleted +0 -0
firmware/bnx2/bnx2-rv2p-06-6.0.15.fw.ihex deleted +0 -0
firmware/bnx2/bnx2-rv2p-09-6.0.17.fw.ihex deleted +0 -0
firmware/bnx2/bnx2-rv2p-09ax-6.0.17.fw.ihex deleted +0 -0
firmware/bnx2x/bnx2x-e1-6.2.9.0.fw.ihex deleted +0 -0
firmware/bnx2x/bnx2x-e1h-6.2.9.0.fw.ihex deleted +0 -0
firmware/bnx2x/bnx2x-e2-6.2.9.0.fw.ihex deleted +0 -0
firmware/cis/.gitignore deleted +0 -0
firmware/cis/3CCFEM556.cis.ihex deleted +0 -0
firmware/cis/3CXEM556.cis.ihex deleted +0 -0
firmware/cis/COMpad2.cis.ihex deleted +0 -0
firmware/cis/COMpad4.cis.ihex deleted +0 -0
firmware/cis/DP83903.cis.ihex deleted +0 -0
firmware/cis/LA-PCM.cis.ihex deleted +0 -0
firmware/cis/MT5634ZLX.cis.ihex deleted +0 -0
firmware/cis/NE2K.cis.ihex deleted +0 -0
firmware/cis/PCMLM28.cis.ihex deleted +0 -0
firmware/cis/PE-200.cis.ihex deleted +0 -0
firmware/cis/PE520.cis.ihex deleted +0 -0
firmware/cis/RS-COM-2P.cis.ihex deleted +0 -0
firmware/cis/SW_555_SER.cis.ihex deleted +0 -0
firmware/cis/SW_7xx_SER.cis.ihex deleted +0 -0
firmware/cis/SW_8xx_SER.cis.ihex deleted +0 -0
firmware/cis/tamarack.cis.ihex deleted +0 -0
firmware/cpia2/stv0672_vp4.bin.ihex deleted +0 -0
firmware/cxgb3/ael2005_opt_edc.bin.ihex deleted +0 -0
firmware/cxgb3/ael2005_twx_edc.bin.ihex deleted +0 -0
firmware/cxgb3/ael2020_twx_edc.bin.ihex deleted +0 -0
firmware/cxgb3/t3b_psram-1.1.0.bin.ihex deleted +0 -0
firmware/cxgb3/t3c_psram-1.1.0.bin.ihex deleted +0 -0
firmware/cxgb3/t3fw-7.10.0.bin.ihex deleted +0 -0
firmware/dabusb/bitstream.bin.ihex deleted +0 -0
firmware/dabusb/firmware.HEX deleted +0 -0
firmware/dsp56k/bootstrap.asm deleted +0 -0
firmware/dsp56k/bootstrap.bin.ihex deleted +0 -0
firmware/e100/d101m_ucode.bin.ihex deleted +0 -0
firmware/e100/d101s_ucode.bin.ihex deleted +0 -0
firmware/e100/d102e_ucode.bin.ihex deleted +0 -0
firmware/edgeport/boot.H16 deleted +0 -0
firmware/edgeport/boot2.H16 deleted +0 -0
firmware/edgeport/down.H16 deleted +0 -0
firmware/edgeport/down2.H16 deleted +0 -0
firmware/edgeport/down3.bin.ihex deleted +0 -0
firmware/emi26/bitstream.HEX deleted +0 -0
firmware/emi26/firmware.HEX deleted +0 -0
firmware/emi26/loader.HEX deleted +0 -0
firmware/emi62/bitstream.HEX deleted +0 -0
firmware/emi62/loader.HEX deleted +0 -0
firmware/emi62/midi.HEX deleted +0 -0
firmware/emi62/spdif.HEX deleted +0 -0
firmware/ess/maestro3_assp_kernel.fw.ihex deleted +0 -0
firmware/ess/maestro3_assp_minisrc.fw.ihex deleted +0 -0
firmware/intelliport2.bin.ihex deleted +0 -0
firmware/isci/isci_firmware.bin.ihex deleted +0 -0
firmware/kaweth/new_code.bin.ihex deleted +0 -0
firmware/kaweth/new_code_fix.bin.ihex deleted +0 -0
firmware/kaweth/trigger_code.bin.ihex deleted +0 -0
firmware/kaweth/trigger_code_fix.bin.ihex deleted +0 -0
firmware/keyspan/mpr.HEX deleted +0 -0
firmware/keyspan/usa18x.HEX deleted +0 -0
firmware/keyspan/usa19.HEX deleted +0 -0
firmware/keyspan/usa19qi.HEX deleted +0 -0
firmware/keyspan/usa19qw.HEX deleted +0 -0
firmware/keyspan/usa19w.HEX deleted +0 -0
firmware/keyspan/usa28.HEX deleted +0 -0
firmware/keyspan/usa28x.HEX deleted +0 -0
firmware/keyspan/usa28xa.HEX deleted +0 -0
firmware/keyspan/usa28xb.HEX deleted +0 -0
firmware/keyspan/usa49w.HEX deleted +0 -0
firmware/keyspan/usa49wlc.HEX deleted +0 -0
firmware/keyspan_pda/keyspan_pda.HEX deleted +0 -0
firmware/keyspan_pda/keyspan_pda.S deleted +0 -0
firmware/keyspan_pda/xircom_pgs.HEX deleted +0 -0
firmware/keyspan_pda/xircom_pgs.S deleted +0 -0
firmware/korg/k1212.dsp.ihex deleted +0 -0
firmware/matrox/g200_warp.H16 deleted +0 -0
firmware/matrox/g400_warp.H16 deleted +0 -0
firmware/mts_cdma.fw.ihex deleted +0 -0
firmware/mts_edge.fw.ihex deleted +0 -0
firmware/mts_gsm.fw.ihex deleted +0 -0
firmware/myricom/lanai.bin.ihex deleted +0 -0
firmware/ositech/Xilinx7OD.bin.ihex deleted +0 -0
firmware/qlogic/1040.bin.ihex deleted +0 -0
firmware/qlogic/12160.bin.ihex deleted +0 -0
firmware/qlogic/1280.bin.ihex deleted +0 -0
firmware/qlogic/isp1000.bin.ihex deleted +0 -0
firmware/qlogic/sd7220.fw.ihex deleted +0 -0
firmware/r128/r128_cce.bin.ihex deleted +0 -0
firmware/radeon/R100_cp.bin.ihex deleted +0 -0
firmware/radeon/R200_cp.bin.ihex deleted +0 -0
firmware/radeon/R300_cp.bin.ihex deleted +0 -0
firmware/radeon/R420_cp.bin.ihex deleted +0 -0
firmware/radeon/R520_cp.bin.ihex deleted +0 -0
firmware/radeon/R600_me.bin.ihex deleted +0 -0
firmware/radeon/R600_pfp.bin.ihex deleted +0 -0
firmware/radeon/RS600_cp.bin.ihex deleted +0 -0
firmware/radeon/RS690_cp.bin.ihex deleted +0 -0
firmware/radeon/RS780_me.bin.ihex deleted +0 -0
firmware/radeon/RS780_pfp.bin.ihex deleted +0 -0
firmware/radeon/RV610_me.bin.ihex deleted +0 -0
firmware/radeon/RV610_pfp.bin.ihex deleted +0 -0
firmware/radeon/RV620_me.bin.ihex deleted +0 -0
firmware/radeon/RV620_pfp.bin.ihex deleted +0 -0
firmware/radeon/RV630_me.bin.ihex deleted +0 -0
firmware/radeon/RV630_pfp.bin.ihex deleted +0 -0
firmware/radeon/RV635_me.bin.ihex deleted +0 -0
firmware/radeon/RV635_pfp.bin.ihex deleted +0 -0
firmware/radeon/RV670_me.bin.ihex deleted +0 -0
firmware/radeon/RV670_pfp.bin.ihex deleted +0 -0
firmware/radeon/RV710_me.bin.ihex deleted +0 -0
firmware/radeon/RV710_pfp.bin.ihex deleted +0 -0
firmware/radeon/RV730_me.bin.ihex deleted +0 -0
firmware/radeon/RV730_pfp.bin.ihex deleted +0 -0
firmware/radeon/RV770_me.bin.ihex deleted +0 -0
firmware/radeon/RV770_pfp.bin.ihex deleted +0 -0
firmware/sb16/alaw_main.csp.ihex deleted +0 -0
firmware/sb16/ima_adpcm_capture.csp.ihex deleted +0 -0
firmware/sb16/ima_adpcm_init.csp.ihex deleted +0 -0
firmware/sb16/ima_adpcm_playback.csp.ihex deleted +0 -0
firmware/sb16/mulaw_main.csp.ihex deleted +0 -0
firmware/sun/cassini.bin.ihex deleted +0 -0
firmware/tehuti/bdx.bin.ihex deleted +0 -0
firmware/ti_3410.fw.ihex deleted +0 -0
firmware/ti_5052.fw.ihex deleted +0 -0
firmware/tigon/tg3.bin.ihex deleted +0 -0
firmware/tigon/tg3_tso.bin.ihex deleted +0 -0
firmware/tigon/tg3_tso5.bin.ihex deleted +0 -0
firmware/tr_smctr.bin.ihex deleted +0 -0
firmware/ttusb-budget/dspbootcode.bin.ihex deleted +0 -0
firmware/vicam/firmware.H16 deleted +0 -0
firmware/whiteheat.HEX deleted +0 -0
firmware/whiteheat_loader.HEX deleted +0 -0
firmware/whiteheat_loader_debug.HEX deleted +0 -0
firmware/yam/1200.bin.ihex deleted +0 -0
firmware/yam/9600.bin.ihex deleted +0 -0
firmware/yamaha/ds1_ctrl.fw.ihex deleted +0 -0
firmware/yamaha/ds1_dsp.fw.ihex deleted +0 -0
firmware/yamaha/ds1e_ctrl.fw.ihex deleted +0 -0
firmware/yamaha/yss225_registers.bin.ihex deleted +0 -0
scripts/Makefile.fwinst +7 -17
@@ -1,32 +1,27 @@ # ========================================================================== # Installing firmware # -# We don't include the .config, so all firmware files are in $(fw-shipped-) -# rather than in $(fw-shipped-y) or $(fw-shipped-n). +# We rely on modules to specify the blobs they may want with MODULE_FIRMWARE. # ========================================================================== INSTALL := install src := $(obj) -# For modules_install installing firmware, we want to see .config -# But for firmware_install, we don't care, but don't want to require it. --include $(objtree)/.config +include $(objtree)/.config include scripts/Kbuild.include include $(srctree)/$(obj)/Makefile include scripts/Makefile.host -mod-fw := $(fw-shipped-m) +mod-fw := $(fw-wanted-m) # If CONFIG_FIRMWARE_IN_KERNEL isn't set, then install the # firmware for in-kernel drivers too. ifndef CONFIG_FIRMWARE_IN_KERNEL -mod-fw += $(fw-shipped-y) +mod-fw += $(fw-wanted-y) endif -installed-mod-fw := $(addprefix $(INSTALL_FW_PATH)/,$(mod-fw)) - -installed-fw := $(addprefix $(INSTALL_FW_PATH)/,$(fw-shipped-all)) +installed-fw := $(addprefix $(INSTALL_FW_PATH)/,$(mod-fw)) installed-fw-dirs := $(sort $(dir $(installed-fw))) $(INSTALL_FW_PATH)/. # Workaround for make < 3.81, where .SECONDEXPANSION doesn't work.
@@ -42,19 +37,14 @@ quiet_cmd_install = INSTALL $(subst $(srctree)/,,$@) $(installed-fw-dirs): $(call cmd,mkdir) -$(installed-fw): $(INSTALL_FW_PATH)/%: $(obj)/% | $(INSTALL_FW_PATH)/$$(dir %) +$(installed-fw): $(INSTALL_FW_PATH)/%: $(fwabs)/% | $(INSTALL_FW_PATH)/$$(dir %) $(call cmd,install) PHONY += __fw_install __fw_modinst FORCE .PHONY: $(PHONY) -__fw_install: $(installed-fw) - -__fw_modinst: $(installed-mod-fw) - @: - -__fw_modbuild: $(addprefix $(obj)/,$(mod-fw)) +__fw_modinst: $(installed-fw) @: FORCE:
Signature · 1 line
1.7.7.3
RFC PATCH 1/2 firmware, module: Keep names of firmware blobs required by built-in drivers
[This belongs before the previous patch, which should be considered 2/2.]
Change MODULE_FIRMWARE() to include the given blob name to the object file even when not building a module. Discard that information when linking vmlinux.
This will allow us to stop repeating this information in firmware/Makefile.
--- include/asm-generic/vmlinux.lds.h | 1 + include/linux/module.h | 7 +++++++ 2 files changed, 8 insertions(+), 0 deletions(-)
include/asm-generic/vmlinux.lds.h +1 -0
@@ -678,6 +678,7 @@EXIT_CALL \ *(.discard) \ *(.discard.*) \ + *(.firmware_wanted) \ }/**
include/linux/module.h +7 -0
@@ -176,7 +176,14 @@ extern const struct gtype##_id __mod_##gtype##_table \/* Optional firmware file (or files) needed by the module * format is simply firmware file name. Multiple firmware * files require multiple MODULE_FIRMWARE() specifiers */ +#ifdef MODULE #define MODULE_FIRMWARE (_firmware) MODULE_INFO(firmware, _firmware) +#else +#define MODULE_FIRMWARE (_firmware) \ + static const char __module_cat(firmware, __LINE__)[] \ + __used __attribute__((section(".firmware_wanted"), unused, aligned(1))) \ + = _firmware +#endif /* Given an address, look for it in the exception tables */ const struct exception_table_entry *search_exception_tables (unsigned long add);
Signature · 1 line
1.7.7.3