Messages in this thread Patch in this message |  | | | Subject | [RFC][PATCH] firmware, kbuild: Get all firmware blobs from a separate directory | | From | Ben Hutchings <> | | Date | Sun, 18 Dec 2011 01:58:59 +0000 |
| |
Remove all firmware hex files and the CONFIG_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 diff --git a/Makefile b/Makefile index d1ea73f..c387a96 100644 --- a/Makefile +++ b/Makefile @@ -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' diff --git a/drivers/base/Kconfig b/drivers/base/Kconfig index 21cf46f..bda90c9 100644 --- a/drivers/base/Kconfig +++ b/drivers/base/Kconfig @@ -65,15 +65,6 @@ config STANDALONE If unsure, say Y. -config PREVENT_FIRMWARE_BUILD - bool "Prevent firmware from being built" - default y - help - Say yes to avoid building firmware. Firmware is usually shipped - with the driver and only when updating the firmware should a - rebuild be made. - If unsure, say Y here. - config FW_LOADER tristate "Userspace firmware loading support" if EXPERT default y @@ -107,43 +98,17 @@ config FIRMWARE_IN_KERNEL Say 'N' and let firmware be loaded from userspace. -config EXTRA_FIRMWARE - string "External firmware blobs to build into the kernel binary" - depends on FW_LOADER - help - This option allows firmware to be built into the kernel for the case - where the user either cannot or doesn't want to provide it from - userspace at runtime (for example, when the firmware in question is - required for accessing the boot device, and the user doesn't want to - use an initrd). - - This option is a string and takes the (space-separated) names of the - firmware files -- the same names that appear in MODULE_FIRMWARE() - and request_firmware() in the source. These files should exist under - the directory specified by the EXTRA_FIRMWARE_DIR option, which is - by default the firmware subdirectory of the kernel source tree. - - For example, you might set CONFIG_EXTRA_FIRMWARE="usb8388.bin", copy - the usb8388.bin file into the firmware directory, and build the kernel. - Then any request_firmware("usb8388.bin") will be satisfied internally - without needing to call out to userspace. - - WARNING: If you include additional firmware files into your binary - kernel image that are not available under the terms of the GPL, - then it may be a violation of the GPL to distribute the resulting - image since it combines both GPL and non-GPL work. You should - consult a lawyer of your own before distributing such an image. - -config EXTRA_FIRMWARE_DIR +config FIRMWARE_DIR string "Firmware blobs root directory" - depends on EXTRA_FIRMWARE != "" - default "firmware" + depends on FW_LOADER + default "../linux-firmware" help - This option controls the directory in which the kernel build system - looks for the firmware files listed in the EXTRA_FIRMWARE option. - The default is firmware/ in the kernel source tree, but by changing - this option you can point it elsewhere, such as /lib/firmware/ or - some other directory containing the firmware files. + This option controls the directory in which the kernel build + system looks for the firmware files to install or include. + The default is sibling directory ../linux-firmware/, but by + changing this option you can point it elsewhere, such as + /lib/firmware/ or some other directory containing the + firmware files. config DEBUG_DRIVER bool "Driver Core verbose debug messages" diff --git a/firmware/3com/3C359.bin.ihex b/firmware/3com/3C359.bin.ihex deleted file mode 100644 index 781bac3..0000000 diff --git a/firmware/3com/typhoon.bin.ihex b/firmware/3com/typhoon.bin.ihex deleted file mode 100644 index d7a83be..0000000 diff --git a/firmware/Makefile b/firmware/Makefile index 5f43bfb..042a45e 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -2,163 +2,33 @@ # kbuild file for firmware/ # -# Create $(fwabs) from $(CONFIG_EXTRA_FIRMWARE_DIR) -- if it doesn't have a +# Create $(fwabs) from $(CONFIG_FIRMWARE_DIR) -- if it doesn't have a # leading /, it's relative to $(srctree). -fwdir := $(subst ",,$(CONFIG_EXTRA_FIRMWARE_DIR)) +fwdir := $(subst ",,$(CONFIG_FIRMWARE_DIR)) fwabs := $(addprefix $(srctree)/,$(filter-out /%,$(fwdir)))$(filter /%,$(fwdir)) -fw-external-y := $(subst ",,$(CONFIG_EXTRA_FIRMWARE)) - -# There are three cases to care about: -# 1. Building kernel with CONFIG_FIRMWARE_IN_KERNEL=y -- $(fw-shipped-y) should -# include the firmware files to include, according to .config +# There are two cases to care about: +# 1. Building kernel with CONFIG_FIRMWARE_IN_KERNEL=y -- $(fw-wanted-y) should +# include the firmware files to include # 2. 'make modules_install', which will install firmware for modules, and # _also_ for the in-kernel drivers when CONFIG_FIRMWARE_IN_KERNEL=n -# 3. 'make firmware_install', which installs all firmware, unconditionally. - -# For the former two cases we want $(fw-shipped-y) and $(fw-shipped-m) to be -# accurate. In the latter case it doesn't matter -- it'll use $(fw-shipped-all). -# But be aware that the config file might not be included at all. -ifdef CONFIG_ACENIC_OMIT_TIGON_I -acenic-objs := acenic/tg2.bin -fw-shipped- += acenic/tg1.bin -else -acenic-objs := acenic/tg1.bin acenic/tg2.bin -endif -fw-shipped-$(CONFIG_3C359) += 3com/3C359.bin -fw-shipped-$(CONFIG_ACENIC) += $(acenic-objs) -fw-shipped-$(CONFIG_ADAPTEC_STARFIRE) += adaptec/starfire_rx.bin \ - adaptec/starfire_tx.bin -fw-shipped-$(CONFIG_ATARI_DSP56K) += dsp56k/bootstrap.bin -fw-shipped-$(CONFIG_ATM_AMBASSADOR) += atmsar11.fw -fw-shipped-$(CONFIG_BNX2X) += bnx2x/bnx2x-e1-6.2.9.0.fw \ - bnx2x/bnx2x-e1h-6.2.9.0.fw \ - bnx2x/bnx2x-e2-6.2.9.0.fw -fw-shipped-$(CONFIG_BNX2) += bnx2/bnx2-mips-09-6.2.1a.fw \ - bnx2/bnx2-rv2p-09-6.0.17.fw \ - bnx2/bnx2-rv2p-09ax-6.0.17.fw \ - bnx2/bnx2-mips-06-6.2.1.fw \ - bnx2/bnx2-rv2p-06-6.0.15.fw -fw-shipped-$(CONFIG_CASSINI) += sun/cassini.bin -fw-shipped-$(CONFIG_COMPUTONE) += intelliport2.bin -fw-shipped-$(CONFIG_CHELSIO_T3) += cxgb3/t3b_psram-1.1.0.bin \ - cxgb3/t3c_psram-1.1.0.bin \ - cxgb3/t3fw-7.10.0.bin \ - cxgb3/ael2005_opt_edc.bin \ - cxgb3/ael2005_twx_edc.bin \ - cxgb3/ael2020_twx_edc.bin -fw-shipped-$(CONFIG_DRM_MGA) += matrox/g200_warp.fw matrox/g400_warp.fw -fw-shipped-$(CONFIG_DRM_R128) += r128/r128_cce.bin -fw-shipped-$(CONFIG_DRM_RADEON) += radeon/R100_cp.bin radeon/R200_cp.bin \ - radeon/R300_cp.bin radeon/R420_cp.bin \ - radeon/RS690_cp.bin radeon/RS600_cp.bin \ - radeon/R520_cp.bin \ - radeon/R600_pfp.bin radeon/R600_me.bin \ - radeon/RV610_pfp.bin radeon/RV610_me.bin \ - radeon/RV630_pfp.bin radeon/RV630_me.bin \ - radeon/RV620_pfp.bin radeon/RV620_me.bin \ - radeon/RV635_pfp.bin radeon/RV635_me.bin \ - radeon/RV670_pfp.bin radeon/RV670_me.bin \ - radeon/RS780_pfp.bin radeon/RS780_me.bin \ - radeon/RV770_pfp.bin radeon/RV770_me.bin \ - radeon/RV730_pfp.bin radeon/RV730_me.bin \ - radeon/RV710_pfp.bin radeon/RV710_me.bin -fw-shipped-$(CONFIG_DVB_AV7110) += av7110/bootcode.bin -fw-shipped-$(CONFIG_DVB_TTUSB_BUDGET) += ttusb-budget/dspbootcode.bin -fw-shipped-$(CONFIG_E100) += e100/d101m_ucode.bin e100/d101s_ucode.bin \ - e100/d102e_ucode.bin -fw-shipped-$(CONFIG_MYRI_SBUS) += myricom/lanai.bin -fw-shipped-$(CONFIG_PCMCIA_PCNET) += cis/LA-PCM.cis cis/PCMLM28.cis \ - cis/DP83903.cis cis/NE2K.cis \ - cis/tamarack.cis cis/PE-200.cis \ - cis/PE520.cis -fw-shipped-$(CONFIG_PCMCIA_3C589) += cis/3CXEM556.cis -fw-shipped-$(CONFIG_PCMCIA_3C574) += cis/3CCFEM556.cis -fw-shipped-$(CONFIG_SERIAL_8250_CS) += cis/MT5634ZLX.cis cis/RS-COM-2P.cis \ - cis/COMpad2.cis cis/COMpad4.cis \ - cis/SW_555_SER.cis cis/SW_7xx_SER.cis \ - cis/SW_8xx_SER.cis -fw-shipped-$(CONFIG_PCMCIA_SMC91C92) += ositech/Xilinx7OD.bin -fw-shipped-$(CONFIG_SCSI_ADVANSYS) += advansys/mcode.bin advansys/38C1600.bin \ - advansys/3550.bin advansys/38C0800.bin -fw-shipped-$(CONFIG_SCSI_ISCI) += isci/isci_firmware.bin -fw-shipped-$(CONFIG_SCSI_QLOGIC_1280) += qlogic/1040.bin qlogic/1280.bin \ - qlogic/12160.bin -fw-shipped-$(CONFIG_SCSI_QLOGICPTI) += qlogic/isp1000.bin -fw-shipped-$(CONFIG_INFINIBAND_QIB) += qlogic/sd7220.fw -fw-shipped-$(CONFIG_SMCTR) += tr_smctr.bin -fw-shipped-$(CONFIG_SND_KORG1212) += korg/k1212.dsp -fw-shipped-$(CONFIG_SND_MAESTRO3) += ess/maestro3_assp_kernel.fw \ - ess/maestro3_assp_minisrc.fw -fw-shipped-$(CONFIG_SND_SB16_CSP) += sb16/mulaw_main.csp sb16/alaw_main.csp \ - sb16/ima_adpcm_init.csp \ - sb16/ima_adpcm_playback.csp \ - sb16/ima_adpcm_capture.csp -fw-shipped-$(CONFIG_SND_YMFPCI) += yamaha/ds1_ctrl.fw yamaha/ds1_dsp.fw \ - yamaha/ds1e_ctrl.fw -fw-shipped-$(CONFIG_SND_WAVEFRONT) += yamaha/yss225_registers.bin -fw-shipped-$(CONFIG_TEHUTI) += tehuti/bdx.bin -fw-shipped-$(CONFIG_TIGON3) += tigon/tg3.bin tigon/tg3_tso.bin \ - tigon/tg3_tso5.bin -fw-shipped-$(CONFIG_TYPHOON) += 3com/typhoon.bin -fw-shipped-$(CONFIG_USB_DABUSB) += dabusb/firmware.fw dabusb/bitstream.bin -fw-shipped-$(CONFIG_USB_EMI26) += emi26/loader.fw emi26/firmware.fw \ - emi26/bitstream.fw -fw-shipped-$(CONFIG_USB_EMI62) += emi62/loader.fw emi62/bitstream.fw \ - emi62/spdif.fw emi62/midi.fw -fw-shipped-$(CONFIG_USB_KAWETH) += kaweth/new_code.bin kaweth/trigger_code.bin \ - kaweth/new_code_fix.bin \ - kaweth/trigger_code_fix.bin -ifdef CONFIG_FIRMWARE_IN_KERNEL -fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_MPR) += keyspan/mpr.fw -fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA18X) += keyspan/usa18x.fw -fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA19) += keyspan/usa19.fw -fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA19QI) += keyspan/usa19qi.fw -fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA19QW) += keyspan/usa19qw.fw -fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA19W) += keyspan/usa19w.fw -fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA28) += keyspan/usa28.fw -fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA28XA) += keyspan/usa28xa.fw -fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA28XB) += keyspan/usa28xb.fw -fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA28X) += keyspan/usa28x.fw -fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA49W) += keyspan/usa49w.fw -fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA49WLC) += keyspan/usa49wlc.fw -else -fw-shipped- += keyspan/mpr.fw keyspan/usa18x.fw keyspan/usa19.fw \ - keyspan/usa19qi.fw keyspan/usa19qw.fw keyspan/usa19w.fw \ - keyspan/usa28.fw keyspan/usa28xa.fw keyspan/usa28xb.fw \ - keyspan/usa28x.fw keyspan/usa49w.fw keyspan/usa49wlc.fw -endif -fw-shipped-$(CONFIG_USB_SERIAL_TI) += ti_3410.fw ti_5052.fw \ - mts_cdma.fw mts_gsm.fw mts_edge.fw -fw-shipped-$(CONFIG_USB_SERIAL_EDGEPORT) += edgeport/boot.fw edgeport/boot2.fw \ - edgeport/down.fw edgeport/down2.fw -fw-shipped-$(CONFIG_USB_SERIAL_EDGEPORT_TI) += edgeport/down3.bin -fw-shipped-$(CONFIG_USB_SERIAL_WHITEHEAT) += whiteheat_loader.fw whiteheat.fw \ - # whiteheat_loader_debug.fw -fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_PDA) += keyspan_pda/keyspan_pda.fw -fw-shipped-$(CONFIG_USB_SERIAL_XIRCOM) += keyspan_pda/xircom_pgs.fw -fw-shipped-$(CONFIG_USB_VICAM) += vicam/firmware.fw -fw-shipped-$(CONFIG_VIDEO_CPIA2) += cpia2/stv0672_vp4.bin -fw-shipped-$(CONFIG_YAM) += yam/1200.bin yam/9600.bin +fw-wanted-y := $(sort $(foreach subdir,drivers sound, \ + $(shell $(OBJCOPY) -O binary -j .firmware_wanted \ + $(objtree)/$(subdir)/built-in.o \ + $(objtree)/$(subdir)/built-in-firmware && \ + perl -pe 's/\0/ /g' $(objtree)/$(subdir)/built-in-firmware))) -fw-shipped-all := $(fw-shipped-y) $(fw-shipped-m) $(fw-shipped-) +__modules := $(sort $(shell grep -h '\.ko' /dev/null $(wildcard $(MODVERDIR)/*.mod))) +fw-wanted-m := $(sort $(foreach module,$(__modules), \ + $(shell $(MODINFO) -F firmware $(objtree)/$(module)))) # Directories which we _might_ need to create, so we have a rule for them. -firmware-dirs := $(sort $(addprefix $(objtree)/$(obj)/,$(dir $(fw-external-y) $(fw-shipped-all)))) +firmware-dirs := $(sort $(addprefix $(objtree)/$(obj)/,$(dir $(fw-wanted-y)))) quiet_cmd_mkdir = MKDIR $(patsubst $(objtree)/%,%,$@) cmd_mkdir = mkdir -p $@ -quiet_cmd_ihex = IHEX $@ - cmd_ihex = $(OBJCOPY) -Iihex -Obinary $< $@ - -quiet_cmd_ihex2fw = IHEX2FW $@ - cmd_ihex2fw = $(objtree)/$(obj)/ihex2fw $< $@ - -quiet_cmd_h16tofw = H16TOFW $@ - cmd_h16tofw = $(objtree)/$(obj)/ihex2fw -w $< $@ - quiet_cmd_fwbin = MK_FW $@ cmd_fwbin = FWNAME="$(patsubst firmware/%.gen.S,%,$@)"; \ FWSTR="$(subst /,_,$(subst .,_,$(subst -,_,$(patsubst \ @@ -200,55 +70,20 @@ $(objtree)/$$(%) $(objtree)/$(obj)/$$(%): $(firmware-dirs) # For the $$(dir %) trick, where we need % to be expanded first. .SECONDEXPANSION: -$(patsubst %,$(obj)/%.gen.S, $(fw-shipped-y)): %: $(wordsize_deps) \ - | $(objtree)/$$(dir %) - $(call cmd,fwbin,$(patsubst %.gen.S,%,$@)) -$(patsubst %,$(obj)/%.gen.S, $(fw-external-y)): %: $(wordsize_deps) \ - include/config/extra/firmware/dir.h | $(objtree)/$$(dir %) +$(patsubst %,$(obj)/%.gen.S, $(fw-wanted-y)): %: $(wordsize_deps) \ + include/config/firmware/dir.h | $(objtree)/$$(dir %) $(call cmd,fwbin,$(fwabs)/$(patsubst $(obj)/%.gen.S,%,$@)) # The .o files depend on the binaries directly; the .S files don't. -$(patsubst %,$(obj)/%.gen.o, $(fw-shipped-y)): %.gen.o: % -$(patsubst %,$(obj)/%.gen.o, $(fw-external-y)): $(obj)/%.gen.o: $(fwdir)/% - -# .ihex is used just as a simple way to hold binary files in a source tree -# where binaries are frowned upon. They are directly converted with objcopy. -$(obj)/%: $(obj)/%.ihex | $(objtree)/$(obj)/$$(dir %) - $(call cmd,ihex) - -# Don't depend on ihex2fw if we're installing and it already exists. -# Putting it after | in the dependencies doesn't seem sufficient when -# we're installing after a cross-compile, because ihex2fw has dependencies -# on stuff like /usr/lib/gcc/ppc64-redhat-linux/4.3.0/include/stddef.h and -# thus wants to be rebuilt. Which it can't be, if the prebuilt kernel tree -# is exported read-only for someone to run 'make install'. -ifeq ($(INSTALL):$(wildcard $(obj)/ihex2fw),install:$(obj)/ihex2fw) -ihex2fw_dep := -else -ihex2fw_dep := $(obj)/ihex2fw -endif - -# .HEX is also Intel HEX, but where the offset and length in each record -# is actually meaningful, because the firmware has to be loaded in a certain -# order rather than as a single binary blob. Thus, we convert them into our -# more compact binary representation of ihex records (<linux/ihex.h>) -$(obj)/%.fw: $(obj)/%.HEX $(ihex2fw_dep) | $(objtree)/$(obj)/$$(dir %) - $(call cmd,ihex2fw) - -# .H16 is our own modified form of Intel HEX, with 16-bit length for records. -$(obj)/%.fw: $(obj)/%.H16 $(ihex2fw_dep) | $(objtree)/$(obj)/$$(dir %) - $(call cmd,h16tofw) +$(patsubst %,$(obj)/%.gen.o, $(fw-wanted-y)): $(obj)/%.gen.o: $(fwdir)/% $(firmware-dirs): $(call cmd,mkdir) -obj-y += $(patsubst %,%.gen.o, $(fw-external-y)) -obj-$(CONFIG_FIRMWARE_IN_KERNEL) += $(patsubst %,%.gen.o, $(fw-shipped-y)) +obj-$(CONFIG_FIRMWARE_IN_KERNEL) += $(patsubst %,%.gen.o, $(fw-wanted-y)) # Remove .S files and binaries created from ihex -# (during 'make clean' .config isn't included so they're all in $(fw-shipped-)) -targets := $(fw-shipped-) $(patsubst $(obj)/%,%, \ - $(shell find $(obj) -name \*.gen.S 2>/dev/null)) +targets := $(patsubst $(obj)/%,%, $(shell find $(obj) -name \*.gen.S 2>/dev/null)) # Without this, built-in.o won't be created when it's empty, and the # final vmlinux link will fail. diff --git a/firmware/README.AddingFirmware b/firmware/README.AddingFirmware deleted file mode 100644 index e24cd89..0000000 diff --git a/firmware/WHENCE b/firmware/WHENCE deleted file mode 100644 index 182ecb6..0000000 diff --git a/firmware/acenic/tg1.bin.ihex b/firmware/acenic/tg1.bin.ihex deleted file mode 100644 index bef2659..0000000 diff --git a/firmware/acenic/tg2.bin.ihex b/firmware/acenic/tg2.bin.ihex deleted file mode 100644 index a9ff4f4..0000000 diff --git a/firmware/adaptec/starfire_rx.bin.ihex b/firmware/adaptec/starfire_rx.bin.ihex deleted file mode 100644 index 6b1fae0..0000000 diff --git a/firmware/adaptec/starfire_tx.bin.ihex b/firmware/adaptec/starfire_tx.bin.ihex deleted file mode 100644 index 6b1fae0..0000000 diff --git a/firmware/advansys/3550.bin.ihex b/firmware/advansys/3550.bin.ihex deleted file mode 100644 index 6809b0d..0000000 diff --git a/firmware/advansys/38C0800.bin.ihex b/firmware/advansys/38C0800.bin.ihex deleted file mode 100644 index a60b447..0000000 diff --git a/firmware/advansys/38C1600.bin.ihex b/firmware/advansys/38C1600.bin.ihex deleted file mode 100644 index 18c7c48..0000000 diff --git a/firmware/advansys/mcode.bin.ihex b/firmware/advansys/mcode.bin.ihex deleted file mode 100644 index cd160d9..0000000 diff --git a/firmware/atmsar11.HEX b/firmware/atmsar11.HEX deleted file mode 100644 index dfddc19..0000000 diff --git a/firmware/av7110/Boot.S b/firmware/av7110/Boot.S deleted file mode 100644 index d562fdc..0000000 diff --git a/firmware/av7110/bootcode.bin.ihex b/firmware/av7110/bootcode.bin.ihex deleted file mode 100644 index 26a2993..0000000 diff --git a/firmware/bnx2/bnx2-mips-06-6.2.1.fw.ihex b/firmware/bnx2/bnx2-mips-06-6.2.1.fw.ihex deleted file mode 100644 index 4c43b26..0000000 diff --git a/firmware/bnx2/bnx2-mips-09-6.2.1a.fw.ihex b/firmware/bnx2/bnx2-mips-09-6.2.1a.fw.ihex deleted file mode 100644 index 05e7102..0000000 diff --git a/firmware/bnx2/bnx2-rv2p-06-6.0.15.fw.ihex b/firmware/bnx2/bnx2-rv2p-06-6.0.15.fw.ihex deleted file mode 100644 index dcc443e..0000000 diff --git a/firmware/bnx2/bnx2-rv2p-09-6.0.17.fw.ihex b/firmware/bnx2/bnx2-rv2p-09-6.0.17.fw.ihex deleted file mode 100644 index 435203d..0000000 diff --git a/firmware/bnx2/bnx2-rv2p-09ax-6.0.17.fw.ihex b/firmware/bnx2/bnx2-rv2p-09ax-6.0.17.fw.ihex deleted file mode 100644 index d2f2757..0000000 diff --git a/firmware/bnx2x/bnx2x-e1-6.2.9.0.fw.ihex b/firmware/bnx2x/bnx2x-e1-6.2.9.0.fw.ihex deleted file mode 100644 index 0ed7f58..0000000 diff --git a/firmware/bnx2x/bnx2x-e1h-6.2.9.0.fw.ihex b/firmware/bnx2x/bnx2x-e1h-6.2.9.0.fw.ihex deleted file mode 100644 index ba1ce53..0000000 diff --git a/firmware/bnx2x/bnx2x-e2-6.2.9.0.fw.ihex b/firmware/bnx2x/bnx2x-e2-6.2.9.0.fw.ihex deleted file mode 100644 index 8405e71..0000000 diff --git a/firmware/cis/.gitignore b/firmware/cis/.gitignore deleted file mode 100644 index 1de3984..0000000 diff --git a/firmware/cis/3CCFEM556.cis.ihex b/firmware/cis/3CCFEM556.cis.ihex deleted file mode 100644 index e4d92b1..0000000 diff --git a/firmware/cis/3CXEM556.cis.ihex b/firmware/cis/3CXEM556.cis.ihex deleted file mode 100644 index 895010b..0000000 diff --git a/firmware/cis/COMpad2.cis.ihex b/firmware/cis/COMpad2.cis.ihex deleted file mode 100644 index 1671c5e..0000000 diff --git a/firmware/cis/COMpad4.cis.ihex b/firmware/cis/COMpad4.cis.ihex deleted file mode 100644 index 27bbec1..0000000 diff --git a/firmware/cis/DP83903.cis.ihex b/firmware/cis/DP83903.cis.ihex deleted file mode 100644 index 6d73ea3..0000000 diff --git a/firmware/cis/LA-PCM.cis.ihex b/firmware/cis/LA-PCM.cis.ihex deleted file mode 100644 index a0ff0c7..0000000 diff --git a/firmware/cis/MT5634ZLX.cis.ihex b/firmware/cis/MT5634ZLX.cis.ihex deleted file mode 100644 index 72500b9..0000000 diff --git a/firmware/cis/NE2K.cis.ihex b/firmware/cis/NE2K.cis.ihex deleted file mode 100644 index 1bb40fc..0000000 diff --git a/firmware/cis/PCMLM28.cis.ihex b/firmware/cis/PCMLM28.cis.ihex deleted file mode 100644 index ffdfe85..0000000 diff --git a/firmware/cis/PE-200.cis.ihex b/firmware/cis/PE-200.cis.ihex deleted file mode 100644 index e6dbdab..0000000 diff --git a/firmware/cis/PE520.cis.ihex b/firmware/cis/PE520.cis.ihex deleted file mode 100644 index 97a745b..0000000 diff --git a/firmware/cis/RS-COM-2P.cis.ihex b/firmware/cis/RS-COM-2P.cis.ihex deleted file mode 100644 index 0801ca5..0000000 diff --git a/firmware/cis/SW_555_SER.cis.ihex b/firmware/cis/SW_555_SER.cis.ihex deleted file mode 100644 index 9b9348a..0000000 diff --git a/firmware/cis/SW_7xx_SER.cis.ihex b/firmware/cis/SW_7xx_SER.cis.ihex deleted file mode 100644 index 11e44ad..0000000 diff --git a/firmware/cis/SW_8xx_SER.cis.ihex b/firmware/cis/SW_8xx_SER.cis.ihex deleted file mode 100644 index bbcfe63..0000000 diff --git a/firmware/cis/tamarack.cis.ihex b/firmware/cis/tamarack.cis.ihex deleted file mode 100644 index 1e86547..0000000 diff --git a/firmware/cpia2/stv0672_vp4.bin.ihex b/firmware/cpia2/stv0672_vp4.bin.ihex deleted file mode 100644 index bd0b9cf..0000000 diff --git a/firmware/cxgb3/ael2005_opt_edc.bin.ihex b/firmware/cxgb3/ael2005_opt_edc.bin.ihex deleted file mode 100644 index c1d6e5d..0000000 diff --git a/firmware/cxgb3/ael2005_twx_edc.bin.ihex b/firmware/cxgb3/ael2005_twx_edc.bin.ihex deleted file mode 100644 index 9b5e9e5..0000000 diff --git a/firmware/cxgb3/ael2020_twx_edc.bin.ihex b/firmware/cxgb3/ael2020_twx_edc.bin.ihex deleted file mode 100644 index 8b1337f..0000000 diff --git a/firmware/cxgb3/t3b_psram-1.1.0.bin.ihex b/firmware/cxgb3/t3b_psram-1.1.0.bin.ihex deleted file mode 100644 index 1408930..0000000 diff --git a/firmware/cxgb3/t3c_psram-1.1.0.bin.ihex b/firmware/cxgb3/t3c_psram-1.1.0.bin.ihex deleted file mode 100644 index c650480..0000000 diff --git a/firmware/cxgb3/t3fw-7.10.0.bin.ihex b/firmware/cxgb3/t3fw-7.10.0.bin.ihex deleted file mode 100644 index 96399d8..0000000 diff --git a/firmware/dabusb/bitstream.bin.ihex b/firmware/dabusb/bitstream.bin.ihex deleted file mode 100644 index 5021a4b..0000000 diff --git a/firmware/dabusb/firmware.HEX b/firmware/dabusb/firmware.HEX deleted file mode 100644 index 7c258df..0000000 diff --git a/firmware/dsp56k/bootstrap.asm b/firmware/dsp56k/bootstrap.asm deleted file mode 100644 index a411047..0000000 diff --git a/firmware/dsp56k/bootstrap.bin.ihex b/firmware/dsp56k/bootstrap.bin.ihex deleted file mode 100644 index 233f21f..0000000 diff --git a/firmware/e100/d101m_ucode.bin.ihex b/firmware/e100/d101m_ucode.bin.ihex deleted file mode 100644 index 12971ed..0000000 diff --git a/firmware/e100/d101s_ucode.bin.ihex b/firmware/e100/d101s_ucode.bin.ihex deleted file mode 100644 index 102c7fe..0000000 diff --git a/firmware/e100/d102e_ucode.bin.ihex b/firmware/e100/d102e_ucode.bin.ihex deleted file mode 100644 index 9e806da..0000000 diff --git a/firmware/edgeport/boot.H16 b/firmware/edgeport/boot.H16 deleted file mode 100644 index 4bf8e91..0000000 diff --git a/firmware/edgeport/boot2.H16 b/firmware/edgeport/boot2.H16 deleted file mode 100644 index 8b14295..0000000 diff --git a/firmware/edgeport/down.H16 b/firmware/edgeport/down.H16 deleted file mode 100644 index 7e36fe1..0000000 diff --git a/firmware/edgeport/down2.H16 b/firmware/edgeport/down2.H16 deleted file mode 100644 index 2f4b4ff..0000000 diff --git a/firmware/edgeport/down3.bin.ihex b/firmware/edgeport/down3.bin.ihex deleted file mode 100644 index 7935e52..0000000 diff --git a/firmware/emi26/bitstream.HEX b/firmware/emi26/bitstream.HEX deleted file mode 100644 index 044d3f6..0000000 diff --git a/firmware/emi26/firmware.HEX b/firmware/emi26/firmware.HEX deleted file mode 100644 index 1ca400e..0000000 diff --git a/firmware/emi26/loader.HEX b/firmware/emi26/loader.HEX deleted file mode 100644 index 77c439f..0000000 diff --git a/firmware/emi62/bitstream.HEX b/firmware/emi62/bitstream.HEX deleted file mode 100644 index 3c6ecc3..0000000 diff --git a/firmware/emi62/loader.HEX b/firmware/emi62/loader.HEX deleted file mode 100644 index 0edb2dc..0000000 diff --git a/firmware/emi62/midi.HEX b/firmware/emi62/midi.HEX deleted file mode 100644 index 32a0d65..0000000 diff --git a/firmware/emi62/spdif.HEX b/firmware/emi62/spdif.HEX deleted file mode 100644 index 322d50c..0000000 diff --git a/firmware/ess/maestro3_assp_kernel.fw.ihex b/firmware/ess/maestro3_assp_kernel.fw.ihex deleted file mode 100644 index 933c4c3..0000000 diff --git a/firmware/ess/maestro3_assp_minisrc.fw.ihex b/firmware/ess/maestro3_assp_minisrc.fw.ihex deleted file mode 100644 index d2c0031..0000000 diff --git a/firmware/intelliport2.bin.ihex b/firmware/intelliport2.bin.ihex deleted file mode 100644 index e9cfe8c..0000000 diff --git a/firmware/isci/isci_firmware.bin.ihex b/firmware/isci/isci_firmware.bin.ihex deleted file mode 100644 index 2e66195..0000000 diff --git a/firmware/kaweth/new_code.bin.ihex b/firmware/kaweth/new_code.bin.ihex deleted file mode 100644 index 292d40f..0000000 diff --git a/firmware/kaweth/new_code_fix.bin.ihex b/firmware/kaweth/new_code_fix.bin.ihex deleted file mode 100644 index fb35d3d..0000000 diff --git a/firmware/kaweth/trigger_code.bin.ihex b/firmware/kaweth/trigger_code.bin.ihex deleted file mode 100644 index c3e1658..0000000 diff --git a/firmware/kaweth/trigger_code_fix.bin.ihex b/firmware/kaweth/trigger_code_fix.bin.ihex deleted file mode 100644 index 7712f73..0000000 diff --git a/firmware/keyspan/mpr.HEX b/firmware/keyspan/mpr.HEX deleted file mode 100644 index a53ba10..0000000 diff --git a/firmware/keyspan/usa18x.HEX b/firmware/keyspan/usa18x.HEX deleted file mode 100644 index a9ff70e..0000000 diff --git a/firmware/keyspan/usa19.HEX b/firmware/keyspan/usa19.HEX deleted file mode 100644 index c5d1496..0000000 diff --git a/firmware/keyspan/usa19qi.HEX b/firmware/keyspan/usa19qi.HEX deleted file mode 100644 index 353bfcf..0000000 diff --git a/firmware/keyspan/usa19qw.HEX b/firmware/keyspan/usa19qw.HEX deleted file mode 100644 index 8a89102..0000000 diff --git a/firmware/keyspan/usa19w.HEX b/firmware/keyspan/usa19w.HEX deleted file mode 100644 index a3b8431..0000000 diff --git a/firmware/keyspan/usa28.HEX b/firmware/keyspan/usa28.HEX deleted file mode 100644 index 000c978..0000000 diff --git a/firmware/keyspan/usa28x.HEX b/firmware/keyspan/usa28x.HEX deleted file mode 100644 index 9f0f7fa..0000000 diff --git a/firmware/keyspan/usa28xa.HEX b/firmware/keyspan/usa28xa.HEX deleted file mode 100644 index f14932e..0000000 diff --git a/firmware/keyspan/usa28xb.HEX b/firmware/keyspan/usa28xb.HEX deleted file mode 100644 index 07cb708..0000000 diff --git a/firmware/keyspan/usa49w.HEX b/firmware/keyspan/usa49w.HEX deleted file mode 100644 index 5e5b3d1..0000000 diff --git a/firmware/keyspan/usa49wlc.HEX b/firmware/keyspan/usa49wlc.HEX deleted file mode 100644 index 8406eb1..0000000 diff --git a/firmware/keyspan_pda/keyspan_pda.HEX b/firmware/keyspan_pda/keyspan_pda.HEX deleted file mode 100644 index 6fcf02b..0000000 diff --git a/firmware/keyspan_pda/keyspan_pda.S b/firmware/keyspan_pda/keyspan_pda.S deleted file mode 100644 index f3acc19..0000000 diff --git a/firmware/keyspan_pda/xircom_pgs.HEX b/firmware/keyspan_pda/xircom_pgs.HEX deleted file mode 100644 index e9b00d7..0000000 diff --git a/firmware/keyspan_pda/xircom_pgs.S b/firmware/keyspan_pda/xircom_pgs.S deleted file mode 100644 index 0b79bbf..0000000 diff --git a/firmware/korg/k1212.dsp.ihex b/firmware/korg/k1212.dsp.ihex deleted file mode 100644 index b151997..0000000 diff --git a/firmware/matrox/g200_warp.H16 b/firmware/matrox/g200_warp.H16 deleted file mode 100644 index 5064b6f..0000000 diff --git a/firmware/matrox/g400_warp.H16 b/firmware/matrox/g400_warp.H16 deleted file mode 100644 index b432d10..0000000 diff --git a/firmware/mts_cdma.fw.ihex b/firmware/mts_cdma.fw.ihex deleted file mode 100644 index f6ad0cb..0000000 diff --git a/firmware/mts_edge.fw.ihex b/firmware/mts_edge.fw.ihex deleted file mode 100644 index d14ebd6..0000000 diff --git a/firmware/mts_gsm.fw.ihex b/firmware/mts_gsm.fw.ihex deleted file mode 100644 index f6ad0cb..0000000 diff --git a/firmware/myricom/lanai.bin.ihex b/firmware/myricom/lanai.bin.ihex deleted file mode 100644 index bf47f4c..0000000 diff --git a/firmware/ositech/Xilinx7OD.bin.ihex b/firmware/ositech/Xilinx7OD.bin.ihex deleted file mode 100644 index 03e8085..0000000 diff --git a/firmware/qlogic/1040.bin.ihex b/firmware/qlogic/1040.bin.ihex deleted file mode 100644 index d121330..0000000 diff --git a/firmware/qlogic/12160.bin.ihex b/firmware/qlogic/12160.bin.ihex deleted file mode 100644 index dc800ec..0000000 diff --git a/firmware/qlogic/1280.bin.ihex b/firmware/qlogic/1280.bin.ihex deleted file mode 100644 index 612c263..0000000 diff --git a/firmware/qlogic/isp1000.bin.ihex b/firmware/qlogic/isp1000.bin.ihex deleted file mode 100644 index a5c242c..0000000 diff --git a/firmware/qlogic/sd7220.fw.ihex b/firmware/qlogic/sd7220.fw.ihex deleted file mode 100644 index a336363..0000000 diff --git a/firmware/r128/r128_cce.bin.ihex b/firmware/r128/r128_cce.bin.ihex deleted file mode 100644 index 4831315..0000000 diff --git a/firmware/radeon/R100_cp.bin.ihex b/firmware/radeon/R100_cp.bin.ihex deleted file mode 100644 index 151647b..0000000 diff --git a/firmware/radeon/R200_cp.bin.ihex b/firmware/radeon/R200_cp.bin.ihex deleted file mode 100644 index 3a0bd73..0000000 diff --git a/firmware/radeon/R300_cp.bin.ihex b/firmware/radeon/R300_cp.bin.ihex deleted file mode 100644 index d307d56..0000000 diff --git a/firmware/radeon/R420_cp.bin.ihex b/firmware/radeon/R420_cp.bin.ihex deleted file mode 100644 index 3815891..0000000 diff --git a/firmware/radeon/R520_cp.bin.ihex b/firmware/radeon/R520_cp.bin.ihex deleted file mode 100644 index 372ff82..0000000 diff --git a/firmware/radeon/R600_me.bin.ihex b/firmware/radeon/R600_me.bin.ihex deleted file mode 100644 index 30d4c14..0000000 diff --git a/firmware/radeon/R600_pfp.bin.ihex b/firmware/radeon/R600_pfp.bin.ihex deleted file mode 100644 index 5236108..0000000 diff --git a/firmware/radeon/RS600_cp.bin.ihex b/firmware/radeon/RS600_cp.bin.ihex deleted file mode 100644 index 4a89501..0000000 diff --git a/firmware/radeon/RS690_cp.bin.ihex b/firmware/radeon/RS690_cp.bin.ihex deleted file mode 100644 index 6896274..0000000 diff --git a/firmware/radeon/RS780_me.bin.ihex b/firmware/radeon/RS780_me.bin.ihex deleted file mode 100644 index 6479c10..0000000 diff --git a/firmware/radeon/RS780_pfp.bin.ihex b/firmware/radeon/RS780_pfp.bin.ihex deleted file mode 100644 index 4088041..0000000 diff --git a/firmware/radeon/RV610_me.bin.ihex b/firmware/radeon/RV610_me.bin.ihex deleted file mode 100644 index ba19ed8..0000000 diff --git a/firmware/radeon/RV610_pfp.bin.ihex b/firmware/radeon/RV610_pfp.bin.ihex deleted file mode 100644 index f55292c..0000000 diff --git a/firmware/radeon/RV620_me.bin.ihex b/firmware/radeon/RV620_me.bin.ihex deleted file mode 100644 index ba19ed8..0000000 diff --git a/firmware/radeon/RV620_pfp.bin.ihex b/firmware/radeon/RV620_pfp.bin.ihex deleted file mode 100644 index f55292c..0000000 diff --git a/firmware/radeon/RV630_me.bin.ihex b/firmware/radeon/RV630_me.bin.ihex deleted file mode 100644 index ba3a7e6..0000000 diff --git a/firmware/radeon/RV630_pfp.bin.ihex b/firmware/radeon/RV630_pfp.bin.ihex deleted file mode 100644 index f55292c..0000000 diff --git a/firmware/radeon/RV635_me.bin.ihex b/firmware/radeon/RV635_me.bin.ihex deleted file mode 100644 index ba3a7e6..0000000 diff --git a/firmware/radeon/RV635_pfp.bin.ihex b/firmware/radeon/RV635_pfp.bin.ihex deleted file mode 100644 index f55292c..0000000 diff --git a/firmware/radeon/RV670_me.bin.ihex b/firmware/radeon/RV670_me.bin.ihex deleted file mode 100644 index 9fbfc0e..0000000 diff --git a/firmware/radeon/RV670_pfp.bin.ihex b/firmware/radeon/RV670_pfp.bin.ihex deleted file mode 100644 index f55292c..0000000 diff --git a/firmware/radeon/RV710_me.bin.ihex b/firmware/radeon/RV710_me.bin.ihex deleted file mode 100644 index 5cdfe30..0000000 diff --git a/firmware/radeon/RV710_pfp.bin.ihex b/firmware/radeon/RV710_pfp.bin.ihex deleted file mode 100644 index 3d811ff..0000000 diff --git a/firmware/radeon/RV730_me.bin.ihex b/firmware/radeon/RV730_me.bin.ihex deleted file mode 100644 index 390c18e..0000000 diff --git a/firmware/radeon/RV730_pfp.bin.ihex b/firmware/radeon/RV730_pfp.bin.ihex deleted file mode 100644 index 3d811ff..0000000 diff --git a/firmware/radeon/RV770_me.bin.ihex b/firmware/radeon/RV770_me.bin.ihex deleted file mode 100644 index a0e1699..0000000 diff --git a/firmware/radeon/RV770_pfp.bin.ihex b/firmware/radeon/RV770_pfp.bin.ihex deleted file mode 100644 index a2d1619..0000000 diff --git a/firmware/sb16/alaw_main.csp.ihex b/firmware/sb16/alaw_main.csp.ihex deleted file mode 100644 index 0450270..0000000 diff --git a/firmware/sb16/ima_adpcm_capture.csp.ihex b/firmware/sb16/ima_adpcm_capture.csp.ihex deleted file mode 100644 index 9a50a58..0000000 diff --git a/firmware/sb16/ima_adpcm_init.csp.ihex b/firmware/sb16/ima_adpcm_init.csp.ihex deleted file mode 100644 index a899a9e..0000000 diff --git a/firmware/sb16/ima_adpcm_playback.csp.ihex b/firmware/sb16/ima_adpcm_playback.csp.ihex deleted file mode 100644 index f09f18c..0000000 diff --git a/firmware/sb16/mulaw_main.csp.ihex b/firmware/sb16/mulaw_main.csp.ihex deleted file mode 100644 index b64b565..0000000 diff --git a/firmware/sun/cassini.bin.ihex b/firmware/sun/cassini.bin.ihex deleted file mode 100644 index 5cd7ae7..0000000 diff --git a/firmware/tehuti/bdx.bin.ihex b/firmware/tehuti/bdx.bin.ihex deleted file mode 100644 index b029e4c..0000000 diff --git a/firmware/ti_3410.fw.ihex b/firmware/ti_3410.fw.ihex deleted file mode 100644 index b22c042..0000000 diff --git a/firmware/ti_5052.fw.ihex b/firmware/ti_5052.fw.ihex deleted file mode 100644 index b529e07..0000000 diff --git a/firmware/tigon/tg3.bin.ihex b/firmware/tigon/tg3.bin.ihex deleted file mode 100644 index d842d7c..0000000 diff --git a/firmware/tigon/tg3_tso.bin.ihex b/firmware/tigon/tg3_tso.bin.ihex deleted file mode 100644 index f10c4ef..0000000 diff --git a/firmware/tigon/tg3_tso5.bin.ihex b/firmware/tigon/tg3_tso5.bin.ihex deleted file mode 100644 index 3367251..0000000 diff --git a/firmware/tr_smctr.bin.ihex b/firmware/tr_smctr.bin.ihex deleted file mode 100644 index 6797451..0000000 diff --git a/firmware/ttusb-budget/dspbootcode.bin.ihex b/firmware/ttusb-budget/dspbootcode.bin.ihex deleted file mode 100644 index b4b2247..0000000 diff --git a/firmware/vicam/firmware.H16 b/firmware/vicam/firmware.H16 deleted file mode 100644 index cac0cba..0000000 diff --git a/firmware/whiteheat.HEX b/firmware/whiteheat.HEX deleted file mode 100644 index 8dae602..0000000 diff --git a/firmware/whiteheat_loader.HEX b/firmware/whiteheat_loader.HEX deleted file mode 100644 index 5f663f6..0000000 diff --git a/firmware/whiteheat_loader_debug.HEX b/firmware/whiteheat_loader_debug.HEX deleted file mode 100644 index 5633d58..0000000 diff --git a/firmware/yam/1200.bin.ihex b/firmware/yam/1200.bin.ihex deleted file mode 100644 index 9d34e56..0000000 diff --git a/firmware/yam/9600.bin.ihex b/firmware/yam/9600.bin.ihex deleted file mode 100644 index 817a34b..0000000 diff --git a/firmware/yamaha/ds1_ctrl.fw.ihex b/firmware/yamaha/ds1_ctrl.fw.ihex deleted file mode 100644 index aa9b1d7..0000000 diff --git a/firmware/yamaha/ds1_dsp.fw.ihex b/firmware/yamaha/ds1_dsp.fw.ihex deleted file mode 100644 index acb0ba4..0000000 diff --git a/firmware/yamaha/ds1e_ctrl.fw.ihex b/firmware/yamaha/ds1e_ctrl.fw.ihex deleted file mode 100644 index 597f429..0000000 diff --git a/firmware/yamaha/yss225_registers.bin.ihex b/firmware/yamaha/yss225_registers.bin.ihex deleted file mode 100644 index 6dd3d8c..0000000 diff --git a/scripts/Makefile.fwinst b/scripts/Makefile.fwinst index 6bf8e87..495ee3e 100644 --- a/scripts/Makefile.fwinst +++ b/scripts/Makefile.fwinst @@ -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: -- 1.7.7.3
[unhandled content-type:application/pgp-signature] |  |