summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorRyan Eatmon <reatmon@ti.com>2025-10-10 11:08:41 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2025-10-13 18:01:03 +0100
commit366aeb0e9a23c518a25a46ab82047a50a235650c (patch)
tree7775b48cf19e9b65087f4cb2b4fd21b22f59975f /meta
parent75a8d894be8afe2e6fdd671ce0aef08c60f829ed (diff)
downloadpoky-366aeb0e9a23c518a25a46ab82047a50a235650c.tar.gz
linux-firmware: Remove unlicensed firmware
Create a new REMOVE_UNLICENSED variable and do_install() logic to allow for marking certain firmware files as something to remove and not package up. This comes from the fact that the WHENCE file has a number of firmware entries that have no license information or very questionable declarations as to what the license is for the firmware. (From OE-Core rev: 406628a31b7d903e6545d8a1b6d0548f0874ed6d) Signed-off-by: Ryan Eatmon <reatmon@ti.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/recipes-kernel/linux-firmware/linux-firmware_20250917.bb66
1 files changed, 66 insertions, 0 deletions
diff --git a/meta/recipes-kernel/linux-firmware/linux-firmware_20250917.bb b/meta/recipes-kernel/linux-firmware/linux-firmware_20250917.bb
index a2e505bd93..4efdc73a45 100644
--- a/meta/recipes-kernel/linux-firmware/linux-firmware_20250917.bb
+++ b/meta/recipes-kernel/linux-firmware/linux-firmware_20250917.bb
@@ -5,6 +5,57 @@ that contains firmware binary blobs necessary for partial or full functionality
5of certain hardware devices." 5of certain hardware devices."
6SECTION = "kernel" 6SECTION = "kernel"
7 7
8REMOVE_UNLICENSED = ""
9
10# For acenic - Alteon AceNIC Gigabit Ethernet card
11REMOVE_UNLICENSED += "acenic/tg1.bin acenic/tg2.bin"
12
13# For emi62 - EMI 6|2m USB Audio interface
14REMOVE_UNLICENSED += "emi62/bitstream.fw emi62/loader.fw emi62/midi.fw emi62/spdif.fw"
15
16# For snd-maestro3 - ESS Allegro Maestro3 audio device
17REMOVE_UNLICENSED += "ess/maestro3_assp_kernel.fw ess/maestro3_assp_minisrc.fw"
18
19# For s2255drv
20REMOVE_UNLICENSED += "f2255usb.bin"
21
22# For snd-korg1212 - Korg 1212 IO audio device
23REMOVE_UNLICENSED += "korg/k1212.dsp"
24
25# For lgs8gxx - Legend Silicon GB20600 demodulator driver
26REMOVE_UNLICENSED += "lgs8g75.fw"
27
28# For ti_usb_3410_5052 - Multi-Tech USB cell modems
29REMOVE_UNLICENSED += "mts_cdma.fw mts_gsm.fw mts_edge.fw mts_mt9234mu.fw mts_mt9234zba.fw"
30
31# For myri_sbus - MyriCOM Gigabit Ethernet
32REMOVE_UNLICENSED += "myricom/lanai.bin"
33
34# For qlogicpti - PTI Qlogic, ISP Driver
35REMOVE_UNLICENSED += "qlogic/isp1000.bin"
36
37# For cassini - Sun Cassini
38REMOVE_UNLICENSED += "sun/cassini.bin"
39
40# For dvb-ttusb-budget - Technotrend/Hauppauge Nova-USB devices
41REMOVE_UNLICENSED += "ttusb-budget/dspbootcode.bin"
42
43# For ueagle-atm - Driver for USB ADSL Modems based on Eagle I,II,III
44REMOVE_UNLICENSED += "ueagle-atm/930-fpga.bin ueagle-atm/CMVeiWO.bin ueagle-atm/CMVepFR10.bin ueagle-atm/DSP9p.bin ueagle-atm/eagleIII.fw ueagle-atm/adi930.fw ueagle-atm/CMVep.bin ueagle-atm/CMVepFR.bin ueagle-atm/DSPei.bin ueagle-atm/CMV9i.bin ueagle-atm/CMVepES03.bin ueagle-atm/CMVepIT.bin ueagle-atm/DSPep.bin ueagle-atm/CMV9p.bin ueagle-atm/CMVepES.bin ueagle-atm/CMVepWO.bin ueagle-atm/eagleI.fw ueagle-atm/CMVei.bin ueagle-atm/CMVepFR04.bin ueagle-atm/DSP9i.bin ueagle-atm/eagleII.fw"
45
46# For vicam - USB 3com HomeConnect (aka vicam)
47REMOVE_UNLICENSED += "vicam/firmware.fw"
48
49# For yam - YAM driver for AX.25
50REMOVE_UNLICENSED += "yam/1200.bin yam/9600.bin"
51
52# For snd-wavefront - ISA WaveFront sound card
53REMOVE_UNLICENSED += "yamaha/yss225_registers.bin"
54
55# For snd-ymfpci - Yamaha YMF724/740/744/754 audio devices
56REMOVE_UNLICENSED += "yamaha/ds1_ctrl.fw yamaha/ds1_dsp.fw yamaha/ds1e_ctrl.fw"
57
58
8LICENSE = "\ 59LICENSE = "\
9 Firmware-Abilis \ 60 Firmware-Abilis \
10 & Firmware-adsp_sst \ 61 & Firmware-adsp_sst \
@@ -429,6 +480,21 @@ do_install() {
429 fi 480 fi
430 cp LICEN[CS]E.* WHENCE ${D}${nonarch_base_libdir}/firmware/ 481 cp LICEN[CS]E.* WHENCE ${D}${nonarch_base_libdir}/firmware/
431 cp wfx/LICEN[CS]E.* ${D}${nonarch_base_libdir}/firmware/wfx/ 482 cp wfx/LICEN[CS]E.* ${D}${nonarch_base_libdir}/firmware/wfx/
483
484 # Remove all unlicensed firmware
485 for file in ${REMOVE_UNLICENSED}; do
486 echo "Remove unlicensed firmware: $file"
487 rm ${D}${nonarch_base_libdir}/firmware/$file
488 path_to_file=$(dirname $file)
489 while [ "${path_to_file}" != "." ]; do
490 num_files=$(ls -A1 ${D}${nonarch_base_libdir}/firmware/$path_to_file | wc -l)
491 if [ "$num_files" = "0" ]; then
492 echo "Remove empty dir: $path_to_file"
493 rm -rf ${D}${nonarch_base_libdir}/firmware/$path_to_file
494 fi
495 path_to_file=$(dirname $path_to_file)
496 done
497 done
432} 498}
433 499
434PACKAGES =+ "${PN}-amphion-vpu-license ${PN}-amphion-vpu \ 500PACKAGES =+ "${PN}-amphion-vpu-license ${PN}-amphion-vpu \