GNU Linux-libre 6.1.19-gnu
[releases.git] / deblob-check
index 364a623b4dde104e122753d5e888cd32b93f7ad6..4d080622b5186a348a912f974a6aeea52f1a2f3d 100755 (executable)
@@ -1,13 +1,13 @@
 #! /bin/sh
 
-# deblob-check version 2021-12-20
+# deblob-check version 2023-03-10 r19100
 # Inspired in gNewSense's find-firmware script.
 # Written by Alexandre Oliva <lxoliva@fsfla.org>
 
 # Check http://www.fsfla.org/svn/fsfla/software/linux-libre for newer
 # versions.
 
-# Copyright 2008-2021 Alexandre Oliva <lxoliva@fsfla.org>
+# Copyright 2008-2023 Alexandre Oliva <lxoliva@fsfla.org>
 #
 # This program is part of GNU Linux-libre, a GNU project that
 # publishes scripts to clean up Linux so as to make it suitable for
@@ -2281,7 +2281,8 @@ set_except () {
     defsnc 'static[ ]\(u16\|struct[ ]i2c_reg_u16\)[ ]\(bridge\|mt9\(v\(11[12]\|011\)\|m001\)\)_init\[\]\(\[2\]\)\?[ ]=' drivers/media/video/gspca/sn9c20x.c
     defsnc 'static[ ]\(u8\|struct[ ]i2c_reg_u8\)[ ]\(soi968\|ov\(76[67]0\|965[05]\)\|hv7131r\)_init\[\]\(\[2\]\)\?[ ]=' drivers/media/video/gspca/sn9c20x.c
     defsnc 'static[ ]struct[ ]nand_ecclayout[ ]onenand_oob_128[ ]=' drivers/mtd/onenand/onenand_base.c
-    blob '#define[ ]BCM_5710_FW_\(\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION\|COMPILE_FLAGS\)[    ]*[0-9]\+\([\n]#define[ ]BCM_5710_FW_\(\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION\|COMPILE_FLAGS\)[        ]*[0-9]\+\)*' 'drivers/net/\(bnx2x[/]\)\?bnx2x_hsi\.h'
+    # Moved down to avoid shorter earlier match.
+    # blob '#define[ ]BCM_5710_FW_\(\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION\|COMPILE_FLAGS\)[  ]*[0-9]\+\([\n]#define[ ]BCM_5710_FW_\(\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION\|COMPILE_FLAGS\)[        ]*[0-9]\+\)*' 'drivers/net/\(bnx2x[/]\)\?bnx2x_hsi\.h'
     blob 'static[ ]int[ ]\(__devinit[ ]\)\?bnx2x_check_firmware[(]struct[ ]bnx2x[ ][*]bp[)][\n][{][^\n]*\([\n]\+[^\n}][^\n]*\)*[\n]\+[}]' 'drivers/net/\(bnx2x[/]\)\?bnx2x_main\.c'
     blobna 'if[ ][(][(]fw_ver\[[0-3]\][ ]!=[ ]BCM_5710_FW_\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION[)]\([ ][|][|][\n][   ]*[(]fw_ver\[[0-3]\][ ]!=[ ]BCM_5710_FW_\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION[)]\)*[)][ ][{][^{}]*[}]' 'drivers/net/\(bnx2x[/]\)\?bnx2x_main\.c'
     blobna 'sprintf[(]fw_file_name[ ][+][ ]offset,[ ]["]%d[.]%d[.]%d[.]%d[.]fw["]\(,[\n][      ]*BCM_5710_FW_\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION\)*[)][;]' 'drivers/net/\(bnx2x[/]\)\?bnx2x_main\.c'
@@ -2411,7 +2412,8 @@ set_except () {
     blob '#define[ ]_FW_NAME[(]api[)][ ]DRV_NAME[ ]["][.]["][ ]#api[ ]["]\.fw["]' drivers/media/video/iwmc3200top.h
     blob '#define[ ]FW_FILE_VERSION\([ ]*[\\][\n][     ]__stringify[(]BCM_5710_FW_\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION[)]\([ ]["][.]["]\)\?\)\+' 'drivers/net/\(bnx2x/\)\?bnx2x_main\.c'
     blobname '\(bnx2x[/]\)\?bnx2x-e[12]h\?-["][ ]FW_FILE_VERSION[ ]["]\.fw' 'drivers/net/\(bnx2x/\)\?bnx2x_main\.c'
-    blobname '\(bnx2x[/]\)\?bnx2x-e[12]h\?-\([0-9.%d]*\.fw\)\?' 'drivers/net/\(bnx2x/\)\?bnx2x_main\.c'
+    # Moved down to avoid shorter earlier match.
+    # blobname '\(bnx2x[/]\)\?bnx2x-e[12]h\?-\([0-9.%d]*\.fw\)\?' 'drivers/net/\(bnx2x/\)\?bnx2x_main\.c'
     blob '#define[ ]FW_VERSION\([      ]__stringify[(]FW_VERSION_\(MAJOR\|MINOR\|MICRO\)[)]\([ ]["][.]["]\)\?\([       ]*[\\][\n]\)\?\)\+' drivers/net/cxgb3/cxgb3_main.c
     blobname 'cxgb3[/]t3fw-["][ ]FW_VERSION[ ]["]\.bin' drivers/net/cxgb3/cxgb3_main.c
     blob '#define[ ]TPSRAM_VERSION\([  ]__stringify[(]TP_VERSION_\(MAJOR\|MINOR\|MICRO\)[)]\([ ]["][.]["]\)\?\([       ]*[\\][\n]\)\?\)\+' drivers/net/cxgb3/cxgb3_main.c
@@ -4841,7 +4843,8 @@ set_except () {
     accept '[\t]\(complete\|init_completion\|[\t]wait_for_completion\)[(][&]bus->request_firmware_complete[)]' drivers/net/wireless/quantenna/qtnfmac/pearl/pcie.c
     accept '[\t]ret[ ]=[ ]reject_firmware_nowait[(][^)]*[,][ ]qtnf_firmware_load[)][;][\n][\t]*if[ ][(]ret[ ][<][ ]0[)][\n][\t]*pr_err[(]["]request_firmware_nowait[ ]error' drivers/net/wireless/quantenna/qtnfmac/pearl/pcie.c
     blobname '\(adsp\|slpi\)\.mdt' drivers/remoteproc/qcom_adsp_pil.c
-    blobname 'wcnss\.mdt' drivers/remoteproc/qcom_wcnss.c
+    # Moved down to allow for longer match in non-NDA regexp engines.
+    # blobname 'wcnss\.mdt' drivers/remoteproc/qcom_wcnss.c
 
     # New in 4.14 (up to rc5).
     blobname 'amdgpu[/]vega10_acg_smc\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
@@ -6090,7 +6093,8 @@ set_except () {
     blobname 'rtl_bt[/]rtl8852au_fw\.bin' drivers/bluetooth/btrtl.c
     blobname 'qca[/]nvm_usb_%08x_%04x\.bin' drivers/bluetooth/btusb.c
     blobname 'amdgpu[/]%s_toc\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
-    blobname 'amdgpu[/]%s' drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
+    # Moved down, after %s_cap and %s.bin under 5.18-rc.
+    # blobname 'amdgpu[/]%s' drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
     blobname 'amdgpu[/]vangogh_vcn\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
     blobname 'amdgpu[/]dimgrey_cavefish_vcn\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
     blobname 'amdgpu[/]vangogh_dmcub\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_dm.c
@@ -6395,6 +6399,384 @@ set_except () {
     blobname 'qcom[/]%s[/]%s-tplg\.bin' sound/soc/qcom/qdsp6/topology.c
     blobname '%s-%s-%s\.%s' sound/soc/codecs/wm_adsp.c
 
+    # New in 5.16.3, 5.15.17, 5.10.94, 5.4.174, 4.19.226, 4.14.263.
+    accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]\(p1100\|s660\|p7500\)_properties[ ]=[ ][{][\n]\([   ]\.\(caps\|usb_ctrl\|size_of_priv\)[ ]*=[ ][^",]*,[\n]*\)*[     ]\.firmware[ ]*=[ ]' drivers/media/usb/dvb-usb/dw2102.c
+
+    # New in 5.16.4, 5.15.18, 5.10.95.
+    blob '#define[ ]BCM_5710_FW_\(\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION\|COMPILE_FLAGS\)\(_V15\)\?[  ]*[0-9]\+\([\n]#define[ ]BCM_5710_FW_\(\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION\|COMPILE_FLAGS\)\(_V15\)\?[      ]*[0-9]\+\)*' 'drivers/net/\(bnx2x[/]\)\?bnx2x_hsi\.h'
+    blob '#define[ ]FW_FILE_VERSION\(_V15\)\?\([        ]*[\\][\n][    ]__stringify[(]BCM_5710_FW_\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION\(_V15\)\?[)]\([ ]["][.]["]\)\?\)\+' 'drivers/net/\(bnx2x/\)\?bnx2x_main\.c'
+    blobname '\(bnx2x[/]\)\?bnx2x-e[12]h\?-["][ ]FW_FILE_VERSION\(_V15\)\?[ ]["]\.fw' 'drivers/net/\(bnx2x/\)\?bnx2x_main\.c'
+    blobname '\(bnx2x[/]\)\?bnx2x-e[12]h\?-\([0-9.%d]*\.fw\)\?' 'drivers/net/\(bnx2x/\)\?bnx2x_main\.c'
+    blobna '\([,][\n \t]*BCM_5710_FW_\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION\)\+' drivers/net/wireless/broadcom/bnx2x/bnx2x_main.c
+    accept '[\t][\t][\t]goto[ ]request_firmware_exit[;]' drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
+    blobna 'bp->fw_\(major\|minor\|eng\|rev\)[ ]=[ ]BCM_5710_FW_\(MAJOR\|MINOR\|ENGINEERING\|REVISION\)_VERSION\(_V15\)\?[;]\([\n][\t]*bp->fw_\(major\|minor\|eng\|rev\)[ ]=[ ]BCM_5710_FW_\(MAJOR\|MINOR\|ENGINEERING\|REVISION\)_VERSION\(_V15\)\?[;]\)*' drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
+    blobna '\([,][\n \t]*bp->fw_\(major\|minor\|rev\)\)\+' drivers/net/wireless/broadcom/bnx2x/bnx2x_main.c
+
+    # New in 5.16.11, 5.15.25, 5.10.102.
+    blobname 'gsl1680-rwc-nanote-p8\.fw' drivers/platform/x86/touchscreen_dmi.c
+
+    # New in 5.17-rc.
+    accept '[ ]*Index\([ ]*\(CPU\|IRQ\|Thr\)-[0-9]*\)*\([\n]\([ ]*[0-9]*\)*\)*' Documentation/tools/rtla/rtla-osnoise-hist.rst
+    accept '[\t]*nvidia[,]emc-configuration[ ]=[ ]*<[ \t\n0-9xa-f]*>[;]' 'arch/arm/boot/dts/tegra30-\(asus-tf\(201\|300tg\?\|700t\)\|pegatron-chagall\)\.dts'
+    blobname 'qcom[/]sdm845[/]oneplus6[/]venus\.mbn' 'arch/arm64/boot/dts/qcom/sdm845-oneplus-\(common.dtsi\|beryllium\.dts\)'
+    blobname 'mediatek[/]BT_RAM_CODE_MT7961_1_2_hdr\.bin' drivers/bluetooth/btmtk.h
+    blobname 'qca[/]nvm_usb_%08x\(%s\(_%04x\)\?\)\?\.bin' drivers/bluetooth/btusb.c
+    defsc 'static[ ]const[ ]struct[ ]rcar_gen4_cpg_pll_config[ ]cpg_pll_configs\[4\][ ]=' drivers/clk/renesas/r8a779a0-cpg-mssr.c
+    blobname 'qat_4xxx_dc\.bin' drivers/crypto/qat/qat_4xxx/adf_4xxx_hw_data.h
+    blobname 'a506_zap\.mdt' drivers/gpu/drm/msm/adreno/adreno_device.c
+    defsnc 'static[ ]const[ ]u32[ ]hsfreqrange_table\[\]\[2\][ ]=' drivers/gpu/drm/rcar-du/rcar_mipi_dsi.c
+    blobname 'nvidia[/]tegra\(210\|186\|194\)[/]nvdec\.bin' drivers/gpu/drm/tegra/nvdec.c
+    accept 'static[ ]const[ ]struct[ ]nvdec_config[ ]nvdec_t\(210\|186\|194\)_config[ ]=[ ][{][\n][    ]\.firmware[ ]*=[ ]' drivers/gpu/drm/tegra/nvdec.c
+    defsnc 'static[ ]const[ ]unsigned[ ]int[ ]ad74413r_debounce_map\[AD74413R_DIN_DEBOUNCE_LEN\][ ]=' drivers/iio/addac/ad74413r.c
+    blobname 'dvb_driver_si2141_rom6[01]\.fw' drivers/media/tuners/si2157_priv.h
+    blobname 'dvb_driver_si2146_rom11\.fw' drivers/media/tuners/si2157_priv.h
+    blobname 'dvb_driver_si2147_rom50\.fw' drivers/media/tuners/si2157_priv.h
+    blobname 'dvb_driver_si2148_rom3[23]\.fw' drivers/media/tuners/si2157_priv.h
+    blobname 'dvb_driver_si2157_rom50\.fw' drivers/media/tuners/si2157_priv.h
+    blobname 'dvb_driver_si2178_rom50\.fw' drivers/media/tuners/si2157_priv.h
+    blobname 'dvb_driver_si2158_rom51\.fw' drivers/media/tuners/si2157_priv.h
+    blobname 'dvb_driver_si2177_rom50\.fw' drivers/media/tuners/si2157_priv.h
+    defsc 'const[ ]struct[ ]v4l2_vp9_frame_context[ ]v4l2_vp9_default_probs[ ]=' drivers/media/v4l2-core/v4l2-vp9.c
+    defsnc 'static[ ]const[ ]u8[ ]hclge_comm_hash_key\[\][ ]=' drivers/net/ethernet/hisilicon/hns3/hns3_common/hclge_comm_rss.c
+    defsnc 'static[ ]const[ ]u16[ ]mlxsw_sp2_acl_bf_crc16_tab\[256\][ ]=' drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_bloom_filter.c
+    defsnc 'static[ ]const[ ]u16[ ]mlxsw_sp4_acl_bf_crc10_tab\[256\][ ]=' drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_bloom_filter.c
+    defsnc 'static[ ]const[ ]u8[ ]mlxsw_sp4_acl_bf_crc6_tab\[256\][ ]=' drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_bloom_filter.c
+    blobname 'regdb\.bin' drivers/net/wireless/ath/ath11k/hw.h
+    blobname 'mediatek[/]mt7915_eeprom\(_dbdc\)\?\.bin' drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
+    defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sdx65_pdc_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sdx65.c
+    defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sm8450_pdc_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sm8450.c
+    blobname 'gsl1680-chuwi-hi8\.fw' drivers/platform/x86/x86-android-tablets.c
+    blobname 'gt912-tm800a550l\.fw' drivers/platform/x86/x86-android-tablets.c
+    defsnc 'static[ ]const[ ]u32[ ]bq25890_tspct_tbl\[\][ ]=' drivers/power/supply/bq25890_charger.c
+    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]ak4375_reg_defaults\[\][ ]=' sound/soc/codecs/ak4375.c
+    defsc 'static[ ]const[ ]struct[ ]reg_default[ ]adc3xxx_defaults\[\][ ]=' sound/soc/codecs/tlv320adc3xxx.c
+    # sof-rn.ri is built out of CONFIG_RENOIR from sof/ project's sources.
+    accept '[\t]\([\t]\.\|\.default_\)fw_filename[ \t]=[ ]["]sof-rn\.ri["][,]' sound/soc/amd/acp-config.c
+    accept '[\t]\.nocodec_tplg_filename[ \t]=[ ]["]sof-acp\.tplg["][,]' sound/soc/sof/amd/pci-rn.c
+    blobna 'For[ ]both[ ]Cherrytrail[ ][(]CHT[)][ ]and[ ]Baytrail[ ][(]BHT[)][ ]the[ ]driver[\n]requires[^\n]*\([\n][^\n]\+\)*\([\n][\n][- ][^\n]*\)*' drivers/staging/media/atomisp/TODO
+    blobname 'qcom[/]apq8096[/]adsp\.mbn' arch/arm64/boot/dts/qcom/apq8096-db820c.dts
+    blobname 'qcom[/]sdm845[/]beryllium[/]venus\.mbn' arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts 
+    blobname 'qcom[/]sm7225[/]fairphone4[/]\(adsp\|cdsp\|modem\)\.mdt' arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts
+    blobname 'qcom[/]sm8350[/]microsoft[/]\(adsp\|cdsp\|modem\|slpi\)\.mbn' arch/arm64/boot/dts/qcom/sm8350-microsoft-surface-duo2.dts
+    blobname 'qcom[/]\(adsp\|cdsp\|ipa_fws\|modem\|slpi\)\.mbn' arch/arm64/boot/dts/qcom/sm8350-sony-xperia-sagami.dtsi
+
+    # New in 5.17.
+    blobna 'if[ ][(]loaded_fw_\(major\|minor\|eng\|rev\)[ ]\(!=\|<\)[ ]BCM_5710_FW_\(MAJOR\|MINOR\|ENGINEERING\|REVISION\)_VERSION\(_V15\)\?\([ ][|][|][\n][\t ]*loaded_fw_\(major\|minor\|eng\|rev\)[ ]\(!=\|<\)[ ]BCM_5710_FW_\(MAJOR\|MINOR\|ENGINEERING\|REVISION\)_VERSION\(_V15\)\?\)*[)]' drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
+
+    # New in 5.17.4 and 5.15.35.
+    accept '[ ][*][ ]enabled[ ]with[ ]updated[ ]microcode[.]' arch/x86/kernel/cpu/tsx.c
+
+    # New in 5.17.6, 5.15.38, 5.10.114, 5.4.192.
+    accept '[ ][*][ ]microcode_bsp_resume[ ]-[ ]Update[ ]boot[ ]CPU[ ]microcode[ ]during[ ]resume' arch/x86/kernel/cpu/microcode/core.c
+
+    # New in 5.18-rc.
+    defsnc 'static[ ]const[ ]u8[ ]irq_prio_[hdl]\[256\][ ]=' arch/arm/mach-rpc/irq.c
+    blobname 'qcom[/]sdm845[/]axolotl[/]\([ac]dsp\|a630_zap\|ipa_fws\|mba\|modem\|venus\)\.mbn' arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts
+    blobname 'qcom[/]samsung[/]w737[/]qc\([ac]dsp\|dsp\(1v\)\?2\|vss\)850\.mbn' arch/arm64/boot/dts/qcom/sdm850-samsung-w737.dts
+    blobname 'qcom[/]samsung[/]w737[/]ipa_fws\.elf' arch/arm64/boot/dts/qcom/sdm850-samsung-w737.dts
+    blobname 'qcom[/]sm8450[/]\([ac]dsp\|modem\|slpi\)\.mbn' arch/arm64/boot/dts/qcom/sm8450-qrd.dts
+    initnc '__nsau_data[:]' arch/xtensa/lib/modsi3.S
+    blobname 'rtl_bt[/]rtl8852bu_fw\.bin' drivers/bluetooth/btrtl.c
+    blobname 'amdgpu[/]%s_cap\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
+    blobname 'amdgpu[/]vcn_3_1_2\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
+    blobname 'amdgpu[/]%s\.bin' drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
+    blobname 'amdgpu[/]dcn_3_1_[56]_dmcub\.bin' drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+    blobname '%s\.bin' drivers/gpu/drm/tiny/panel-mipi-dbi.c
+    defsnc 'static[ ]unsigned[ ]char[ ]blackwidow_init\[RAZER_BLACKWIDOW_TRANSFER_BUF_SIZE\][ ]=' drivers/hid/hid-razer.c
+    defsnc '[\t]static[ ]const[ ]u8[ ]sine\[\][ ]=' drivers/media/dvb-frontends/dib7000p.c
+    defsnc 'static[ ]const[ ]struct[ ]hi847_reg[ ]mipi_data_rate_lane_4\[\][ ]=' drivers/media/i2c/hi847.c
+    defsnc 'static[ ]const[ ]struct[ ]hi847_reg[ ]mode_\(3264x2448\|1632x1224\)_regs\[\][ ]=' drivers/media/i2c/hi847.c
+    defsnc 'static[ ]const[ ]struct[ ]og01a1b_reg[ ]mode_1280x1024_regs\[\][ ]=' drivers/media/i2c/og01a1b.c
+    defsc 'static[ ]const[ ]struct[ ]ov08d10_reg[ ]lane_2_mode_\(3280x2460\|3264x2448\|1632x1224\)\[\][ ]=' drivers/media/i2c/ov08d10.c
+    accept '[\t]dev_dbg[(]core->dev[,][ ]["]request_firmware[ ]' drivers/media/platform/amphion/vpu_core.c
+    blobname 'vpu[/]vpu_fw_imx8_\(enc\|dec\)\.bin' drivers/media/platform/amphion/vpu_core.c
+    defsc 'static[ ]const[ ]u8[ ]dummy_\(\(gre\|udp_tun\|ipv[46]_gtpu\)_ipv[46]_\(tcp\|udp\)\|ipv6_gtp\)_packet\[\][ ]=' drivers/net/ethernet/intel/ice/ice_switch.c
+    blobname 'mediatek[/]mt79[18]6_\(w[am]\|rom_patch\|eeprom\)\(_mt797[56]\(_dual\|_dbdc\)\?\)\?\.bin' drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
+    blobname 'mellanox[/]mlxsw_spectrum[23]\?-\(["][ ]__stringify[(]MLXSW_SP[123]\?_FWREV_[^)]*[)][ \\\n\t]*["]\.\)*mfa2' drivers/net/ethernet/mellanox/mlxsw/spectrum.c
+    blobname 'rtw89[/]rtw8852c_fw\.bin' drivers/net/wireless/realtek/rtw89/rtw8852c.c
+    defsnc 'static[ ]const[ ]struct[ ]cdns_dphy_rx_band[ ]bands\[\][ ]=' drivers/phy/cadence/cdns-dphy-rx.c
+    defsnc 'static[ ]struct[ ]gbe_phy_init_data_fix[ ]gbe_phy_init_fix\[\][ ]=' drivers/phy/marvell/phy-mvebu-a3700-comphy.c
+    defsnc 'static[ ]const[ ]struct[ ]wpcm450_bank[ ]wpcm450_banks\[WPCM450_NUM_BANKS\][ ]=' drivers/pinctrl/nuvoton/pinctrl-wpcm450.c
+    defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]qcm2290_mpm_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-qcm2290.c
+    defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sc8280xp_pdc_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sc8280xp.c
+    defsc 'static[ ]const[ ]unsigned[ ]int[ ]bsc_data_pins\[\][ ]=' drivers/pinctrl/renesas/pfc-r8a7740.c
+    blobname 'wpss\.mdt' drivers/remoteproc/qcom_q6v5_adsp.c
+    defsnc 'static[ ]const[ ]unsigned[ ]char[ ]zigzag\[\][ ]=' drivers/staging/media/hantro/hantro_jpeg.c
+    defsnc 'static[ ]const[ ]u32[ ]hw_reorder\[\][ ]=' drivers/staging/media/hantro/hantro_jpeg.c
+    defsc 'static[ ]const[ ]unsigned[ ]char[ ]hantro_jpeg_header\[\][ ]=' drivers/staging/media/hantro/hantro_jpeg.c
+    defsnc '[\t]opts\.\(data\|insns\)[ ]=[ ][(]void[ ][*][)]["]' kernel/bpf/preload/iterators/iterators.lskel.h
+    defsnc '[\t]skel->rodata[ ]=[ ]skel_prep_map_data[(][(]void[ ][*][)]["]' kernel/bpf/preload/iterators/iterators.lskel.h
+    defsnc 'static[ ]const[ ]u32[ ]____cacheline_aligned[ ]K\[64\][ ]=' lib/crypto/sm3.c
+    blobname 'tas5805m_dsp_%s\.bin' sound/soc/codecs/tas5805m.c
+    accept '[\t]*if[ ][(][!]wm_adsp_request_firmware_files\?[(]' sound/soc/codecs/wm_adsp.c
+    accept 'int[ ]avs_request_firmware[(]' sound/soc/intel/avs/avs.h
+    blobname 'dsp_basefw\.bin' sound/soc/intel/avs/loader.c
+    blobname '%s[/]%s[/]dsp_mod_%pUL\.bin' sound/soc/intel/avs/loader.c
+    accept '[\t]*ret[ ]=[ ]avs_request_firmware[(]' sound/soc/intel/avs/loader.c
+    accept '\(int[ ]\|[ ][*][ ]\)avs_request_firmware[(]' sound/soc/intel/avs/utils.c
+    accept '[\t]*tplg_filename[ ]=[ ]devm_kasprintf[(]sdev->dev[,][ ]GFP_KERNEL[,][\n][\t ]*["]%s%s["][,][\n][\t ]*sof_pdata->tplg_filename[,][\n][\t ]*["]\.tplg["]' sound/soc/sof/intel/hda.c
+    blobname '%s\.sec' drivers/staging/wfx/fwio.c
+    blobname '%s%s-%s-%s\(-%s\)*\.%s' sound/soc/codecs/wm_adsp.c
+
+    # New in 5.18.3, 5.17.14, 5.15.46, 5.10.121.
+    accept 'MODULE_FIRMWARE[(]["]regulatory\.db\(\.p7s\)\?["][)][;]' net/wireless/reg.c
+
+    # New in 5.18.5, 5.15.48, 5.10.123, 5.4.199, 4.19.248, 4.14.284, 4.9.319.
+    accept 'combination[ ]with[ ]a[ ]microcode[ ]update[.][ ]The[ ]microcode[ ]clears' Documentation/admin-guide/hw-vuln/processor_mmio_stale_data.rst
+
+    # New in 5.19-rc.
+    # I'm not sure the following pattern matches actual blob names, in
+    # two senses: it's not clear they're software, and maybe they're
+    # just examples.  I'm tentatively cleaing them up.
+    blobname 'am\(335\|43\)x-evm-scale-data\.bin' Documentation/devicetree/bindings/soc/ti/wkup-m3-ipc.yaml
+    blobname 'am335x-bone-scale-data\.bin' arch/arm/boot/dts/am335x-bone-common.dtsi
+    blobname 'am335x-evm-scale-data\.bin' arch/arm/boot/dts/'am335x-evm\(\|sk\)\.dts'
+    blobname 'am43x-evm-scale-data\.bin' arch/arm/boot/dts/'am43\(7x-\(gp\|sk\)\|x-epos\)-evm\.dts'
+    blobname 'qcom[/]apq8096[/]\(mba\|modem\)\.mbn' arch/arm64/boot/dts/qcom/apq8096-db802c.dts
+    blobname 'qcom[/]msm8996[/]gemini[/]\(mba\|modem\|slpi\)\.mbn' arch/arm64/boot/dts/qcom/msm8996-xiaomi-gemini.dts
+    blobname 'qcom[/]msm8996[/]scorpio[/]\(mba\|modem\|slpi\)\.mbn' arch/arm64/boot/dts/qcom/msm8996-xiaomi-scorpio.dts
+    blobname 'qcom[/]sdm845[/]beryllium[/]\([ac]dsp\|a630_zap\|mba\|modem\|ipa_fws\)\.mbn' arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts
+    blobname 'qcom[/]sm8450[/]\([ac]dsp\|modem\|slpi\)\.mbn' arch/arm64/boot/dts/qcom/sm8450-hdk.dts
+    defsnc 'static[ ]const[ ]__initconst[ ]u8[ ]certs_selftest_\(keys\|1_\(data\|pkcs7\)\)\[\][ ]=' crypto/asymmetric_keys/selftest.c
+    blobname 'rtl_bt[/]rtl8852cu_fw\.bin' drivers/bluetooth/btrtl.c
+    blobname 'amdgpu[/]vcn_4_0_[04]\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
+    blobname 'amdgpu[/]\(%s\|gc_11_0_[012]\)_imu\.bin' drivers/gpu/drm/amd/amdgpu/imu_v11_0.c
+    blobname 'amdgpu[/]\(%s\|gc_11_0_[012]\)_mes1\?\.bin' drivers/gpu/drm/amd/amdgpu/mes_v11_0.c
+    blobname 'amdgpu[/]\(%s\|sdma_6_0_[012]\)\.bin' drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
+    # The asm source for this is drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx10.asm, there is no _gfx11.asm.
+    defsnc 'static[ ]const[ ]uint32_t[ ]cwsr_trap_gfx11_hex\[\][ ]=' drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h
+    defsnc '[\t]static[ ]const[ ]u8[ ]even_dividers\[\][ ]=' drivers/gpu/drm/i915/display/intel_dpll_mgr.c
+    defsnc 'static[ ]const[ ]struct[ ]nv3052c_reg[ ]nv3052c_panel_regs\[\][ ]=' drivers/gpu/drm/panel/panel-newvision-nv3052c.c
+    defsc 'ICE_DECLARE_PKT_TEMPLATE[(]\(\(gre\|udp_tun\|\(vlan_\)\?\(tcp\|udp\)\|ipv[46]_gtpu\)_ipv[46]\(_\(tcp\|udp\)\)\?\|ipv6_gtp\)[)][ ]=' drivers/net/ethernet/intel/ice/ice_switch.c
+    blobname 'mellanox[/]lc_ini_bundle_%u_%u\.bin' drivers/net/ethernet/mellanox/mlxsw/core_linecards.c
+    blobname 'mellanox[/]lc_ini_bundle_\(["][ \\\n\t]*__stringify[(]MLXSW_SP\?_FWREV_\(SUB\)\?MINOR[)][ ]["][_.]\)*bin' drivers/net/ethernet/mellanox/mlxsw/spectrum.c
+    blobname 'mrvl[/]sdiouart8997_combo_v4\.bin' drivers/net/wireless/marvell/mwifiex/sdio.h
+    blobname 'plfxlc[/]lifi-x[cl]\?\.bin' drivers/net/wireless/purelifi/plfxlc/firmware.c
+    accept '[\t][\t]dev_err[(][&]intf->dev[,][ ]["][Rr]equest_firmware[ ]' drivers/net/wireless/purelifi/plfxlc/firmware.c
+    defsnc 'static[ ]const[ ]s8[ ]_txpwr_track_delta_swingidx_[56]g[ba]_[np]\[\]\[DELTA_SWINGIDX_SIZE\][ ]=' drivers/net/wireless/realtek/rtw89/'rtw8852[ac]_table\.c'
+    defsnc 'static[ ]const[ ]struct[ ]rtw89_reg2_def[ ]rtw89_8852c_phy_bb_reg\(s\|_gain\)\[\][ ]=' drivers/net/wireless/realtek/rtw89/rtw8852c_table.c
+    defsnc 'static[ ]const[ ]struct[ ]rtw89_reg2_def[ ]rtw89_8852c_phy_\(radio[ab]\|nctl\)_regs\[\][ ]=' drivers/net/wireless/realtek/rtw89/rtw8852c_table.c
+    defsnc 'static[ ]const[ ]struct[ ]rtw89_txpwr_byrate_cfg[ ]rtw89_8852c_txpwr_byrate\[\][ ]=' drivers/net/wireless/realtek/rtw89/rtw8852c_table.c
+    defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sm8150_pdc_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sm8150.c
+    # It's not clear whether this contains code, but it's presumed proprietary, so tentatively disable it.
+    blobname 'intel[/]ifs[/]%02x-%02x-%02x\.scan' drivers/platform/x86/intel/ifs/load.c
+    defsnc 'static[ ]const[ ]int[ ]sm5703_buck_voltagemap\[\][ ]=' drivers/regulator/sm5703-regulator.c
+    blobname 'intel[/]irci_irci_ecr-master_20161208_0213_20170112_1500\.bin' drivers/staging/media/ipu3/ipu3-css-fw.h
+    defsnc '[\t]static[ ]u8[ ]p\[\]\[2\][ ]=' drivers/tty/serial/8250/8250_pci.c
+    defsnc '[}][ ]cs35l45_pll_refclk_freq\[\][ ]=' sound/soc/codecs/cs35l45-tables.c
+    defsnc 'static[ ]const[ ]char[ ][*][ ]const[ ]max98396_thermal_thresh_text\[\][ ]=' sound/soc/codecs/max98396.c
+    # Topology files are presumed not code, but since we block the
+    # loading of actual firmware by this driver, there's no harm in
+    # being conservative and blocking them too.  These don't seem to
+    # be built out of SOF.
+    blobname '\(rt286\|nau8825\|ssm4567\|max98357a\|rt298\|max98373\|da7219\|tdf8532\|i2s-test\|dmic\|hda-%08x\)-tplg\.bin' sound/soc/intel/avs/board_selection.c
+    accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-rn\.ri["]' sound/soc/sof/amd/pci-rn.c
+    accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-imx8x\?\.ri["]' sound/soc/sof/imx/imx8.c
+    accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-imx8m\.ri["]' sound/soc/sof/imx/imx8m.c
+    accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-bdw\.ri["]' sound/soc/sof/intel/bdw.c
+    accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-\(byt\|cht\)\.ri["]' sound/soc/sof/intel/'\(byt\|pci-tng\)\.c'
+    accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-\(apl\|glk\)\.ri["]' sound/soc/sof/intel/pci-apl.c
+    accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-\(cnl\|cfl\|cml\)\.ri["]' sound/soc/sof/intel/pci-cnl.c
+    accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-\(icl\|jsl\)\.ri["]' sound/soc/sof/intel/pci-icl.c
+    accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-\(tgl\(-h\)\?\|ehl\|adl\(-s\)\?\)\.ri["]' sound/soc/sof/intel/pci-tgl.c
+    # This is a new naming convention for the sof-*.ri files.  SOF
+    # zephyr build scripts will output either name depending on the
+    # selected naming convention.
+    accept '[\t][\t]\[SOF_INTEL_IPC4\][ ]=[ ]["]dsp_basefw\.bin["]' sound/soc/sof/intel/'pci-\(apl\|cnl\|icl\|tgl\)\.c'
+    accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-mt8186\.ri["]' sound/soc/sof/mediatek/mt8186/mt8186.c
+    accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-mt8195\.ri["]' sound/soc/sof/mediatek/mt8195/mt8195.c
+    accept '\([ ]*\|[$][(]OUTPUT[)]\)test-libbpf-bpf_object__next_program\.bin' tools/build/feature/Makefile
+    accept '[\t][\t]test_batched_request_firmware\(\|_into_buf\|_direct\)[$]suffix' tools/testing/selftests/firmware/fw_filesystem.sh
+    accept '[\t][\t]test_request_firmware_nowait_\(uevent\|custom\)[$]suffix' tools/testing/selftests/firmware/fw_filesystem.sh
+    accept '[\t]\?test_request_firmware_compressed' tools/testing/selftests/firmware/fw_filesystem.sh
+
+    # New in 5.19.4, 5.15.63.
+    accept '[\t]if[ ][(]!request_firmware_direct[(][&]fw[,][ ]kpu_profile[,][ ]rvu->dev[)][)]' drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c
+
+    # New in 6.0-rc.
+    blobname 'amdgpu[/]vcn_4_0_2\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
+    blobname 'amdgpu[/]dcn_3_\(1_4\|2_[01]\)_dmcub\.bin' drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+    blobname 'a619_gmu\.bin' drivers/gpu/drm/msm/adreno/adreno_device.c
+    blobname 'a615_zap\.mdt' drivers/gpu/drm/msm/adreno/adreno_device.c
+    blobname 'nvidia[/]tegra234[/]vic\.bin' drivers/gpu/drm/tegra/vic.c
+    accept '[  ]\.firmware[ ]=[ ]NVIDIA_TEGRA_234_VIC_FIRMWARE' drivers/gpu/drm/tegra/vic.c
+    blobname 'netronome[/]serial-%pMF-%02x-%02x\.nffw' drivers/net/ethernet/netronome/nfp/nfp_main.c
+    initnc '[ ]*[$][ ]cat[ ]count' Documentation/admin-guide/mm/shrinker_debugfs.rst
+    defsnc 'static[ ]const[ ]struct[ ]cipher_testvec[ ]aria_tv_template\[\][ ]=' crypto/testmgr.h
+    defsnc 'static[ ]const[ ]struct[ ]hash_testvec[ ]polyval_tv_template\[\][ ]=' crypto/testmgr.h
+    defsnc '[\t]static[ ]const[ ]u8[ ]f_subtile_map\[\][ ]=' drivers/gpu/drm/i915/gem/selftests/i915_gem_client_blt.c
+    defsnc 'static[ ]const[ ]struct[ ]reg_value[ ]ov5640_\(init_setting\|setting_low_res\)\[\][ ]=' drivers/media/i2c/ov5640.c
+    defsnc 'static[ ]const[ ]u32[ ]can327_bitrate_const\[\][ ]=' drivers/net/can/can327.c
+    defsc 'ICE_DECLARE_PKT_TEMPLATE[(]pppoe_ipv6_\(tcp\|udp\)[)][ ]=' drivers/net/ethernet/intel/ice/ice_switch.c
+    defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]msm8909_mpm_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-msm8909.c
+    defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sm6375_mpm_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sm6375.c
+    defsnc 'static[ ]const[ ]u32[ ]sp_resets\[\][ ]=' drivers/reset/reset-sunplus.c
+    defsc 'static[ ]unsigned[ ]short[ ]translations\[\]\[E_TABSZ\][ ]=' drivers/tty/vt/consolemap.c
+    defsnc 'static[ ]const[ ]u32[ ]x[12]\[256\][ ]=' include/crypto/aria.h
+    # Built out of the rembrandt_config in SOF sources.
+    accept '[\t][\t]\.fw_filename[ ]=[ ]["]sof-rmb\.ri["][,]' sound/soc/amd/acp-config.c
+    defsnc 'static[ ]const[ ]unsigned[ ]int[ ]src_iir_coeff_\(32\|4[48]\|96\)_to_\(16\|32\|44\)\[\][ ]=' sound/soc/mediatek/mt8186/mt8186-dai-src.c
+    defsnc 'static[ ]const[ ]int[ ]mt8186_sgen_mode_idx\[\][ ]=' sound/soc/mediatek/mt8186/mt8186-misc-control.c
+    accept '[\t ]*jq[ ]-e[ ]-r[ ]["]\.\[\]\[\]\.versions\.running\.fw["][)]' tools/testing/selftests/drivers/net/mlxsw/devlink_linecard.sh
+    accept 'IMG_PATH=["][$][{]TMP_DIR[}][/]fat\.img["]' tools/testing/selftests/filesystems/fat/run_fat_tests.sh
+    defsnc '\(static[ ]\)\?const[ ]struct[ ]nvkm_disp_mthd_list[ \n]g84_disp_\(\(ovly\|base\)_mthd_base\|core_mthd_head\)[ ]=' drivers/gpu/drm/nouveau/nvkm/engine/disp/g84.c
+    defsnc 'static[ ]const[ ]struct[ ]nvkm_disp_mthd_list[ \n]gk104_disp_\(ovly_mthd_base\|core_mthd_head\)[ ]=' drivers/gpu/drm/nouveau/nvkm/engine/disp/gk104.c
+    defsnc 'static[ ]const[ ]struct[ ]nvkm_disp_mthd_list[ \n]gt200_disp_ovly_mthd_base[ ]=' drivers/gpu/drm/nouveau/nvkm/engine/disp/gt200.c
+    blobname 'mediatek[/]mt8192[/]scp\.img' arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
+    blobname 'qcom[/]msm8996[/]natrium[/]\(adsp\|a530_zap\|mba\|modem\|slpi\|venus\)\.mbn' arch/arm64/boot/dts/qcom/msm8996-xiaomi-natrium.dts
+    blobname 'qcom[/]sa8540p[/]\(adsp\|cdsp1\?\)\.mbn' arch/arm64/boot/dts/qcom/sa8295p-adp.dts
+    blobname 'qcom[/]sc7280-herobrine[/]modem[/]\(mba\|qdsp6sw\)\.mbn' arch/arm64/boot/dts/qcom/sc7280-chrome-common.dtsi
+    blobname 'ath11k[/]WCN6750[/]hw1\.0[/]wpss\.mdt' arch/arm64/boot/dts/qcom/sc7280-chrome-common.dtsi
+    blobname 'qcom[/]sc8280xp[/]qc[ac]dsp8280\.mbn' arch/arm64/boot/dts/qcom/sc8280xp-'\(crd\|lenovo-thinkpad-x13s\)\.dts'
+    blobname 'qcom[/]ifc6560[/]adsp\.mbn' arch/arm64/boot/dts/qcom/sda660-inforce-ifc6560.dts
+    blobname 'qcom[/]sdm845[/]judyln[/]\([ac]dsp\|a630_zap\|mba\|modem\)\.mbn' arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts
+    blobname 'qcom[/]sdm845[/]judyp[/]\([ac]dsp\|a630_zap\|mba\|modem\)\.mbn' arch/arm64/boot/dts/qcom/sdm845-lg-judyp.dts
+    blobname 'qcom[/]sdm845[/]polaris[/]\(cdsp\|a630_zap\|ipa_fws\|mba\|modem\|venus\)\.mbn' arch/arm64/boot/dts/qcom/sdm845-xiaomi-polaris.dts
+    blobname 'polaris[/]crnv21\.bin' arch/arm64/boot/dts/qcom/sdm845-xiaomi-polaris.dts
+    blobname 'habanalabs[/]gaudi2[/]gaudi2-\(boot-\|\)fit\.itb' drivers/misc/habanalabs/gaudi2/gaudi2P.h
+    accept '\(static[ ]int[ ]\|[\t][\t]*\(ret\(urn\|[ ]=\)[ ]\|\)\)cs35l41_request_firmware_file\(\|s\(\|_spkid\)\)[(]' sound/pci/hda/cs35l41_hda.c
+    defsnc '[\t]unsigned[ ]char[ ]modified_gray_code\[\][ ]=' arch/arm/mach-at91/pm.c
+
+    # New in 6.0.
+    blobname 'qcom[/]sc8280xp[/]LENOVO[/]21BX[/]qc[ac]dsp8280\.mbn' arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
+
+    # New in 6.0.7.
+    accept '[\t][\t]\[SOF_INTEL_IPC4\][ ]=[ ]["]sof-mtl\.ri["]' sound/soc/sof/intel/pci-mtl.c
+    accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-\(adl-n\|rpl\(-s\)\?\)\.ri["]' sound/soc/sof/intel/pci-tgl.c
+
+    # New in 6.0.9, 5.15.79, and 5.10.155.  Also 5.4.225 and 4.19.267.
+    accept '[\t]err[ ]=[ ]request_firmware_nowait[(]THIS_MODULE[,][ ]true[,][ ]["]regulatory\.db["][,]' net/wireless/reg.c
+
+    # New in 6.1-rc.
+    blobname 'mediatek[/]mt8195[/]scp\.img' arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
+    blobname 'qcom[/]sc7280-herobrine[/]modem[/]\(mba\|qdsp6sw\)\.mbn' arch/arm64/boot/dts/qcom/sc7280-herobrine-lte-sku.dtsi
+    blobname 'qcom[/]\([ac]dsp\|slpi\)\.mbn' arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara-pdx223.dts
+    accept '#define[ ]__DEFINE_ASM_GPR_NUMS[\t]*[\\][\n]["][\t]\.irp[\t]num\(,[0-9]\)*\(,[123][0-9]\)*[\\]n["]\([ \t]*[\\][\n]["][^"\n]*["]\)*' arch/riscv/include/asm/gpr-num.h
+    accept '[\t]\.irp[\t]num\(,[0-9]\)*\(,[123][0-9]\)*' arch/riscv/include/asm/gpr-num.h
+    blobname 'amdgpu[/]\(%s\|aldebaran\)_sjt_mec2\?\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
+    # The following is not new, it was just moved down to allow for
+    # new patterns to match despite being prefixed by it, when using
+    # non-NDA regexp engines.
+    blobname 'amdgpu[/]%s' drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
+    blobname 'i915[/]["]\([ ][\\][\n][\t]__stringify[(]\(prefix\|major\|minor\|patch\)_[)]\([ ]\(name_\|["][.]["]\)\)\?\)*[ ]["]\.bin' drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
+    defsc 'static[ ]struct[ ]convert_xrgb8888_case[ ]convert_xrgb8888_cases\[\][ ]=' drivers/gpu/drm/tests/drm_format_helper_test.c
+    # bno055-caldata files are calibration data that can be saved from
+    # and restored into the device.  See Documentation/iio/bno055.rst.
+    accept '#define[ ]BNO055_FW_\(UID_FMT\|GENERIC_NAME\)[ ]["]bno055-caldata\(-%[*]phN\)\?\.dat["]' drivers/iio/imu/bno055/bno055.c
+    accept '[\t][\t]\?ret[ ]=[ ]request_firmware[(][&]caldata[,][ ]\(fw_name_buf\|BNO055_FW_GENERIC_NAME\)[,][ ]dev[)][;]' drivers/iio/imu/bno055/bno055.c
+    defsc 'ICE_DECLARE_PKT_TEMPLATE[(]ipv6_l2tpv3[)][ ]=' drivers/net/ethernet/intel/ice/ice_switch.c
+    blobname 'rtw89[/]rtw8852b_fw\.bin' drivers/net/wireless/realtek/rtw89/rtw8852b.c
+    defsnc 'struct[ ]inno_mipi_dphy_timing[ ]inno_mipi_dphy_timing_table_max_\(1\|2_5\)ghz\[\][ ]=' drivers/phy/rockchip/phy-rockchip-inno-dsidphy.c
+    blobname 'gsl1680-rca-cambio-w101-v2\.fw' drivers/platform/x86/touchscreen_dmi.c
+    defsnc 'static[ ]const[ ]struct[ ]tegra194_cbb_aperture[ ]tegra194_\(cbbcentral\|bpmp\|aon\|sce\)noc_apert\(ure\)\?_lookup\[\][ ]=' drivers/soc/tegra/cbb/tegra194-cbb.c
+    defsnc '[\t]unsigned[ ]long[ ]range\[\][ ]=' lib/test_maple_tree.c
+    defsnc 'static[ ]const[ ]struct[ ]_coeff_div[ ]coeff_div\[\][ ]=' sound/soc/codecs/es8326.c
+    accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-rmb\.ri["]' sound/soc/sof/amd/pci-rmb.c
+    accept '[\t][\t]\[SOF_IPC\][ ]=[ ]["]sof-imx8ulp\.ri["]' sound/soc/sof/amd/pci-imx8ulp.c
+    defsnc '[\t]unsigned[ ]long[ ]set\[\][ ]=' tools/testing/radix-tree/maple.c
+    accept '[\t]@echo[ ]["]The[ ]output[ ]file[ ]is[ ][\\]["]run\.out[\\]["]\.' tools/testing/selftests/nolibc/Makefile
+    accept '[\t][$][(]Q[)]\(qemu-system\|grep\)[^\n]*[$][(]CURDIR[)][/]run\.out' tools/testing/selftests/nolibc/Makefile
+    blobna '%s[ ]firmware[ ]%s[ ]\([(]%d\.%d[)][ ]\)\?is[ ]recommended[,][ ]but[ ]only[ ]%s[ ]\([(]%d\.%d[)][ ]\)\?was[ ]found' drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
+    blobna 'Consider[ ]updating[ ]your[ ]linux-firmware[ ]pkg[ ]or[ ]downloading[ ]from[ ]%s' drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
+
+    # New in 6.1.2.
+    initnc '\.LKtable[:]' arch/arm64/crypto/sm3-neon-core.S
+
+    # New in 6.1.9, 5.15.91, 5.10.166.
+    blobname 'gsl1680-csl-panther-tab-hd\.fw' drivers/platform/x86/touchscreen_dmi.c
+
+    # New in 6.2-rc.
+    blobname 'intel[/]ifs_%d[/]%02x-%02x-%02x-%02x\.scan' drivers/platform/x86/intel/ifs/load.c
+    blobname 'qcom[/]sc7180-trogdor[/]modem[/]modem\.mdt' Documentation/devicetree/bindings/net/qcom,ipa.yaml
+    blobname 'stm32g0-ucsi.mp135f-dk\.fw' arch/arm/boot/dts/stm32mp135f-dk.dts
+    blobname 'qcom[/]msm8996[/]oneplus3[/]\(adsp\|a530_zap\|mba\|modem\|slpi\|venus\)\.mbn' arch/arm64/boot/dts/qcom/msm8996-oneplus3.dts
+    blobname 'qcom[/]msm8996[/]oneplus3t[/]\(adsp\|a530_zap\|mba\|modem\|slpi\|venus\)\.mbn' arch/arm64/boot/dts/qcom/msm8996-oneplus3t.dts
+    blobname 'qcom[/]msm8998[/]LENOVO[/]81F1[/]qcdsp\(1v\)\?28998\.mbn' arch/arm64/boot/dts/qcom/msm8998-lenovo-miix-630.dts
+    blobname 'qcom[/]sa8540p[/]cdsp1\?\.mbn' arch/arm64/boot/dts/qcom/sa8540p-ride.dts
+    blobname 'qcom[/]sda660[/]adsp\.mbn' arch/arm64/boot/dts/qcom/sda660-inforce-ifc6560.dts
+    blobname 'qcom[/]sdm850[/]samsung[/]w737[/]\(qc\(adsp\|cdsp\|dsp\(1v\)\?2\|vss\)850\.mbn\|ipa_fws\.elf\)' arch/arm64/boot/dts/qcom/sdm850-samsung-w737.dts
+    blobname 'qcom[/]Sony[/]murray[/][ac]dsp.mbn' arch/arm64/boot/dts/qcom/sm6375-sony-xperia-murray-pdx225.dts
+    blobname 'qcom[/]sm8350[/]Sony[/]sagami[/]\(adsp\|cdsp\|ipa_fws\|modem\|slpi\)\.mbn' arch/arm64/boot/dts/qcom/sm8350-sony-xperia-sagami.dtsi
+    blobname 'qcom[/]sm8350[/]Sony[/]nagara[/]\(adsp\|cdsp\|slpi\)\.mbn' arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara.dtsi
+    defsnc 'static[ ]const[ ]u8[ ]nops\[\][ ]=' arch/x86/kernel/callthunks.c
+    defsnc 'static[ ]const[ ]struct[ ]cipher_testvec[ ]sm4_[cx]ts_tv_template\[\][ ]=' crypto/testmgr.h
+    defsnc 'static[ ]const[ ]struct[ ]hash_testvec[ ]sm4_xcbc128_tv_template\[\][ ]=' crypto/testmgr.h
+    blobname 'brcm[/]brcmbt%04x%s-%s-%s\.%s' drivers/bluetooth/hci_bcm4377.c
+    defsnc 'static[ ]const[ ]qp_table[ ][ ]*qp_table_4[24][024]_\(8\|1[02]\)bpc_m\(in\|ax\)[ ]=' drivers/gpu/drm/amd/display/dc/dml/dsc/qp_tables.h
+    defsnc 'static[ ]const[ ]struct[ ]abm_parameters[ ]abm_settings_config2\[abm_defines_max_level\][ ]=' drivers/gpu/drm/amd/display/modules/power/power_helpers.c
+    defsnc 'static[ ]const[ ]unsigned[ ]int[ ]ad74115_debounce_tbl\[\][ ]=' drivers/iio/addac/ad74115.c
+    defsnc 'static[ ]const[ ]struct[ ]ov08x40_reg[ ]mipi_data_rate_800mbps\[\][ ]=' drivers/media/i2c/ov08x40.c
+    defsnc 'static[ ]const[ ]struct[ ]ov08x40_reg[ ]mode_\(3856x2416\|1928x1208\)_regs\[\][ ]=' drivers/media/i2c/ov08x40.c
+    defsnc 'static[ ]const[ ]struct[ ]regval[ ]ov4689_2688x1520_regs\[\][ ]=' drivers/media/i2c/ov4689.c
+    defsnc 'static[ ]const[ ]struct[ ]ov9282_reg[ ]\(common\|mode_\(1280x800\|640x400\)\)_regs\[\][ ]=' drivers/media/i2c/ov9282.c
+    # A new binary blob disguised as source code!
+    blob 'static[ ]const[ ]u8[ ]patch_array\[\][ ]=[ ][{]'"$sepx$blobpat*$sepx"'[}][;]' drivers/media/i2c/st-vgxy61.c
+    blobna 'ret[ ]=[ ]vgxy61_write_array[(]sensor[,][ ]VGXY61_REG_FWPATCH_START_ADDR[,][\n][\t ]*sizeof[(]patch_array[)][,][ ]patch_array[)][;][\n][\t]if[ ][(]ret[)][\n][\t]*return[ ]ret[;]' drivers/media/i2c/st-vgxy61.c
+    blobname 'patch_array' drivers/media/i2c/st-vgxy61.c
+    blobname 'mrvl[/]prestera[/]mvsw_prestera_fw_arm64-v%u\.%u\.img' drivers/net/ethernet/marvell/prestera/prestera_pci.c
+    blobname 'mediatek[/]mt7986_wo_[01]\.bin' drivers/net/ethernet/mediatek/mtk_wed_wo.h
+    blobname 'mediatek[/]mt7996[/]mt7996_\(w[am]\|rom_patch\|eeprom\)\.bin' drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
+    defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg8val[ ]rtl8188f_mac_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188f.c
+    defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8188fu_phy_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188f.c
+    defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8188f_agc_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188f.c
+    defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_rfregval[ ]rtl8188fu_\(cut_b_\)\?radioa_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188f.c
+    blobname 'rtlwifi[/]rtl8188fufw\.bin' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188f.c
+    accept '[\t]rtwdev->fw\.firmware[ ]=[ ]firmware[;]' drivers/net/wireless/realtek/rtw89/core.c
+    accept '[\t][\t]fw->firmware[ ]=[ ]NULL[;]' drivers/net/wireless/realtek/rtw89/fw.c
+    defsnc 'static[ ]const[ ]struct[ ]rtw89_reg3_def[ ]rtw8852b_\(set\|restore\)_nondbcc_path01\[\][ ]=' drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
+    defsnc 'static[ ]const[ ]struct[ ]rtw89_reg2_def[ ]rtw89_8852b_phy_\(bb\|radio[ab]\|nctl\)_reg\(s\|_gain\)\[\][ ]=' drivers/net/wireless/realtek/rtw89/rtw8852b_table.c
+    defsnc 'static[ ]const[ ]struct[ ]rtw89_txpwr_byrate_cfg[ ]rtw89_8852b_txpwr_byrate\[\][ ]=' drivers/net/wireless/realtek/rtw89/rtw8852b_table.c
+    defsnc 'static[ ]const[ ]unsigned[ ]int[ ]gpio_pins\[\][ ]=' drivers/pinctrl/pinctrl-loongson2.c
+    defsnc 'static[ ]UNUSED_ATTR[ ]const[ ]U8[ ][LM]L_bits\[Max[LM]L[+]1\][ ]=' lib/zstd/common/zstd_internal.h
+    defsnc 'static[ ]UNUSED_ATTR[ ]const[ ]U64[ ]ZSTD_ldm_gearTab\[256\][ ]=' lib/zstd/compress/zstd_ldm_geartab.h
+    defsnc '[ ]*[{][ ]*unsigned[ ]const[ ]base\(LL\|OFC\)freqs\[Max\(LL\|Off\)[+]1\][ ]=' lib/zstd/compress/zstd_opt.c
+    defsnc 'static[ ]UNUSED_ATTR[ ]const[ ]U8[ ]OF_bits\[MaxOff[+]1\][ ]=' lib/zstd/decompress/zstd_decompress_internal.h
+    defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]rt1318_blind_write\[\][ ]=' sound/soc/codecs/rt1318-sdw.c
+    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt1318_reg_defaults\[\][ ]=' sound/soc/codecs/rt1318-sdw.c
+    # Topology files are presumed not code, but since we block the
+    # loading of actual firmware by this driver, there's no harm in
+    # being conservative and blocking them too.  These don't seem to
+    # be built out of SOF.
+    blobname 'max98927-tplg\.bin' sound/soc/intel/avs/board_selection.c
+    defsc 'static[ ]const[ ]u8[ ]__maybe_unused[ ]dell_0\(a5d\|b00\)_bq_params\[\][ ]=' sound/soc/intel/boards/sof_sdw_amp_coeff_tables.h
+    accept '[\t]ret[ ]=[ ]request_firmware[(][&]sdev->basefw\.fw[,][ ]fw_filename[,][ ]sdev->dev[)]' sound/soc/sof/loader.c
+    # Uhh, these *seem* intended to load Free firmware modules, though
+    # it could conceivably be used to load nonfree modules.  As usual
+    # for SOF, the difference between Free, Tivoized and otherwise
+    # nonFree is not something we can tell.  But since there is Free
+    # stuff that can be loaded with it, it stays.
+    accept '[\t]fw_filename[ ]=[ ]kasprintf[(]GFP_KERNEL[,][ ]["]%s[/]%pUL\.bin["][,][\n][\t ]*sdev->pdata->fw_lib_prefix[,][ ]uuid[)][;]' sound/soc/sof/ipc4-loader.c
+    accept '[\t]ret[ ]=[ ]request_firmware[(][&]fw_lib->sof_fw\.fw[,][ ]fw_filename[,][ ]sdev->dev[)]' sound/soc/sof/ipc4-loader.c
+    accept '[\t]out=["][$]tmpdir[/]perf\.out["]' tools/perf/tests/shell/test_task_analyzer.sh
+    accept '[\t]*echo[ ]["][ ]---[ ]make[ ]\(clean\|allmodconfig\)\?["][ ][|][ ]tee[ ]\(-a[ ]\)\?[$]amcdir[/]log[ ][>]*[ ]["][$]amcdir[/]Make\.out["]' tools/testing/selftests/rcutorture/bin/torture.sh
+    accept '[\t][\t]make[ ]-j[$]MAKE_ALLOTED_CPUS[ ]\(allmodconfig[ ]\)\?[>][>][ ]["][$]amcdir[/]Make\.out["]' tools/testing/selftests/rcutorture/bin/torture.sh
+    accept '[\t]*echo[ ]["][ ]---[ ]Summary:[ ]Exit[ ]code[ ][$]retcode[ ]from[ ][$]buildphase[,][ ]see[ ]Make\.out["]' tools/testing/selftests/rcutorture/bin/torture.sh
+    blobname 'qcom[/]sdm630[/]Sony[/]nile[/]adsp\.mdt' arch/arm64/boot/dts/qcom/sdm630-sony-xperia-nile.dtsi
+    blobname 'axolotl[/]crnv21\.bin' arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts
+    defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_rfregval[ ]rtl8192cu_radio[ab]_[12]t_\(init\|highpa\)_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192c.c
+    defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg8val[ ]rtl8192e_mac_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c
+    defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8192eu\?_phy_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c
+    defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8xxx_agc_8192eu_\(std\|highpa\)_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c
+    defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_rfregval[ ]rtl8192eu_radio[ab]_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c
+    defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_rfregval[ ]rtl8723au_radioa_1t_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723a.c
+    defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg8val[ ]rtl8723b_mac_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c
+    defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8723b_phy_1t_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c
+    defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8xxx_agc_8723bu_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c
+    defsc 'static[ ]const[ ]struct[ ]rtl8xxxu_rfregval[ ]rtl8723bu_radioa_1t_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c
+    defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8723a_phy_1t_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
+    defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8192cu_phy_2t_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
+    defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8xxx_agc_\(standard\|highpa\)_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
+    defsnc 'static[ ]const[ ]struct[ ]rtw89_reg3_def[ ]rtw8852b_pmac_ht20_mcs7_tbl\[\][ ]=' drivers/net/wireless/realtek/rtw89/rtw8852b.c
+    blobna 'wcnss\.mdt[ ]is[ ]not[ ]relocatable[^*]*[*][/]' arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
+    blobname 'wcnss\.mdt' drivers/remoteproc/qcom_wcnss.c
+    defsnc 'static[ ]const[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl8188ru_\(phy\|radioa\)_1t_highpa_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
+    defsnc '\(static[ ]\)\?const[ ]struct[ ]rtl8xxxu_reg8val[ ]rtl8xxxu_gen1_mac_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
+    defsnc 'static[ ]const[ ]struct[ ]drm_edid[ ][*]edid_load[(][^)]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*err[ ]=[ ]request_firmware[(][&]fw[,][ ]name[,][ ]connector' drivers/gpu/drm/drm_edid_load.c
+
+    # New in 6.2.3.
+    blobname 'qcom[/]sm8450[/]Sony[/]nagara[/]\(adsp\|cdsp\|slpi\)\.mbn' arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara.dtsi
+    blobname 'brcmfmac89459-pcie' drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
+
     ;;
 
   */*freedo*.patch | */*logo*.patch)