Skip to contentSkip to conversation

firmware, kbuild: Get all firmware blobs from a separate directory

RFC PATCH New Ben Hutchings 1 participant 2 messages Dec 18, 2011

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

RFC PATCH 1/1 firmware, kbuild: Get all firmware blobs from a separate directory

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
Makefile +3 -8
index d1ea73f..c387a96 100644
@@ -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
deleted file mode 100644
index 781bac3..0000000
firmware/3com/typhoon.bin.ihex deleted +0 -0
deleted file mode 100644
index d7a83be..0000000
firmware/Makefile +19 -184

237 lines not on this page · raw message

firmware/README.AddingFirmware deleted +0 -0
deleted file mode 100644
index e24cd89..0000000
firmware/WHENCE deleted +0 -0
deleted file mode 100644
index 182ecb6..0000000
firmware/acenic/tg1.bin.ihex deleted +0 -0
deleted file mode 100644
index bef2659..0000000
firmware/acenic/tg2.bin.ihex deleted +0 -0
deleted file mode 100644
index a9ff4f4..0000000
firmware/adaptec/starfire_rx.bin.ihex deleted +0 -0
deleted file mode 100644
index 6b1fae0..0000000
firmware/adaptec/starfire_tx.bin.ihex deleted +0 -0
deleted file mode 100644
index 6b1fae0..0000000
firmware/advansys/3550.bin.ihex deleted +0 -0
deleted file mode 100644
index 6809b0d..0000000
firmware/advansys/38C0800.bin.ihex deleted +0 -0
deleted file mode 100644
index a60b447..0000000
firmware/advansys/38C1600.bin.ihex deleted +0 -0
deleted file mode 100644
index 18c7c48..0000000
firmware/advansys/mcode.bin.ihex deleted +0 -0
deleted file mode 100644
index cd160d9..0000000
firmware/atmsar11.HEX deleted +0 -0
deleted file mode 100644
index dfddc19..0000000
firmware/av7110/Boot.S deleted +0 -0
deleted file mode 100644
index d562fdc..0000000
firmware/av7110/bootcode.bin.ihex deleted +0 -0
deleted file mode 100644
index 26a2993..0000000
firmware/bnx2/bnx2-mips-06-6.2.1.fw.ihex deleted +0 -0
deleted file mode 100644
index 4c43b26..0000000
firmware/bnx2/bnx2-mips-09-6.2.1a.fw.ihex deleted +0 -0
deleted file mode 100644
index 05e7102..0000000
firmware/bnx2/bnx2-rv2p-06-6.0.15.fw.ihex deleted +0 -0
deleted file mode 100644
index dcc443e..0000000
firmware/bnx2/bnx2-rv2p-09-6.0.17.fw.ihex deleted +0 -0
deleted file mode 100644
index 435203d..0000000
firmware/bnx2/bnx2-rv2p-09ax-6.0.17.fw.ihex deleted +0 -0
deleted file mode 100644
index d2f2757..0000000
firmware/bnx2x/bnx2x-e1-6.2.9.0.fw.ihex deleted +0 -0
deleted file mode 100644
index 0ed7f58..0000000
firmware/bnx2x/bnx2x-e1h-6.2.9.0.fw.ihex deleted +0 -0
deleted file mode 100644
index ba1ce53..0000000
firmware/bnx2x/bnx2x-e2-6.2.9.0.fw.ihex deleted +0 -0
deleted file mode 100644
index 8405e71..0000000
firmware/cis/.gitignore deleted +0 -0
deleted file mode 100644
index 1de3984..0000000
firmware/cis/3CCFEM556.cis.ihex deleted +0 -0
deleted file mode 100644
index e4d92b1..0000000
firmware/cis/3CXEM556.cis.ihex deleted +0 -0
deleted file mode 100644
index 895010b..0000000
firmware/cis/COMpad2.cis.ihex deleted +0 -0
deleted file mode 100644
index 1671c5e..0000000
firmware/cis/COMpad4.cis.ihex deleted +0 -0
deleted file mode 100644
index 27bbec1..0000000
firmware/cis/DP83903.cis.ihex deleted +0 -0
deleted file mode 100644
index 6d73ea3..0000000
firmware/cis/LA-PCM.cis.ihex deleted +0 -0
deleted file mode 100644
index a0ff0c7..0000000
firmware/cis/MT5634ZLX.cis.ihex deleted +0 -0
deleted file mode 100644
index 72500b9..0000000
firmware/cis/NE2K.cis.ihex deleted +0 -0
deleted file mode 100644
index 1bb40fc..0000000
firmware/cis/PCMLM28.cis.ihex deleted +0 -0
deleted file mode 100644
index ffdfe85..0000000
firmware/cis/PE-200.cis.ihex deleted +0 -0
deleted file mode 100644
index e6dbdab..0000000
firmware/cis/PE520.cis.ihex deleted +0 -0
deleted file mode 100644
index 97a745b..0000000
firmware/cis/RS-COM-2P.cis.ihex deleted +0 -0
deleted file mode 100644
index 0801ca5..0000000
firmware/cis/SW_555_SER.cis.ihex deleted +0 -0
deleted file mode 100644
index 9b9348a..0000000
firmware/cis/SW_7xx_SER.cis.ihex deleted +0 -0
deleted file mode 100644
index 11e44ad..0000000
firmware/cis/SW_8xx_SER.cis.ihex deleted +0 -0
deleted file mode 100644
index bbcfe63..0000000
firmware/cis/tamarack.cis.ihex deleted +0 -0
deleted file mode 100644
index 1e86547..0000000
firmware/cpia2/stv0672_vp4.bin.ihex deleted +0 -0
deleted file mode 100644
index bd0b9cf..0000000
firmware/cxgb3/ael2005_opt_edc.bin.ihex deleted +0 -0
deleted file mode 100644
index c1d6e5d..0000000
firmware/cxgb3/ael2005_twx_edc.bin.ihex deleted +0 -0
deleted file mode 100644
index 9b5e9e5..0000000
firmware/cxgb3/ael2020_twx_edc.bin.ihex deleted +0 -0
deleted file mode 100644
index 8b1337f..0000000
firmware/cxgb3/t3b_psram-1.1.0.bin.ihex deleted +0 -0
deleted file mode 100644
index 1408930..0000000
firmware/cxgb3/t3c_psram-1.1.0.bin.ihex deleted +0 -0
deleted file mode 100644
index c650480..0000000
firmware/cxgb3/t3fw-7.10.0.bin.ihex deleted +0 -0
deleted file mode 100644
index 96399d8..0000000
firmware/dabusb/bitstream.bin.ihex deleted +0 -0
deleted file mode 100644
index 5021a4b..0000000
firmware/dabusb/firmware.HEX deleted +0 -0
deleted file mode 100644
index 7c258df..0000000
firmware/dsp56k/bootstrap.asm deleted +0 -0
deleted file mode 100644
index a411047..0000000
firmware/dsp56k/bootstrap.bin.ihex deleted +0 -0
deleted file mode 100644
index 233f21f..0000000
firmware/e100/d101m_ucode.bin.ihex deleted +0 -0
deleted file mode 100644
index 12971ed..0000000
firmware/e100/d101s_ucode.bin.ihex deleted +0 -0
deleted file mode 100644
index 102c7fe..0000000
firmware/e100/d102e_ucode.bin.ihex deleted +0 -0
deleted file mode 100644
index 9e806da..0000000
firmware/edgeport/boot.H16 deleted +0 -0
deleted file mode 100644
index 4bf8e91..0000000
firmware/edgeport/boot2.H16 deleted +0 -0
deleted file mode 100644
index 8b14295..0000000
firmware/edgeport/down.H16 deleted +0 -0
deleted file mode 100644
index 7e36fe1..0000000
firmware/edgeport/down2.H16 deleted +0 -0
deleted file mode 100644
index 2f4b4ff..0000000
firmware/edgeport/down3.bin.ihex deleted +0 -0
deleted file mode 100644
index 7935e52..0000000
firmware/emi26/bitstream.HEX deleted +0 -0
deleted file mode 100644
index 044d3f6..0000000
firmware/emi26/firmware.HEX deleted +0 -0
deleted file mode 100644
index 1ca400e..0000000
firmware/emi26/loader.HEX deleted +0 -0
deleted file mode 100644
index 77c439f..0000000
firmware/emi62/bitstream.HEX deleted +0 -0
deleted file mode 100644
index 3c6ecc3..0000000
firmware/emi62/loader.HEX deleted +0 -0
deleted file mode 100644
index 0edb2dc..0000000
firmware/emi62/midi.HEX deleted +0 -0
deleted file mode 100644
index 32a0d65..0000000
firmware/emi62/spdif.HEX deleted +0 -0
deleted file mode 100644
index 322d50c..0000000
firmware/ess/maestro3_assp_kernel.fw.ihex deleted +0 -0
deleted file mode 100644
index 933c4c3..0000000
firmware/ess/maestro3_assp_minisrc.fw.ihex deleted +0 -0
deleted file mode 100644
index d2c0031..0000000
firmware/intelliport2.bin.ihex deleted +0 -0
deleted file mode 100644
index e9cfe8c..0000000
firmware/isci/isci_firmware.bin.ihex deleted +0 -0
deleted file mode 100644
index 2e66195..0000000
firmware/kaweth/new_code.bin.ihex deleted +0 -0
deleted file mode 100644
index 292d40f..0000000
firmware/kaweth/new_code_fix.bin.ihex deleted +0 -0
deleted file mode 100644
index fb35d3d..0000000
firmware/kaweth/trigger_code.bin.ihex deleted +0 -0
deleted file mode 100644
index c3e1658..0000000
firmware/kaweth/trigger_code_fix.bin.ihex deleted +0 -0
deleted file mode 100644
index 7712f73..0000000
firmware/keyspan/mpr.HEX deleted +0 -0
deleted file mode 100644
index a53ba10..0000000
firmware/keyspan/usa18x.HEX deleted +0 -0
deleted file mode 100644
index a9ff70e..0000000
firmware/keyspan/usa19.HEX deleted +0 -0
deleted file mode 100644
index c5d1496..0000000
firmware/keyspan/usa19qi.HEX deleted +0 -0
deleted file mode 100644
index 353bfcf..0000000
firmware/keyspan/usa19qw.HEX deleted +0 -0
deleted file mode 100644
index 8a89102..0000000
firmware/keyspan/usa19w.HEX deleted +0 -0
deleted file mode 100644
index a3b8431..0000000
firmware/keyspan/usa28.HEX deleted +0 -0
deleted file mode 100644
index 000c978..0000000
firmware/keyspan/usa28x.HEX deleted +0 -0
deleted file mode 100644
index 9f0f7fa..0000000
firmware/keyspan/usa28xa.HEX deleted +0 -0
deleted file mode 100644
index f14932e..0000000
firmware/keyspan/usa28xb.HEX deleted +0 -0
deleted file mode 100644
index 07cb708..0000000
firmware/keyspan/usa49w.HEX deleted +0 -0
deleted file mode 100644
index 5e5b3d1..0000000
firmware/keyspan/usa49wlc.HEX deleted +0 -0
deleted file mode 100644
index 8406eb1..0000000
firmware/keyspan_pda/keyspan_pda.HEX deleted +0 -0
deleted file mode 100644
index 6fcf02b..0000000
firmware/keyspan_pda/keyspan_pda.S deleted +0 -0
deleted file mode 100644
index f3acc19..0000000
firmware/keyspan_pda/xircom_pgs.HEX deleted +0 -0
deleted file mode 100644
index e9b00d7..0000000
firmware/keyspan_pda/xircom_pgs.S deleted +0 -0
deleted file mode 100644
index 0b79bbf..0000000
firmware/korg/k1212.dsp.ihex deleted +0 -0
deleted file mode 100644
index b151997..0000000
firmware/matrox/g200_warp.H16 deleted +0 -0
deleted file mode 100644
index 5064b6f..0000000
firmware/matrox/g400_warp.H16 deleted +0 -0
deleted file mode 100644
index b432d10..0000000
firmware/mts_cdma.fw.ihex deleted +0 -0
deleted file mode 100644
index f6ad0cb..0000000
firmware/mts_edge.fw.ihex deleted +0 -0
deleted file mode 100644
index d14ebd6..0000000
firmware/mts_gsm.fw.ihex deleted +0 -0
deleted file mode 100644
index f6ad0cb..0000000
firmware/myricom/lanai.bin.ihex deleted +0 -0
deleted file mode 100644
index bf47f4c..0000000
firmware/ositech/Xilinx7OD.bin.ihex deleted +0 -0
deleted file mode 100644
index 03e8085..0000000
firmware/qlogic/1040.bin.ihex deleted +0 -0
deleted file mode 100644
index d121330..0000000
firmware/qlogic/12160.bin.ihex deleted +0 -0
deleted file mode 100644
index dc800ec..0000000
firmware/qlogic/1280.bin.ihex deleted +0 -0
deleted file mode 100644
index 612c263..0000000
firmware/qlogic/isp1000.bin.ihex deleted +0 -0
deleted file mode 100644
index a5c242c..0000000
firmware/qlogic/sd7220.fw.ihex deleted +0 -0
deleted file mode 100644
index a336363..0000000
firmware/r128/r128_cce.bin.ihex deleted +0 -0
deleted file mode 100644
index 4831315..0000000
firmware/radeon/R100_cp.bin.ihex deleted +0 -0
deleted file mode 100644
index 151647b..0000000
firmware/radeon/R200_cp.bin.ihex deleted +0 -0
deleted file mode 100644
index 3a0bd73..0000000
firmware/radeon/R300_cp.bin.ihex deleted +0 -0
deleted file mode 100644
index d307d56..0000000
firmware/radeon/R420_cp.bin.ihex deleted +0 -0
deleted file mode 100644
index 3815891..0000000
firmware/radeon/R520_cp.bin.ihex deleted +0 -0
deleted file mode 100644
index 372ff82..0000000
firmware/radeon/R600_me.bin.ihex deleted +0 -0
deleted file mode 100644
index 30d4c14..0000000
firmware/radeon/R600_pfp.bin.ihex deleted +0 -0
deleted file mode 100644
index 5236108..0000000
firmware/radeon/RS600_cp.bin.ihex deleted +0 -0
deleted file mode 100644
index 4a89501..0000000
firmware/radeon/RS690_cp.bin.ihex deleted +0 -0
deleted file mode 100644
index 6896274..0000000
firmware/radeon/RS780_me.bin.ihex deleted +0 -0
deleted file mode 100644
index 6479c10..0000000
firmware/radeon/RS780_pfp.bin.ihex deleted +0 -0
deleted file mode 100644
index 4088041..0000000
firmware/radeon/RV610_me.bin.ihex deleted +0 -0
deleted file mode 100644
index ba19ed8..0000000
firmware/radeon/RV610_pfp.bin.ihex deleted +0 -0
deleted file mode 100644
index f55292c..0000000
firmware/radeon/RV620_me.bin.ihex deleted +0 -0
deleted file mode 100644
index ba19ed8..0000000
firmware/radeon/RV620_pfp.bin.ihex deleted +0 -0
deleted file mode 100644
index f55292c..0000000
firmware/radeon/RV630_me.bin.ihex deleted +0 -0
deleted file mode 100644
index ba3a7e6..0000000
firmware/radeon/RV630_pfp.bin.ihex deleted +0 -0
deleted file mode 100644
index f55292c..0000000
firmware/radeon/RV635_me.bin.ihex deleted +0 -0
deleted file mode 100644
index ba3a7e6..0000000
firmware/radeon/RV635_pfp.bin.ihex deleted +0 -0
deleted file mode 100644
index f55292c..0000000
firmware/radeon/RV670_me.bin.ihex deleted +0 -0
deleted file mode 100644
index 9fbfc0e..0000000
firmware/radeon/RV670_pfp.bin.ihex deleted +0 -0
deleted file mode 100644
index f55292c..0000000
firmware/radeon/RV710_me.bin.ihex deleted +0 -0
deleted file mode 100644
index 5cdfe30..0000000
firmware/radeon/RV710_pfp.bin.ihex deleted +0 -0
deleted file mode 100644
index 3d811ff..0000000
firmware/radeon/RV730_me.bin.ihex deleted +0 -0
deleted file mode 100644
index 390c18e..0000000
firmware/radeon/RV730_pfp.bin.ihex deleted +0 -0
deleted file mode 100644
index 3d811ff..0000000
firmware/radeon/RV770_me.bin.ihex deleted +0 -0
deleted file mode 100644
index a0e1699..0000000
firmware/radeon/RV770_pfp.bin.ihex deleted +0 -0
deleted file mode 100644
index a2d1619..0000000
firmware/sb16/alaw_main.csp.ihex deleted +0 -0
deleted file mode 100644
index 0450270..0000000
firmware/sb16/ima_adpcm_capture.csp.ihex deleted +0 -0
deleted file mode 100644
index 9a50a58..0000000
firmware/sb16/ima_adpcm_init.csp.ihex deleted +0 -0
deleted file mode 100644
index a899a9e..0000000
firmware/sb16/ima_adpcm_playback.csp.ihex deleted +0 -0
deleted file mode 100644
index f09f18c..0000000
firmware/sb16/mulaw_main.csp.ihex deleted +0 -0
deleted file mode 100644
index b64b565..0000000
firmware/sun/cassini.bin.ihex deleted +0 -0
deleted file mode 100644
index 5cd7ae7..0000000
firmware/tehuti/bdx.bin.ihex deleted +0 -0
deleted file mode 100644
index b029e4c..0000000
firmware/ti_3410.fw.ihex deleted +0 -0
deleted file mode 100644
index b22c042..0000000
firmware/ti_5052.fw.ihex deleted +0 -0
deleted file mode 100644
index b529e07..0000000
firmware/tigon/tg3.bin.ihex deleted +0 -0
deleted file mode 100644
index d842d7c..0000000
firmware/tigon/tg3_tso.bin.ihex deleted +0 -0
deleted file mode 100644
index f10c4ef..0000000
firmware/tigon/tg3_tso5.bin.ihex deleted +0 -0
deleted file mode 100644
index 3367251..0000000
firmware/tr_smctr.bin.ihex deleted +0 -0
deleted file mode 100644
index 6797451..0000000
firmware/ttusb-budget/dspbootcode.bin.ihex deleted +0 -0
deleted file mode 100644
index b4b2247..0000000
firmware/vicam/firmware.H16 deleted +0 -0
deleted file mode 100644
index cac0cba..0000000
firmware/whiteheat.HEX deleted +0 -0
deleted file mode 100644
index 8dae602..0000000
firmware/whiteheat_loader.HEX deleted +0 -0
deleted file mode 100644
index 5f663f6..0000000
firmware/whiteheat_loader_debug.HEX deleted +0 -0
deleted file mode 100644
index 5633d58..0000000
firmware/yam/1200.bin.ihex deleted +0 -0
deleted file mode 100644
index 9d34e56..0000000
firmware/yam/9600.bin.ihex deleted +0 -0
deleted file mode 100644
index 817a34b..0000000
firmware/yamaha/ds1_ctrl.fw.ihex deleted +0 -0
deleted file mode 100644
index aa9b1d7..0000000
firmware/yamaha/ds1_dsp.fw.ihex deleted +0 -0
deleted file mode 100644
index acb0ba4..0000000
firmware/yamaha/ds1e_ctrl.fw.ihex deleted +0 -0
deleted file mode 100644
index 597f429..0000000
firmware/yamaha/yss225_registers.bin.ihex deleted +0 -0
deleted file mode 100644
index 6dd3d8c..0000000
scripts/Makefile.fwinst +7 -17
index 6bf8e87..495ee3e 100644
@@ -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
#1 lore raw

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
index b5e2e4c..7d1f1d7 100644
@@ -678,6 +678,7 @@
 	EXIT_CALL							\
 	*(.discard)							\
 	*(.discard.*)							\
+	*(.firmware_wanted)						\
 	}
 
 /**
include/linux/module.h +7 -0
index 3cb7839..2cc323d 100644
@@ -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