GNU Linux-libre 5.6-rc7
[releases.git] / deblob-check
index 59be622c1cb2c749970ff9a28569f78dca12527e..6b3f9d3a1b764a349bc40e0d568378455343fd0b 100755 (executable)
@@ -1,13 +1,13 @@
 #! /bin/sh
 
-# deblob-check version 2019-07-26
+# deblob-check version 2020-03-29
 # 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-2019 Alexandre Oliva <lxoliva@fsfla.org>
+# Copyright 2008-2020 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
@@ -908,6 +908,7 @@ set_except () {
   blobna '\([.]\|->\)firmware[         \n]*=[^=]'
   blobna 'mod_firmware_load' # sound/
   blobname '[.]\(\(fw\|bin\)[0-9]*\|hex\|frm\|co[dx]\|dat\|elf\|xlx\|rfb\|ucode\|img\|sbcf\|ctx\(prog\|vals\)\|z77\|wfw\|inp\|dlmem\|cld\|tftf\|out\|nffw\|mdt\|mfa2\?\|ri\|tplg\|itb\|cyacd\)[\\]\?["]'
+  # WIP ends with [\\]\?[][}{)(><,;:.!?% \t\n"`\'"'"']'
   # Catch misdeblobbed fw extension.
   blobname '["][^" \t\n]*[/][*][(]DEBLOBBED[)][*][/][^"\\]'
   # Ideally we'd whitelist URLs that don't recommend non-Free
@@ -1767,7 +1768,7 @@ set_except () {
     blobname '\(ti_usb-v\(%04x\|[0-9a-f]*\)-p\(%04x\|[0-9a-f]*\)\|mts_\(cdma\|gsm\|edge\)\)\.\(bin\|fw\)' drivers/usb/serial/ti_usb_3410_5052.c
     blobname 'iw\?\(2400\|6050\)m\?-fw-\(sdio\|usb\)-\(\(["][ ]I2400M_FW_VERSION[ ]["]\|[0-9.]*\)\.sbcf\|[^". \n]*\)' 'drivers/net/wimax/i2400m/\(sdio\|usb\)\.c'
     blob '3\.[ ]Installing[ ]the[ ]firmware[^\n]*\([\n][\n]*[ ][ ][ ][^\n]*\)*[\n]*[$][^\n]*i2400m-fw[^\n]*\([\n][\n]*[ ][ ][ ][^\n]*\)*' Documentation/wimax/README.i2400m
-    blob '6\.1\.[ ]Driver[ ]complains[^\n]*i2400m-fw[^\n]*\([\n][\n]*\([ ][ ][ ]\|i2400m_usb\)[^\n]*\)*' Documentation/wimax/README.i2400m
+    blob '6\.1\.[ ]Driver[ ]complains[^\n]*i2400m-fw[^\n]*\([\n][\n]*\([ ][ ][ ]\|i2400m_usb\)[^\n]*\)\+' Documentation/wimax/README.i2400m
     accept '[  ][      ]ranges[ ]=[ ]<'"$blobpat*"'>[;]' 'arch/powerpc/boot/dts/\(mpc8572ds\|p2020ds\|katmai\)\.dts'
     accept '\(div_table_\(clz\|inv\|ix\)\|zero_l\):\([\n][     ]\.\(byte[      ]-\?[0-9]*\|long[       ]0x[0-9A-F]*\)\)*' arch/sh/lib/udivsi3_i4i.S
     defsnc 'const[ ]u32[ ]crypto_[fi][tl]_tab\[4\]\[256\][ ]=' crypto/aes_generic.c
@@ -2595,6 +2596,7 @@ set_except () {
     # New in 2.6.37, up to -rc5.
     defsnc 'static[ ]u32[ ]epll_div\[\]\[6\][ ]=' arch/arm/mach-s5pv210/clock.c
     defsnc 'static[ ]\(const[ ]\)\?struct[ ]titan_gpio_cfg[ ]titan_gpio_table\[\][ ]=' arch/mips/ar7/gpio.c
+    # GNUtoo found potential sources for these on 2019-12-05, checking.
     blobname 'sdma-%s-to%d\.bin' drivers/dma/imx-sdma.c
     defsnc '[  ]static[ ]u8[ ]def_regs\[\][ ]=' drivers/media/common/tuners/tda18218.c
     accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]lme2510c\?_properties[ ]=[ ][{][\n]\([       ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*\([ ]\.download_firmware[ ]=[ ]lme2510_download_firmware,[\n]\)\?[  ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/lmedm04.c
@@ -2714,7 +2716,7 @@ set_except () {
     blobname '%s%04x%s["][,][ ]["]fw_sst_["][,][       \n]*sst_drv_ctx->pci_id[,][ ]["]\.bin' drivers/staging/intel_sst/intel_sst_common.h
     accept '[ ]*[*][ ]*0[ ]1[ ]2[ ]3[ ]4[ ]5[ ]6[ ]7[ ]8[ ]9[ ]0[ ]1[ ]2[ ]3[ ]4[ ]5[ ]6[ ]7[ ]8[ ]9[ ]0[ ]1[ ]2[ ]3[ ]4[ ]5[ ]6[ ]7[ ]8[ ]9[ ]0[ ]1' 'arch/x86/crypto/aesni-intel_asm\.S\|net/l2tp/l2tp_ip6\.c'
     defsnc 'static[ ]struct[ ]aead_testvec[ ]\(aes_gcm_rfc4106\)_\(enc\|dec\)_tv_template\[\][ ]=' 'crypto/testmgr.h'
-    blobname '\(sep[/]\)\?\extapp\.image\.bin' drivers/staging/sep/sep_driver.c
+    blobname '\(sep[/]\)\?extapp\.image\.bin' drivers/staging/sep/sep_driver.c
     blobname 'radeon[/]\(BARTS\|BTC\|TURKS\|CAICOS\|%s\)_\(pfp\|rlc\|[mc][ec]\)\.bin' 'drivers/gpu/drm/radeon/[ns]i\.c'
     defsnc 'static[ ]const[ ]u32[ ]\(barts\|turks\|caicos\)_io_mc_regs\[BTC_IO_MC_REGS_SIZE\]\[2\][ ]=' drivers/gpu/drm/radeon/ni.c
     defsnc 'static[ ]int[ ]types\[0x80\][ ]=' drivers/gpu/drm/nouveau/nv50_vram.c
@@ -4233,7 +4235,7 @@ set_except () {
     accept '[\t ]*["]request_firmware_nowait[ ]error' drivers/net/wireless/mwifiex/main.c
     blobname 'atmel[/]wilc1000\(_ap\|_p2p\)\?_fw\.bin' drivers/staging/wilc1000/Makefile
     blobname 'wifi_firmware\(_ap\|_p2p_concurrency\)\?\.bin' drivers/staging/wilc1000/linux_wlan.c
-    blob 'This[ ]directory[ ]is[ ]_NOT_[ ]for[ ]adding[ ]arbitrary[ ]new[ ]firmware[ ]images.*git[ ]pull[ ]request[ ]to:[\n][^\n]*linux-firmware\@kernel\.org[\n][^\n]*mailing[ ]lists\.' firmware/README.AddingFirmware
+    blob 'This[ ]directory[ ]is[ ]_NOT_[ ]for[ ]adding[ ]arbitrary[ ]new[ ]firmware[ ]images.*git[ ]pull[ ]request[ ]to:[\n][^\n]*linux-firmware@kernel\.org[\n][^\n]*mailing[ ]lists\.' firmware/README.AddingFirmware
 
     # New in 4.2.1 and 4.1.8.
     defsnc '[}][ ]common_modes\[\][ ]=' drivers/gpu/drm/qxl/qxl_display.c
@@ -4863,7 +4865,7 @@ set_except () {
 
     # New in 4.14 (up to rc5).
     blobname 'amdgpu[/]vega10_acg_smc\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
-    blobname 'netronome[/]\(serial-%pMF-%02hhx-%02hhx\|pci-%s\)\.nffw' drivers/net/ethernet/netronome/nfp/nfp_main.c
+    blobname '\(netronome[/]\)\?\(serial-\(%pMF-%02hhx-%02hhx\|[-0-9a-f]*\)\|pci-\(%s\|[0-9a-f:.]*\)\)\.nffw' drivers/net/ethernet/netronome/nfp/nfp_main.c
     blobname 'brcmfmac4373-sdio\.bin' drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
     blobname 'brcmfmac4373\.bin' drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c
     blobname 'iwlwifi-QuQnj-\([af]0-hr-a0\|a0-jf-b0\)-' drivers/net/wireless/intel/iwlwifi/cfg/a000.c
@@ -5362,7 +5364,7 @@ set_except () {
     accept 'instruction[ ]in[ ]combination[ ]with[ ]a[ ]microcode[ ]update[.][ ]The[ ]microcode[ ]clears' Documentation/x86/mds.rst
     accept '[ \t]*scenarios[ ]where[ ]the[ ]host[ ]has[ ]the[ ]updated[ ]microcode[ ]but' Documentation/x86/mds.rst
 
-    # New in 5.2
+    # New in 5.2.
     blobname 'nvidia[/]%s[/]%s\(-%d\)\?\.bin' drivers/gpu/drm/nouveau/nvkm/core/firmware.c
     accept '\(63\|31\|56\|24\|39\|32\|[0437][ ]\)\([ ]\([0-9 ][0-9 ]\)\)*[ ]\(56\|63\|32\|39\|24\|31\|[ ]\?[0437]\)\([\n]\(63\|31\|56\|24\|39\|32\|[0437][ ]\)\([ ]\([0-9 ][0-9 ]\)\)*[ ]\(56\|63\|32\|39\|24\|31\|[ ]\?[0437]\)\)*' Documentation/packing.txt
     blobname 'amd-ucode[/]microcode_amd[*]\.bin' Documentation/x86/microcode.rst
@@ -5430,6 +5432,398 @@ set_except () {
     # New in 5.2.3, 5.1.20, and 4.19.61.
     defsnc 'static[ ]const[ ]u32[ ]runnable_avg_yN_inv\[\][ ]__maybe_unused[ ]=' kernel/sched/sched-pelt.h
 
+    # New in 5.3.
+    accept 'int[ ]rtl_fw_request_firmware[(]' drivers/net/ethernet/realtek/r8169_firmware.c
+    accept '[\t]if[ ][(]rtl_fw_request_firmware[(]' drivers/net/ethernet/realtek/r8169_main.c
+    defsnc 'static[ ]const[ ]struct[ ]phy_reg[ ]rtl8168d_1_phy_reg_init_0\[\][ ]=' drivers/net/ethernet/realtek/r8169_main.c
+    defsnc '[ ][ ]const[ ]char[ ]parity\[256\][ ]=' Documentation/driver-api/mtd/nand_ecc.rst
+    defsc 'static[ ]const[ ]struct[ ]si5341_reg_default[ ]si5341_reg_defaults\[\][ ]=' drivers/clk/clk-si5341.c
+    defsnc 'static[ ]const[ ]uint16_t[ ]filter_\([56789]\|1[012]\)tap_16p_\(upscale\|117\|150\|183\)\[\(45\|54\|63\|72\|81\|9[09]\|108\)\][ ]=' drivers/gpu/drm/amd/display/dc/dcn20/dcn20_dwb_scl.c
+    defsnc 'const[ ]qp_table[ \t]\+qp_table_4\(2[02]\|44\)_\(8\|1[02]\)bpc_m\(in\|ax\)[ ]=' drivers/gpu/drm/amd/display/dc/dsc/qp_tables.h
+    defsnc 'static[ ]const[ ]struct[ ]IP_BASE[ ]\(DCN\|RSMU\|VCN\)_BASE[ \t]\+=' drivers/gpu/drm/amd/include/navi10_ip_offset.h
+    defsnc 'rdma_dim_prof\[RDMA_DIM_PARAMS_NUM_PROFILES\][ ]=' drivers/infiniband/core/cq.c
+    defsnc 'static[ ]const[ ]unsigned[ ]char[ ]applespi_scancodes\[\][ ]=' drivers/input/keyboard/applespi.c
+    defsc 'const[ ]u32[ ]isc_gamma_table\[GAMMA_MAX[ ][+][ ]1\]\[GAMMA_ENTRIES\][ ]=' drivers/media/platform/atmel/atmel-isc.c
+    defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]cs47l92_reva_\(16\|32\)_patch\[\][ ]=' drivers/mfd/cs47l92-tables.c
+    defsc 'static[ ]const[ ]unsigned[ ]char[ ]hantro_jpeg_header\[JPEG_HEADER_SIZE\][ ]=' drivers/staging/media/hantro/hantro_jpeg.c
+    defsnc 'static[ ]const[ ]u8[ ]zigzag\[64\][ ]=' drivers/staging/media/hantro/hantro_mpeg2.c
+    defsnc 'static[ ]u64[ ]intervals[0124]\[\][ ]__initdata[ ]=' kernel/irq/timings.c
+    defsnc 'static[ ]struct[ ]etab[ ]Tab\[\][ ]=' lib/reed_solomon/test_rslib.c
+    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt1011_reg\[\][ ]=' sound/soc/codecs/rt1011.c
+    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt1308_reg\[\][ ]=' sound/soc/codecs/rt1308.c
+    for n in ptwrite cbr mwait pwre exstop pwrx context_switches; do
+       defsnc "$n"'_file[ \t]*=[ ]open_output_file[(]["]'"$n"'_table\.bin["][)]' tools/perf/scripts/python/export-to-postgresql.py
+    done
+    blobname 'nvm_00440302\.bin' Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt
+    blobname 'crnv21\.bin' Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt
+    accept 'bpp\([ ]\+[0-9]\+x[0-9]\+\)*[\n][ =]*\([\n][ ]*[0-9]\+\([ ]*0x[0-9A-F]*\)*\)*' Documentation/fb/matroxfb.rst
+    accept '[ ][ ]pct[ ]confidence[ ]steady[ ]dynamic[ ][(]compensation[)]\([\n][ ]*[0-9]\([ ]\+[0123]\)\+\)\+[\n][ ]*[.]*\([\n][ ]*[34][0-9]\([ ]\+[0123]\)\+\)\+' Documentation/thermal/intel_powerclamp.rst
+    blobname 'amdgpu[/]navi10_vcn\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
+    blobname 'amdgpu[/]%s_ta\.bin' drivers/gpu/drm/amd/amdgpu/psp_v11_0.c
+    blobname 'i915[/]\(["][ ][\\][\n][\t]__stringify[(]KEY##_GUC_FW_\(PREFIX\|MAJOR\|MINOR\|PATCH\)[)][ ]["][^"]*\)\+' drivers/gpu/drm/i915/intel_guc_fw.c
+    blobname 'a540_\(gpmu\.fw2\|zap\.mdt\)' drivers/gpu/drm/msm/adreno/adreno_device.c
+    blobname 'dvb-tuner-si2157-a30-01\.fw' drivers/media/tuners/si2157_priv.h
+    accept 'static[ ]struct[ ]dvb_usb_device_properties[\n]cxusb_bluebird_\(lgh064f\|dee1601\|lgz201\|dtt7579\|nano2_needsfirmware\)_properties[ ]=[ ][{][\n]\([       ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[   ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/cxusb.c
+    blobname 'v4l-pvrusb2-160xxx-01\.fw' drivers/media/usb/pvrusb2/pvrusb2-devattr.c
+    blobname 'gsl1680-chuwi-hi10plus\.fw' drivers/platform/x86/touchscreen_dmi.c
+    blobname '%s%pUL%s["][,][\n \t]*["]intel[/]dsp_fw_["][,][ ]guid[,][ ]["]\.bin' sound/soc/intel/skylake/skl-sst.c
+    blobname 'qcom[/]db845c[/]\(adsp\|cdsp\)\.mdt' arch/arm64/boot/dts/qcom/sdm845-db845c.dts
+    accept '[\t]rpi->firmware[ ]=[ ]' drivers/clk/bcm/clk-raspberrypi.c
+    blobname 'display_hdcp_srm\.bin' drivers/gpu/drm/drm_hdcp.c
+    accept '[ ][*][ ]SRM[ ]should[ ]be[ ]presented[ ]in[ ]the[ ]name[ ]of[ ]["][^"]*["]' drivers/gpu/drm/drm_hdcp.c
+    accept '[\t]s6e63m0_dcs_write_seq_static[(]ctx[,][ ]0xb[579]\([, \t\n]*0x[0-9a-f][0-9a-f]\)*[)][;]' drivers/gpu/drm/panel/panel-samsung-s6e63m0.c
+    # The link to "source" for this and other firmware files in
+    # LibreELEC meson-firmware is broken, but I tracked it down and
+    # it's just a binary blob encoded as an array initializer.
+    blobname 'meson[/]vdec[/]gxl_mpeg12\.bin' drivers/staging/media/meson/vdec/vdec_platform.c
+    accept '[\t]echo[ ]-n[ ]["]Batched[ ]request_firmware\(_direct\|_nowait\)\?[(]' tools/testing/selftests/firmware/fw_filesystem.sh
+    # The firmware file name is supplied by the user.
+    accept '[\t]err[ ]=[ ]request_firmware_direct[(][&]fw[,][ ]file_name[,]\([^\n]*[\n]\+[^\n}]\)*return[ ]mlx5_firmware_flash[(]dev[,][ ]fw[,]' drivers/net/ethernet/mellanox/mlx5/core/devlink.c
+    accept '[\t]err[ ]=[ ]request_firmware_direct[(][&]fw[,][ ]flash->data[,]\([^\n]*[\n]\+[^\n}]\)*err[ ]=[ ]mlx5_firmware_flash[(]mdev[,][ ]fw[,]' drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c
+    # This firmware file name is supplied by the user,
+    # but there's another in the same source file (way above) that is hardcoded.
+    accept '[\t]err[ ]=[ ]request_firmware_direct[(][&]firmware[,][ ]\(fw_filename\|file_name\)[,]\([^\n]*[\n]\+[^\n}]\)*err[ ]=[ ]mlxsw_sp_firmware_flash[(]mlxsw_sp[,][ ]firmware[,]' drivers/net/ethernet/mellanox/mlxsw/spectrum.c
+    blobname 'al5e\(_b\)\?\.fw' drivers/staging/media/allegro-dvt/allegro-core.c
+    # Sources are in cwsr_trap_handler_gfx10.asm.
+    defsnc 'static[ ]const[ ]uint32_t[ ]cwsr_trap_gfx10_hex\[\][ ]=' drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h
+    blobname 'amdgpu[/]%s_mes\.bin' drivers/gpu/drm/amd/amdgpu/mes_v10_1.c
+    accept 'static[ ]int[ ]allegro_firmware_request_nowait[(]' drivers/staging/media/allegro-dvt/allegro-core.c
+    accept '[\t]ret[ ]=[ ]allegro_firmware_request_nowait[(]' drivers/staging/media/allegro-dvt/allegro-core.c
+
+    # New in 5.3.4 and 5.2.19
+    defsnc '[\t]static[ ]const[ ]struct[ ]hda_alc298_mbxinit[ ]dac_init\[\][ ]=' sound/pci/hda/patch_realtek.c
+    blobname 'mediatek[/]mt7615_\(cr4\|n9\|rom_patch\)\.bin' drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h
+
+    # WIP: False positives of suspicious extensions followed by anything
+    # other than quotes.
+    accept '\(BIN\|IHEX\)[\t]:=[ ][$][(]patsubst[ ]%\.S[,][ ]%\.bin\(\.ihex\)\?' Documentation/EDID/Makefile
+    accept '[\t]@rm[ ]-f[ ][*]\.o[ ][*]\.bin\.ihex[ ][*]\.bin[ ]' Documentation/EDID/Makefile
+    accept '%\.bin\(\.nocrc\|\.ihex\)\?:[\t]%\.[op]' Documentation/EDID/Makefile
+    accept '%\.crc:[\t]%\.bin\.nocrc' Documentation/EDID/Makefile
+    accept '[ ]*[(]e\.g\.[ ]support[ ]for[ ]RAM[ ]disks[,][ ]initrd[,][ ]a\.out[,]' Documentation/admin-guide/initrd.rst
+    accept '[\t]*System\.out\.println' Documentation/admin-guide/java.rst
+    accept '[\t]*edid[/]1024x768\.bin[,][ ]edid[/]1280x1024\.bin[,]' Documentation/admin-guide/kernel-parameters.txt
+    accept '[\t]*edid[/]1680x1050\.bin[,][ ]or[ ]edid[/]1920x1080\.bin[,]' Documentation/admin-guide/kernel-parameters.txt
+    accept '[ ]*disk[ ]=[ ]\[[ ][\'"'"']file:[/]root[/]rhel5\.img[,]' Documentation/ia64/xen.rst
+    accept '[\t]*[$][(]obj[)][/]vmlinux\.bin\.gz:[ ][$][(]vmlinux\.bin\.all-y[)]' Documentation/kbuild/makefiles.rst
+    accept 'raw2pnm[ ]-x2560[ ]-y1920[ ]-fNV12[ ][/]tmp[/]frames\.out[ ][/]tmp[/]frames\.out\.ppm' Documentation/media/v4l-drivers/ipu3.rst
+    accept 'the[ ]file[ ]is[ ]6pack\.bin\.' Documentation/networking/6pack.txt
+    accept 'CMAGIC[ ]*0x0111[ ]*user[ ]*``include[/]linux[/]a\.out\.h``' 'Documentation/\(process\|translations/\(it_IT\|zh_CN\)\)/magic-number\.rst'
+    accept '[ ]*[#][ ]\(echo[ ][\'"'"']\|trigger[ ]info:[ ]\)[!]\?hist:\(name=foo:\)\?keys=\(skbaddr\|call_site\)\.hex:' Documentation/trace/histogram.rst
+    accept '#include[ ][<]\(linux\|uapi[/]asm\)[/]a\.out\.h[>]' 'arch/\(alpha/\(boot/tools/objstrip\.c\|include/asm/a\.out\.h\|kernel/binfmt_loader\.c\)\|x86/ia32/ia32_aout\.c\)'
+    accept 'targets[ ]:=[ ]vmlinux\.bin[ ]vmlinux\.bin\.gz[ ]' arch/arc/boot/Makefile
+    accept 'extra-y[ ][+]=[ ]vmlinux\.bin\.\(gz\|lzma\)' arch/arc/boot/Makefile
+    accept '[$][(]obj[)][/]\(vmlinuz\.bin\(\.gz\|\.lzma\)\?\|uImage\.\(bin\|gz\|lzma\)\):[ ]\([$][(]obj[)][/]\)\?vmlinux\(\.bin\(\.gz\|\.lzma\)\?\)\?[ ]' arch/arc/boot/Makefile
+    accept '[\t][ ][*][ ]using[ ]flashwriter_nand\.out[,][ ]but' arch/arm/mach-davinci/board-dm644x-evm.c
+    accept '[\t]fw[ ]=[ ]am200_board\.fw[;]' arch/arm/mach-pxa/am200epd.c
+    accept '[#][ ]Default[ ]to[ ]vmlinuxz.bin[,][ ]override' arch/c6x/Makefile
+    accept 'vmlinux\.bin:[ ]vmlinux' 'arch/\(c6x\|ia64\)/Makefile'
+    accept '[$][(]obj[)][/]vmlinux\.bin:' 'arch/\(c6x\|mips\|nios2\|parisc\|s390\|sh\|x86\)/boot/\(compressed/\)\?Makefile'
+    accept 'vmlinux\.srec[ ]vmlinux\.bin[ ]zImage[ ]uImage\.bin:[ ]vmlinux' arch/h8300/Makefile
+    accept '[$][(]obj[)][/]vmlinux\.srec[ ][$][(]obj[)][/]vmlinux\.bin:' arch/h8300/boot/Makefile
+    accept '[$][(]obj[)][/]uImage\.bin:[ ][$][(]obj[)][/]vmlinux\.bin' arch/h8300/boot/Makefile
+    accept 'targets[\t]*:=[ ]vmlinux[ ]vmlinux\.bin[ ]vmlinux\.bin\.gz' arch/h8300/boot/compressed/Makefile
+    accept '[$][(]obj[)][/]\(vmlinux\.bin\(\.[$][(]suffix-y[)]\)\?\|piggy\.o\):\([ ]\([$][(]obj[)][/]\)\?vmlinux\(\.scr\|\.bin\(\.[$][(]suffix-y[)]\)\?\)\?\)*' arch/h8300/boot/compressed/Makefile
+    accept 'PHONY[ ][+]=[ ]linux\.bin[ ]linux\.bin\.gz[ ]linux\.bin\.ub' arch/microblaze/Makefile
+    accept 'linux\.bin\.ub[ ]linux\.bin\.gz:[ ]linux\.bin' arch/microblaze/Makefile
+    accept 'linux\.bin:[ ]vmlinux' arch/microblaze/Makefile
+    accept 'linux\.bin[ ]linux\.bin\.gz[ ]linux\.bin\.ub:' arch/microblaze/Makefile
+    accept '[ ]*echo[ ][\'"'"'][ ]*linux.bin.\(gz\|ub\)' arch/microblaze/Makefile
+    accept 'targets[ ]:=[ ]linux\.bin[ ]linux\.bin\.gz[ ]linux\.bin\.ub' arch/microblaze/boot/Makefile
+    accept '[$][(]obj[)][/]linux\.bin\(\.ub\|\.gz\)\?:[ ]\([$][(]obj[)][/]\|vm\)\?linux\(\.bin\)\?[ ]' arch/microblaze/boot/Makefile
+    accept '[\t]*[ ]*DTB[)][ ]appended[ ]to[ ]raw[ ]vmlinux\.bin[ ]or[ ]vmlinuz\.bin\.' arch/mips/Kconfig
+    accept '[\t]*[ ]*to[ ]vmlinux\.bin\.' arch/mips/Kconfig
+    accept 'extra-y[ ][+]=[ ]vmlinux\.bin\.\(bz2\|gz\|lzma\|lzo\)' arch/mips/boot/Makefile
+    accept '[$][(]obj[)][/]\(vmlinux\|uImage\)\(\.\(bin\|bz2\|gz\|lzma\|lzo\)\)\+:[ ][$][(]obj[)][/]vmlinux\.bin[ ]' arch/mips/boot/Makefile
+    accept '[\t][$][(]call[ ]if_changed[,]cpp_its_S[,]\(gzip\|bzip2\|lzma\|lzo\)[,]vmlinux\.bin\.\(gz\|bz2\|lzma\|lzo\)[)]' arch/mips/boot/Makefile
+    accept '[$][(]obj[)][/]vmlinux\(.%\)\?\.itb:[ ][$][(]obj[])[/]vmlinux\(.%\)\?\.its[ ][$][(]obj[)][/]vmlinux\(.%\)\?\.bin[ ]' arch/mips/boot/Makefile
+    accept 'targets[ ][+]=[ ]vmlinux\.bin\.z' arch/mips/boot/compressed/Makefile
+    accept '[$][(]obj[)][/]vmlinux\.bin\.z:[ ][$][(]obj[)][/]vmlinux\.bin[ ]' arch/mips/boot/compressed/Makefile
+    accept 'OBJCOPYFLAGS_piggy\.o[ ]:=[ ]--add-section=\.image=[$][(]obj[)][/]vmlinux\.bin\.z[ ]' arch/mips/boot/compressed/Makefile
+    accept '[$][(]obj[)][/]piggy\.o:\([ ][$][(]obj[)][/]\(dummy\.o\|vmlinux\.bin\.z\)\)*' arch/mips/boot/compressed/Makefile
+    accept 'vmlinuz\.bin:[ ]vmlinuz' arch/mips/boot/compressed/Makefile
+    accept 'uzImage\.bin:[ ]vmlinuz\.bin[ ]' arch/mips/boot/compressed/Makefile
+    accept '[\t]return[ ]read_cmd\.s\.dat[;]' arch/mips/cavium-octeon/executive/octeon-model.c
+    accept '[\t]*\(\(if\|switch\)[ ][(]\|opcode[ ]=[ ]\)\(inst_mips16e\|inst\|mips16inst\)\.ri\.opcode' 'arch/mips/kernel/\(branch\|unaligned\)\.c'
+    accept '[\t]*reg[ ]=[ ]reg16to32\[mips16inst\.ri\.rx\]' arch/mips/kernel/unaligned.c
+    accept '[\t]*switch[ ][(]mips16inst\.ri\.imm[ ]' arch/mips/kernel/unaligned.c
+    accept 'rom\.bin:[\t][$][(]obj[)][/]rom\.bin' arch/mips/lasat/image/Makefile
+    accept '[$][(]obj[)][/]\(rom\|kImage\)\.bin:' arch/mips/lasat/image/Makefile
+    accept 'targets[ ][:+]=\([ ]vmlinux\(\.\(lds\|bin\(\.\(gz\|bz2\|xz\|lzma\|lzo\|lz4\)\)\?\)\)\?\)*' 'arch/\(parisc\|s390\)/boot/compressed/Makefile'
+    accept 'vmlinux\.bin\.all-y[ ]:=[ ][$][(]obj[)][/]vmlinuz\.bin' 'arch/\(parisc\|s390\)/boot/compressed/Makefile'
+    accept '[$][(]obj[)][/]vmlinux\.bin\.\(gz\|bz2\|lz4\|lzma\|lzo\|xz\):[ ][$][(]vmlinux\.bin\.all-y[)]' 'arch/\(parisc\|s390\|sh\|x86\)/boot/compressed/Makefile'
+    accept '[$][(]obj[)][/]piggy\.o:\([ ][$][(]obj[)][/]vmlinux\.\(scr\|bin\.[$][(]suffix-y[)]\)\)*' 'arch/\(parisc\|sh\)/boot/compressed/Makefile'
+    accept '[\t][/][*][ ]vmlinux\.bin\.gz[ ]is[ ]here[ ][*][/]' arch/parisc/boot/compressed/vmlinux.lds.S
+    accept 'zImage\.bin\.[*]' arch/powerpc/boot/.gitignore
+    accept '[$][(]obj[)][/]spu_%\.bin:[ ][$][(]src[)][/]spu_%' arch/powerpc/platforms/cell/spufs/Makefile
+    accept '[$][(]obj[)][/]info.bin:' arch/s390/boot/compressed/Makefile
+    accept 'vmlinux\.bin\.all-y[ ]:=[ ][$][(]obj[)][/]vmlinux.bin' 'arch/\(s390\|sh\|x86\)/boot/compressed/Makefile'
+    accept 'OBJCOPYFLAGS_piggy\.o[ ]:=[ ]-I[ ]binary[ ]-O[ ]elf64-s390[ ]-B[ ]s390:64-bit[ ]--rename-section[ ]\.data=\.vmlinux\.bin\.compressed' arch/s390/boot/compressed/Makefile
+    accept '[\t]*[*][(]\.vmlinux\.bin\.compressed[)]' arch/s390/boot/compressed/vmlinux.lds.S
+    accept 'extra-y[ ][+]=\([ ]\([\\][\n][\t][ ]*\)\?vmlinux\.bin\(\.\(bz2\|gz\|lzma\|lzo\|xz\)\)\?\)*' arch/sh/boot/Makefile
+    accept '[$][(]obj[)][/]\(vmlinux\|uImage\)\(\.\(bin\|bz2\|gz\|lzma\|xz\|lzo\)\)\+:[ ][$][(]obj[)][/]vmlinux\.bin\(\.\(bz2\|gz\|lzma\|xz\|lzo\)\)\?' arch/sh/boot/Makefile
+    accept 'vmlinux\.bin\.[*]' arch/sh/boot/compressed/.gitignore
+    accept 'targets[ \t]*[:+]=\([ ][\\\n\t ]*vmlinux\(\.\(bin\(\.\(gz\|bz2\|xz\|lzma\|lzo\|lz4\)\)\?\)\)\?\)*' 'arch/\(parisc\|s390\|x86\)/boot/compressed/Makefile'
+    accept '[$][(]obj[)][/]zeropage.bin:' arch/sh/boot/compressed/Makefile
+    accept '[$][(]obj[)][/]\(image\|tftpboot\).bin:' arch/sparc/boot/compressed/Makefile
+    accept '[\t]*fprintf[ ][(]stderr[,][ ]["]Not[ ]a\.out\.' arch/sparc/boot/piggyback.c
+    accept '[$][(]obj[)][/]setup\.elf:' arch/x86/boot/Makefile
+    accept '[$][(]obj[)][/]setup\.bin:[ ][$][(]obj[)][/]setup\.elf[ ]' arch/x86/boot/Makefile
+    accept 'image_cmdline[ ]=[ ]default[ ]linux[ ][$][(]FDARGS[)][ ][$][(]if[ ][$][(]FDINITRD[)][,]initrd=initrd\.img[,][)]' arch/x86/boot/Makefile
+    accept 'vmlinux\.bin\.all' arch/x86/boot/compressed/.gitignore
+    accept '[#][ \t]*vmlinux\.bin\.\(all\|[(]gz\|bz2\|lzma\|\.\.\.[)]\)' arch/x86/boot/compressed/Makefile
+    accept '[#][\t]compressed[ ]vmlinux\.bin\.all[ ][+][ ]u32[ ]size[ ]of[ ]vmlinux\.bin\.all' arch/x86/boot/compressed/Makefile
+    accept 'targets[ ][+]=[ ][$][(]patsubst[ ][$][(]obj[)][/]%[,]%[,][$][(]vmlinux-objs-y[)][)][ ]vmlinux\.bin\.all[ ]vmlinux\.relocs' arch/x86/boot/compressed/Makefile
+    accept 'vmlinux\.bin\.all-[$][(]CONFIG_X86_NEED_RELOCS[)][ ][+]=[ ][$][(]obj[)][/]vmlinux\.relocs' arch/x86/boot/compressed/Makefile
+    accept '[$][(]obj[)][/]piggy\.S:[ ][$][(]obj[)][/]vmlinux\.bin\.[$][(]suffix-y[)]' arch/x86/boot/compressed/Makefile
+    accept '[$][(]obj[)][/]\(rm[/]\)\?realmode\.\(elf\|bin\):\([ ][$][(]obj[)][/]realmode\.\(lsd\|elf\|relocs\)\)*' arch/x86/realmode/Makefile
+    accept 'vmlinux\.bin\.gz:[ ]vmlinux\.bin' arch/xtensa/boot/Makefile
+    accept 'boot-redboot:[ ]vmlinux\.bin\.gz' arch/xtensa/boot/Makefile
+    accept '[$][(]obj[)][/]uImage:[ ]vmlinux\.bin\.gz' arch/xtensa/boot/Makefile
+    accept '[$][(]obj[)][/]\.\.[/]Image\.elf:[ ][$][(]obj[)][/]Image\.o[ ][$][(]obj[)][/]boot\.lds' arch/xtensa/boot/boot-elf/Makefile
+    accept '[$][(]obj[)][/]zImage\.o:[ ]vmlinux\.bin\.gz' arch/xtensa/boot/boot-redboot/Makefile
+    accept '[\t]*--add-section[ ]image=vmlinux\.bin\.gz[ ]' arch/xtensa/boot/boot-redboot/Makefile
+    accept '[$][(]obj[)][/]zImage\.elf:[ ][$][(]obj[)][/]zImage\.o' arch/xtensa/boot/boot-redboot/Makefile
+    accept '[\t]*[(]unsigned[ ]long[)]op\.out[,][ ][(]long[)]op\.outlen[)][;]' drivers/crypto/nx/nx-842-pseries.c
+    accept '[\t]*adev->firmware\.ucode\[AMDGPU_UCODE_ID_\(UVD1\?\|VC[EN]1\?\)\]\.fw[ ]=[ ]adev->\(uvd\|vc[en]\)\.fw[;]' drivers/gpu/drm/amd/amdgpu/'\(uvd_v7_0\|vce_v[124]_[05]\)\.c'
+    accept '[\t]*\(err[ ]=[ ]\)intel_uc_fw_fetch[(][&]uc->[gh]uc\.fw[,]' drivers/gpu/drm/i915/gt/uc/intel_uc.c
+    accept '[\t]*intel_uc_fw_dump[(][&]dev_priv->gt\.uc\.[hg]uc\.fw[,]' drivers/gpu/drm/i915/i915_debugfs.c
+    accept '[\t]memcpy[(][&]error_uc->[gh]uc_fw[,][ ][&]uc->[gh]uc\.fw[,][ ]sizeof[(]uc->[gh]uc\.fw[)][)][;]' drivers/gpu/drm/i915/i915_gpu_error.c
+    accept '[\t]error_uc->[gh]uc_fw\.path[ ]=[ ]kstrdup[(]uc->[gh]uc\.fw\.path[,]' drivers/gpu/drm/i915/i915_gpu_error.c
+    accept '[\t]return[ ]le16_to_cpu[(]dp\.fw\.family_code[)]' drivers/hid/hid-led.c
+    accept '[\t]*cmd->tx_buf[ ]=[ ]i3c_xfers\[i\]\.data\.out[;]' drivers/i3c/master/dw-i3c-master.c
+    accept '[\t]*ccmd->tx_buf[ ]=[ ]xfers\[i\]\.data\.out[;]' drivers/i3c/master/i3c-master-cdns.c
+    accept '[\t]*cmd\.valid\.out\.\(tf\|hob\)[ ][|]\?=' drivers/ide/'ide-.*\.c'
+    accept '[\t]*if[ ][(]cmd->valid\.out\.tf[ ][&]' drivers/ide/ide-taskfile.c
+    accept '[\t]*tp_ops->tf_load[(]drive[,][ ][&]cmd->\(tf\|hob\)[,][ ]cmd->valid\.out\.\(tf\|hob\)[)][;]' drivers/ide/ide-taskfile.c
+    accept '[\t]err[ ]=[ ]mlx5_cmd_exec[(]dev->mdev[,][ ]cmd\.in[,][ ]cmd\.inlen[,][ ]cmd\.out[,]' drivers/infiniband/hw/mlx5/devx.c
+    accept '[\t]devx_obj_build_destroy_cmd[(]cmd\.in[,][ ]cmd\.out[,]' drivers/infiniband/hw/mlx5/devx.c
+    accept '[\t]mlx5_cmd_exec[(]obj->mdev[,][ ]obj->dinbox[,][ ]obj->dinlen[,][ ]cmd\.out[,][ ]sizeof[(]cmd\.out[)][)][;]' drivers/infiniband/hw/mlx5/devx.c
+    accept '[\t]\(bl\(oc\)\?k_count\|num_of_containers\)[ ]=[ ]f34->v7\.img\.' drivers/input/rmi4/rmi_f34v7.c
+    accept '[\t]f34->v7.config_\(data\|size\)[ ]=[ ]f34->v7\.img\.' drivers/input/rmi4/rmi_f34v7.c
+    accept '[\t]return[ ]rmi_f34v7_write_f34v7_blocks[(]f34[,][ ]f34->v7\.img\.guest_code\.data[,][\n\t ]*f34->v7\.img\.guest_code\.size' drivers/input/rmi4/rmi_f34v7.c
+    accept '[\t]return[ ]rmi_f34v7_write_f34v7_blocks[(]f34[,][ ]f34->v7\.img\.\(guest_code\|ui_firmware\)\.data[,][\n\t ]*f34->v7\.img\.\(guest_code\|ui_firmware\)\.size' drivers/input/rmi4/rmi_f34v7.c
+    accept '[\t]\(if[ ][(]\|[ ]*\)f34->v7\.phyaddr\.\(ui_firmware\|ui_config\|dp_config\|guest_code\)[ ]!=[ ]f34->v7\.img\.phyaddr\.\(ui_firmware\|ui_config\|dp_config\|guest_code\)[)]' drivers/input/rmi4/rmi_f34v7.c
+    accept '[\t]*addr[ ]=[ ]get_unaligned_le32[(]f34->v7\.img\.bootloader\.data[ ]' drivers/input/rmi4/rmi_f34v7.c
+    accept '[\t]*[ ]*f34->v7\.img\.' drivers/input/rmi4/rmi_f34v7.c
+    accept '[\t]rmi_dbg[(]RMI_DEBUG_FN[,][ ][&]f34->fn->dev[,][ ]["]%s:[ ]f34->v7\.img\.checksum' drivers/input/rmi4/rmi_f34v7.c
+    accept '[\t]*__func__[,][ ]f34->v7\.img\.checksum[)]' drivers/input/rmi4/rmi_f34v7.c
+    accept '[\t]memset[(][&]f34->v7\.img[,][ ]0x00[,][ ]sizeof[(]f34->v7\.img[)][)][;]' drivers/input/rmi4/rmi_f34v7.c
+    accept '[\t]if[ ][(][!]f34->v7\.img\.' drivers/input/rmi4/rmi_f34v7.c
+    accept '[\t]rmi_f34v7_parse_partition_table[(]f34[,][ ]f34->v7\.img\.' drivers/input/rmi4/rmi_f34v7.c
+    accept '[\t]*[&]f34->v7\.img\.blkcount[,][ ][&]f34->v7\.img\.phyaddr[)][;]' drivers/input/rmi4/rmi_f34v7.c
+    accept '[\t]*if[ ][(]f34->v7\.has_\(guest_code\|display_cfg\)[ ][&][&][ ]f34->v7\.img\.contains_\(guest_code\|display_cfg\)[)]' drivers/input/rmi4/rmi_f34v7.c
+    blobname 'picasso_rlc\(_am4\)\?\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
+    blobna '[/][*][\n][\t][ ][*][ ]For[ ]Picasso[^*]*\([*]\+[^/*][^*]*\)*picasso_rlc[^*]*\([*]\+[^/*][^*]*\)*[*][*]*[/]' drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
+    # WIP: more to come here.
+
+    # New in 5.3.11, 4.19.84 and 4.14.154.
+    accept 'CPUID[ ]to[ ]the[ ]guest[.][ ]If[ ]the[ ]host[ ]has[ ]updated[ ]microcode[ ]the[ ]protection' Documentation/admin-guide/hw-vuln/tsx_async_abort.rst
+    accept '[\t *]*-[ ]Updated[ ]microcode[ ]is[ ]present' arch/x86/kvm/x86.c
+
+    # New in 5.4-rc*.
+    accept '[ ][ ]\(63\|31\|56\|24\|39\|32\|[0437][ ]\)\([ ]\([0-9 ][0-9 ]\)\)*[ ]\(56\|63\|32\|39\|24\|31\|[ ]\?[0437]\)\([\n][ ][ ]\(63\|31\|56\|24\|39\|32\|[0437][ ]\)\([ ]\([0-9 ][0-9 ]\)\)*[ ]\(56\|63\|32\|39\|24\|31\|[ ]\?[0437]\)\)*' Documentation/packing.txt
+    blobname 'linux-firmware\.git' Documentation/networking/device_drivers/netronome/nfp.rst
+    defsnc 'static[ ]u32[ ]vrate_adj_pct\[\][ ]=' block/blk-iocost.c
+    defsnc 'static[ ]const[ ]u32[ ]crypto_[fi]l_tab\[4\]\[256\][ ]____cacheline_aligned[ ]=' crypto/aes_generic.c
+    defsnc 'static[ ]const[ ]struct[ ]comp_testvec[ ]lzorle_\(de\)\?comp_tv_template\[\][ ]=' crypto/testmgr.h
+    defsnc 'static[ ]const[ ]struct[ ]cipher_testvec[ ]essiv_aes_cbc_tv_template\[\][ ]=' crypto/testmgr.h
+    defsnc 'static[ ]const[ ]struct[ ]aead_testvec[ ]essiv_hmac_sha256_aes_cbc_tv_temp\[\][ ]=' crypto/testmgr.h
+    blobname 'cnn55xx_ae\.fw' drivers/crypto/cavium/nitrox/nitrox_main.c
+    blobname 'amdgpu[/]\(arcturus\|renoir\|navi1[24]\)_vcn\.bin' drivers/gpu/dmr/amd/amdgpu/amdgpu_vcn.c
+    blobname 'amdgpu[/]\(renoir\|%s\)_asd\.bin' drivers/gpu/drm/amd/amdgpu/psp_v12_0.c
+    blobname 'amdgpu[/]%s_sdma%d\.bin' drivers/gpu/drm/amd/amdgpu/sdma_v4_0.C
+    defsnc '\(const[ ]uin32_t[\n]\)\?[ \t]*umc_v6_1_channel_idx_tbl\[UMC_V6_1_UMC_INSTANCE_NUM\]\[UMC_V6_1_CHANNEL_INSTANCE_NUM\][ ]=' drivers/gpu/drm/amd/amdgpu/umc_v6_1.c
+    # Sources are in cwsr_trap_handler_gfx9.asm.
+    defsnc 'static[ ]const[ ]uint32_t[ ]cwsr_trap_arcturus_hex\[\][ ]=' drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h
+    defsnc 'static[ ]const[ ]struct[ ]abm_parameters[ ]abm_settings_config[01]\[abm_defines_max_level\][ ]=' drivres/gpu/drm/amd/display/modules/power/power_helpers.c
+    defsnc 'static[ ]const[ ]struct[ ]IP_BASE[ ]\(\(NBIF\|PCIE\)0\|SDMA[234567]\|DBGU_IO\)_BASE[ \t]*=' drivers/gpu/drm/amd/include/arct_ip_offset.h
+    defsnc 'static[ ]const[ ]struct[ ]IP_BASE[ ]\(DIO\|DMU\|DPCS\|HDA\|\(NBIF\|PCIE\)0\|SDMA\|USB0\|UVD0\)_BASE[ \t]*=' drivers/gpu/drm/amd/include/navi12_ip_offset.h
+    defsnc 'static[ ]const[ ]struct[ ]IP_BASE[ ]\(DIO\|DMU\|DPCS\|HDA\|\(NBIF\|PCIE\)0\|SDMA\|USB0\|UVD0\)_BASE[ \t]*=' drivers/gpu/drm/amd/include/navi14_ip_offset.h
+    defsnc 'static[ ]const[ ]struct[ ]IP_BASE[ ]\(ACP\|DBGU_IO0\|DIO\|DMU\|DPCS\|HDA\|IOHC0\|ISP\|L2IMU0\|\(NBIF\|PCIE\)0\|USB0\|UVD0\)_BASE[ \t]*=' drivers/gpu/drm/amd/include/renoir_ip_offset.h
+    blobname 'i915[/]tgl_dmc_ver2_04\.bin' drivers/gpu/drm/i915/intel_csr.c
+    defsnc '[\t][}][ ]init_data\[\][ ]=' drivers/gpu/drm/panel/panel-lg-lb035q02.c
+    defsnc '[\t][}][ ]nl8048_init_seq\[\][ ]=' drivers/gpu/drm/panel/panel-nec-nl8048hl11.c
+    defsnc 'static[ ]const[ ]struct[ ]cmd_set_entry[ ]manufacturer_cmd_set\[\][ ]=' drivers/gpu/drm/panel/panel-raydium-rm67191.c
+    defsnc 'static[ ]const[ ]char[ ]data_\(last_\)\?block_header\[DATA_BLOCK_HEADER_SIZE\][ ]=' drivers/gpu/drm/tiny/gm12u320.c
+    accept '[\t]mipi_dbi_command[(]dbi[,][ ]HX8357D_SETGAMMA\([,][\n][\t][\t][\t][ ]0x[0-9a-f][0-9a-fA-F]\)*[)][;]' drivers/gpu/drm/tiny/hx8357d.c
+    defsnc 'static[ ]const[ ]unsigned[ ]short[ ]creative_sb0540_codes\[\][ ]=' drivers/hid/hid-creative-sb0540.c
+    defsnc 'static[ ]const[ ]struct[ ]ov5675_reg[ ]mode_\(2592x1944\|1296x972\)_regs\[\][ ]=' drivers/media/i2c/ov5675.c
+    blobname 'rtl_nic[/]rtl8125a-3\.fw' drivers/net/ethernet/realtek/r8169_main.c
+    defsnc '[\t]static[ ]const[ ]u16[ ]ical\[\][ ]=' drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c
+    defsnc '[\t]static[ ]const[ ]u8[ ]channel_all\[TARGET_CHNL_NUM_2G_5G_8812\][ ]=' drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
+    defsnc 'static[ ]const[ ]struct[ ]rtw_txpwr_lmt_cfg_pair[ ]rtw8822b_txpwr_lmt_type[25]\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822b_table.c
+    defsnc 'static[ ]const[ ]struct[ ]rtw_txpwr_lmt_cfg_pair[ ]rtw8822c_txpwr_lmt_type0\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822c_table.c
+    blobname 'gsl1680-chuwi-surbook-mini\.fw' drivers/platform/x86/touchscreen_dmi.c
+    blobname 'gsl3680-irbis_tw90\.fw' drivers/platform/x86/touchscreen_dmi.c
+    defsnc 'static[ ]const[ ]u8[ ]aes_cipher_key_skeleton\[\][ ]=' drivers/s390/crypto/zcrypt_ccamisc.c
+    defsnc 'const[ ]u8[ ]uni_upcase\[NUM_UPCASE[ ]<<[ ]1\][ ]=' drivers/staging/exfat/exfat_upcase.c
+    defsnc 'static[ ]const[ ]u32[ ]h264_cabac_table\[\][ ]=' drivers/staging/media/hantro/hantro_h264.c
+    defsnc 'static[ ]const[ ]u32[ ]zig_zag_8x8\[\][ ]=' drivers/staging/media/hantro/hantro_h264.c
+    defsnc 'static[ ]volatile[ ]const[ ]u8[ ]__cacheline_aligned[ ]aes_\(inv_\)\?sbox\[\][ ]=' lib/crypto/aes.c
+    defsnc 'static[ ]const[ ]u16[ ]scarlett2_mixer_values\[173\][ ]=' sound/usb/mixer_scarlett_gen2.c
+    defsc 'vector[ ]int[ ]vsxs\[\][ ]=' tools/testing/selftests/powerpc/tm/tm-signal-context-chk-vsx.c
+    defsnc '[\t]static[ ]const[ ]struct[ ]ephy_info[ ]e_info_8125_[12]\[\][ ]=' drivers/net/ethernet/realtek/r8169_main.c
+    defsnc '[\t]static[ ]const[ ]u32[ ]wl_rx_low_gain_o\(n\|ff\)\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822b.c
+    accept '[ ][*][\t]request_firmware_into_buf[(][)]' lib/test_firmware.c
+    accept '[\t]*req->rc[ ]=[ ]request_firmware_into_buf[(][&]req->fw[,][\n]' lib/test_firmware.c
+    accept 'trap[ ]["]rm[ ]-f[ ][$]tmp_file\.o[ ][$]tmp_file[ ][$]tmp_file\.bin["]' scripts/tools-support-relr.sh
+    accept '[\t]*\(echo[ ]-n[ ]["]\)\?\(test_batched_\|Batched[ ]\)request_firmware_into_buf\(_nofile\)\?\([(][)]\|[ ]\)' tools/testing/selftests/firmware/fw_filesystem.sh
+    accept '#[ ]We[ ]need[ ]to[ ]load[ ]a[ ]different[ ]file[ ]to[ ]test[ ]request_firmware_into_buf' tools/testing/selftests/firmware/fw_lib.sh
+    accept '#[ ]To[ ]reproduce[ ]rename[ ]this[ ]to[ ]test-firmware\.bin' tools/testing/selftests/firmware/fw_lib.sh
+    # Since ar500X and ar92XX have Free firmware, I'm assuming this
+    # initialization data file is either Free Software or pure data.
+    accept '[\t]scnprintf[(]eeprom_name[,][ ]EEPROM_FILENAME_LEN[,][ ]["]ath9k-eeprom-pci-%s\.bin["]' drivers/net/wireless/ath/ath9k/ath9k_pci_owl_loader.c
+    accept '[\t]err[ ]=[ ]request_firmware_nowait[(]THIS_MODULE[,][ ]true[,][ ]eeprom_name[,]' drivers/net/wireless/ath/ath9k/ath9k_pci_owl_loader.c
+    blobname 'i915[/]["]\([ ][\\][\n][\t]__stringify[(]\(prefix\|major\|minor\|patch\)_[)][ ]\(\(name\|separator\)_\)\?\)*["]\.bin' drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
+    blobname 'intel[/]dsp_fw_%pUL\.bin' sound/soc/intel/skylake/skl-sst.c
+    accept '[\t]*tplg_filename[ ]=[ ]devm_kasprintf[(]sdev->dev[,][ ]GFP_KERNEL[,][\n][\t ]*["]%s%s%s\.tplg["][,]' sound/soc/sof/intel/hda.c
+    blobname 'intel[/]ice[/]ddp[/]' drivers/net/ethernet/intel/ice/ice_main.c
+    blobname '["]ice\.pkg["]' drivers/net/ethernet/intel/ice/ice_main.c
+    blobname '\(intel[/]ice[/]ddp[/]\|%s\)\?ice\(-%02x%02x%02x%02x%02x%02x%02x%02x\|-[0-9A-F]*\)\?\.pkg' drivers/net/ethernet/intel/ice/ice_main.c
+    accept '[\t]*marvell[,]caldata-txpwrlimit-\(2g\|5g-sub[012]\)[ ]=[ ][/]bits[/][ ]8[ ]<\([\n ]0x[0-9a-f][0-9a-f]\)*>[;]' arch/arm/boot/dts/rk3288-veyron-jerry.dts
+    blobname 'amdgpu[/]%s_\(pfp\|[mc]e\|mec2\?\)%s\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
+    blobname 'amdgpu[/]navi14_\(pfp\|[mc]e\|mec2\?\)_wks\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
+    blob '6\.1\.[ ]Driver[ ]complains[^\n]*i2400m-fw[^\n]*[\n]--*\([\n][\n]*\([ ][ ][ ]\|[\t]i2400m_usb\)[^\n]*\)\+' Documentation/admin-guide/wimax/i2400m.rst
+    # This is not new, just a new catch.
+    blobname 'inside-secure[/]%s[/]%s' drivers/crypto/inside-secure/safexcel.c
+
+    # New in 5.5-rc*.
+    initnc '\.Lpermute_table:' arch/arm64/crypto/ghash-ce-core.S
+    initnc 'SIGMA2\?:' arch/x86/crypto/blake2s-core.S
+    defsnc 'static[ ]const[ ]u8[ ]blake2b_sigma\[12\]\[16\][ ]=' crypto/blake2b_generic.c
+    defsc 'static[ ]const[ ]struct[ ]kpp_testvec[ ]curve25519_tv_template\[\][ ]=' crypto/testmgr.hpu
+    defsnc 'static[ ]const[ ]struct[ ]hash_testvec[ ]hmac_sm3_tv_template\[\][ ]=' crypto/testmgr.h
+    defsnc 'static[ ]const[ ]struct[ ]cipher_testvec[ ]sm4_ctr_rfc3686_tv_template\[\][ ]=' crypto/testmgr.h
+    defsnc 'static[ ]const[ ]char[ ]blake2_ordered_sequence\[\][ ]='
+    defsnc 'static[ ]const[ ]struct[ ]hash_testvec[ ]blake2b_\(256\|384\|512\)_tv_template\[\][ ]=' crypto/testmgr.h
+    defsnc 'static[ ]const[ ]struct[ ]hash_testvec[ ]blake2b_\(256\|384\|512\)_tv_template\[\][ ]=' crypto/testmgr.h
+    defsnc 'static[ ]const[ ]struct[ ]hash_testvec[ ]blakes2s_256_tv_template\[\][ ]=' crypto/testmgr.h
+    defsnc 'static[ ]const[ ]struct[ ]clk_div_table[ ]bm1880_div_table_[01234]\[\][ ]=' drivers/clk/clk-bm1880.c
+    blobname 'i915[/]icl_dmc_ver1_09\.bin' drivers/gpu/drm/i915/intel_csr.c
+    defsnc 'static[ ]const[ ]u8[ ]tegra1\(24\|32\|86\)_sor_\(voltage_swing\|pre_emphasis\|post_cursor\|tx_pu\)\[4\]\[4\]\[4\][ ]=' drivers/gpu/drm/tegra/sor.c
+    defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]adux1020_def_conf\[\][ ]=' drivers/iio/light/adux1020.c
+    defsnc 'static[ ]const[ ]int[ ]adux1020_led_currents\[\]\[2\][ ]=' drivers/iio/light/adux1020.c
+    defsnc 'static[ ]const[ ]struct[ ]hi556_reg[ ]mipi_data_rate_874mbps\[\][ ]=' drivers/media/i2c/hi556.c
+    defsnc 'static[ ]const[ ]struct[ ]hi556_reg[ ]mode_\(2592x1944\|1296x972\)_regs\[\][ ]=' drivers/media/i2c/hi556.c
+    defsnc 'static[ ]const[ ]struct[ ]imx290_regval[ ]imx290_global_init_settings\[\][ ]=' drivers/media/i2c/imx290.c
+    defsc 'static[ ]const[ ]struct[ ]imx290_regval[ ]imx290_\(1080\|720\)p_settings\[\][ ]=' drivers/media/i2c/imx290.c
+    blobname 'rtl_nic[/]rtl8168fp-3\.fw' drivers/net/ethernet/realtek/r8169_main.c
+    blobname 'rtl_nic[/]rtl8153[ab]-[234]\.fw' drivers/net/usb/r8152.c
+    blobname 'iwl-debug-yoyo\.bin' drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
+    defsnc 'static[ ]const[ ]struct[ ]rtw_phy_pg_cfg_pair[ ]rtw8822b_bb_pg_type[235]\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822b_table.c
+    defsnc 'static[ ]const[ ]struct[ ]rtw_txpwr_lmt_cfg_pair[ ]rtw8822b_txpwr_lmt_type0\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822b_table.c
+    defsnc 'static[ ]const[ ]struct[ ]rtw_phy_pg_cfg_pair[ ]rtw8822c_bb_pg_type0\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822b_table.c
+    defsnc '[\t][}][ ]timings\[\][ ]=' drivers/phy/rockchip/phy-rockchip-inno-dsidphy.c
+    defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sdm845_pdc_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sdm845.c
+    blobname 'gsl3692-jumper-ezpad-6-m4\.fw' drivers/platform/x86/touchscreen_dmi.c
+    blobname 'gsl1680-schneider-sct101ctm\.fw' drivers/platform/x86/touchscreen_dmi.c
+    blobname 'idtcm\.bin' drivers/ptp/ptp_clockmatrix.h
+    defsc 'static[ ]const[ ]u32[ ]asv_arm_table\[\]\[ASV_ARM_DVFS_NUM\]\[ASV_GROUPS_NUM[ ][+][ ]1\][ ]=' drivers/soc/samsung/exynos5422-asv.c
+    defsc 'static[ ]const[ ]u32[ ]asv_kfc_table\[\]\[ASV_KFC_DVFS_NUM\]\[ASV_GROUPS_NUM[ ][+][ ]1\][ ]=' drivers/soc/samsung/exynos5422-asv.c
+    defsnc 'static[ ]const[ ]u8[ ]blake2s_sigma\[10\]\[16\][ ]=' lib/crypto/blake2s-generic.c
+    defsnc 'static[ ]const[ ]u8[ ]blake2s_\(hmac_\)\?testvecs\[\]\[BLAKE2S_HASH_SIZE\][ ]__initconst[ ]=' lib/crypto/blake2s-selftest.c
+    defsnc 'static[ ]const[ ]u8[ ]x\?\(enc\|dec\)_\(\(in\|out\)put\|key\|assoc\)[0-9]*\[\][ ]__initconst[ ]=' lib/crypto/chacha20poly1305-selftest.c
+    accept '[ ][*][ ][ ][ ][ ][ ]3[ ]3[ ]2[ ]2[ ]2[ ]2[ ]2[ ]2[ ]2[ ]2[ ]2[ ]2[ ]1[ ]1[ ]1[ ]1[ ]1[ ]1[ ]1[ ]1[ ]1[ ]1[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0[ ]0' net/tipc/crypto.h
+    defsnc '[\t]static[ ]const[ ]struct[ ]reg_val[ ]\(init_eee\|pre_init1\)\[\][ ]=' drivers/net/phy/mscc.c
+    defsnc 'static[ ]const[ ]u32[ ]rtw8822b_txscale_tbl[RTW_TXSCALE_SIZE][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822b_table.c
+    defsnc 'static[ ]const[ ]u8[ \n]rtw8822b_pwrtrk_5g[ba]_[np]\[RTW_PWR_TRK_5G_NUM\]\[RTW_PWR_TRK_TBL_SZ\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822b_table.c
+    defsnc 'static[ ]const[ ]u8[ \n]rtw8822c_pwrtrk_5g[ba]_[np]\[RTW_PWR_TRK_5G_NUM\]\[RTW_PWR_TRK_TBL_SZ\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822c.c
+    accept 'static[ ]const[ ]struct[ ]tegra_xusb_soc[ ]tegra194_soc[ ]=[ ][{][\n][\t][.]firmware[ ]=' drivers/usb/host/xhci-tegra.c
+    blobname 'nvidia[/]tegra194[/]xusb\.bin' drivers/usb/host/xhci-tegra.c
+    blobname 'rt5677_elf_vad\([ ]file[ ][*][/]\)\?' sound/soc/codecs/rt5677.c
+    blobname 'i915[/]["]\([ ][\\][\n][\t]__stringify[(]\(prefix\|major\|minor\|patch\)_[)][ ]\(\(name_\|["][.]["]\)\)\?\)*["]\.bin' drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
+    blobname 'mellanox[/]mlxsw_spectrum2-\(["][ ]__stringify[(]MLXSW_SP2_FWREV_[^)]*[)][ \\\n\t]*["]\.\)*mfa2' drivers/net/ethernet/mellanox/mlxsw/spectrum.c
+    accept '[\t][ ][*][ ]per-cpu[ ]cpuinfo[ ]can[ ]be[ ]updated[ ]with[ ]right[ ]microcode' arch/x86/kernel/cpu/microcode/core.c
+    accept '\(static[ ]\)\?int[ ]bnxt_flash_\(firmware\|package\)_from_file[(][ \t\na-z0-9_,*]*[)][\n][{][\n]\([^}][^\n]*[\n]\+\)*[\t]rc[ ]=[ ]request_firmware[(][&]fw' drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
+    accept 'static[ ]int[ ]rtl8152_request_firmware[(]' drivers/net/usb/r8152.c
+    accept '[\t]if[ ][(]rtl8152_request_firmware[(]' drivers/net/usb/r8152.c
+    accept '[\t][\t][/][*][ ]Delay[ ]execution[ ]in[ ]case[ ]request_firmware[(][)]' drivers/net/usb/r8152.c
+    blobname 'rtl_nic[/]rtl8153a-[234]\.fw' drivers/net/usb/r8152.c
+    blobname 'rtl_nic[/]rtl8153b-2\.fw' drivers/net/usb/r8152.c
+    accept '[\t][/][*][ ]Retry[ ]in[ ]case[ ]request_firmware[(]' drivers/net/usb/r8152.c
+    accept '[ ][*][ ]@context:[ ]pointer[ ]to[ ]firmware[ ]image[ ]returned[ ]from[ ]request_firmware\.' drivers/scsi/lpfc/lpfc_init.c
+    accept '[ ][*][ ]request_firmware[(][)][ ]allocate[ ]data[ ]using[ ]vmalloc[(]' drivers/staging/wfx/fwio.c
+    # This loads Platform Data Set pure data files.  Preconfigured
+    # files, templates and tools to compress the configuration files
+    # to the binary format are available.
+    accept '[\t]ret[ ]=[ ]request_firmware[(]&pds,[ ]wdev->pdata\.file_pds,' drivers/staging/wfx/main.c
+# .take5 rt5677.c
+    # ethtool-supplied firmware to flash the virtual device.
+    accept '[\t]if[ ][(]request_firmware[(]&fw[,][ ]efl->data[,][ ]&vdevice->pdev\.dev[)][)]' arch/um/drivers/vector_kern.c
+
+    # Already present in 5.0, harmless as firmware is the first field.
+    accept 'static[ ]const[ ]struct[ ]vic_config[ ]vic_t194_config[ ]=[ ][{][\n][\t]\.firmware[ ]=[ ]NVIDIA_TEGRA_194_VIC_FIRMWARE[,]' drivers/gpu/drm/tegra/vic.c
+
+    # New in 5.5.11 and 5.4.27.
+    blobname 'microchip[/]mscc_vsc8584_revb_int8051_fb48\.bin' drivers/net/phy/mscc.c
+    blobname 'microchip[/]mscc_vsc8574_revb_int8051_29e8\.bin' drivers/net/phy/mscc.c
+
+    # New in 5.6-rc7.
+    initnc '[ ]*[(]gdb[)][ ]x[/]100x[ ][$]25[\n]' Documentation/virt/uml/user_mode_linux.rst
+    blobname 'amdgpu[/]renoir_dmcub\.bin' drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+    accept '[\t][ ][*][ ]the[ ][/]lib[/]firmware[/]qcom[/]\.\.\.[ ]vs[ ][/]lib[/]firmware[/]\.\.\.[ ]case' drivers/gpu/drm/msm/adreno/adreno_gpu.c
+    accept '[\t]gr->firmware[ ]=[ ]' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c
+    accept '[\t]*snprintf[(]f[,][ ]sizeof[(]f[)][,][ ]["]nouveau[/]nv%02x_%s["][,][ ]device->chipset[,][ ]name[)][;][\n][\t]*ret[ ]=[ ]request_firmware[(][&]fw[,][ ]f[,][ ]device->dev[)][;][\n][\t]*if[ ][(]ret[)][ ][{][\n][\t]*snprintf[(]f[,][ ]sizeof[(]f[)][,][ ]["]nouveau[/]%s["][,][ ]name[)][;][\n][\t]*ret[ ]=[ ]request_firmware[(][&]fw[,][ ]f[,][ ]device->dev[)][;]' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c
+    accept '[  ]\(if[ ][(]\|[ ][ ][ ][ ]\)gf100_gr_load_fw[(]gr[,][ ]["]fuc4\(09\|1a\)[cd]["][,][ ][&]gr->\(fecs\|gpccs\)' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c
+    defsnc 'static[ ]const[ ]struct[ ]panel_cmd[ ]boe_himax8279d\(8\|10\)p_on_cmds\[\][ ]=' drivers/gpu/drm/panel/panel-boe-himax8279d.c
+    defsnc 'static[ ]const[ ]struct[ ]ltk500hd1829_cmd[ ]init_code\[\][ ]=' drivers/gpu/drm/panel/panel-leadtek-ltk500hd1829.c
+    accept '[\t]dsi_generic_write_seq[(]dsi[,][ ]XPP055C272_CMD_SET\(GIP[12]\|GAMMA\)\([, \t\n]*0x[0-9a-f][0-9a-f]\)*[)][;]' drivers/gpu/drm/panel/panel-xinpeng-xpp055c272.c
+    defsc 'static[ ]const[ ]unsigned[ ]char[ ]\(luma\|chroma\)_ac\[16[ ][+][ ]162[ ][+][ ]2\]' drivers/media/platform/coda/coda-jpeg.c
+    defsnc 'static[ ]const[ ]u32[ ]ice_ptypes_\(ipv[46]\|udp\|tcp\|sctp\)_\(ofos\|il\)\[\][ ]=' drivers/net/ethernet/intel/ice/ice_flow.c
+    defsnc 'static[ ]const[ ]u32[ ]iro_arr\[\][ ]=' drivers/net/ethernet/qlogic/qed/qed_hsi.h
+    defsnc 'static[ ]const[ ]u8[ ]dscp_tid_map\[DSCP_TID_MAP_TBL_ENTRY_SIZE\][ ]=' drivers/net/wireless/ath/ath11k/hal_tx.c
+    blobname 'rtw88[/]rtw8822c_wow_fw\.bin' drivers/pinctrl/qcom/pinctrl-sc7180.c
+    defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sc7180_pdc_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sc7180.c
+    blobname 'gsl1680-pipo-w11\.fw' drivers/platform/x86/touchscreen_dmi.c
+    defsnc 'static[ ]const[ ]struct[ ]hsfreq_range[ ]rk3399_mipidphy_hsfreq_ranges\[\][ ]=' drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c
+    accept 'static[ ]int[ ]tegra_xusb_request_firmware[(]' drivers/usb/host/xhci-tegra.c
+    accept '[\t]err[ ]=[ ]tegra_xusb_request_firmware[(]tegra[)]' drivers/usb/host/xhci-tegra.c
+    defsc 'static[ ]const[ ]struct[ ]curve25519_test_vector[ ]curve25519_test_vectors\[\][ ]__initconst[ ]=' lib/crypto/curve25519-selftest.c
+    defsc 'static[ ]const[ ]u8[ ]tas3004_treble_table\[\][ ]=' sound/aoa/codecs/tas-basstreble.h
+    defsnc 'static[ ]const[ ]char[ ]opl3_volume_table\[128\][ ]=' sound/drivers/opl3/opl3_midi.c
+    defsnc 'static[ ]const[ ]unsigned[ ]char[ ]snd_opl4_volume_table\[128\][ ]=' sound/drivers/opl4/opl4_synth.c
+    defsnc 'static[ ]const[ ]unsigned[ ]short[ ]init[1234]\[128\][ ]=' sound/isa/sb/emu8000.c
+    defsc 'static[ ]const[ ]unsigned[ ]short[ ]treble_parm\[12\]\[9\][ ]=' sound/isa/sb/emu8000.c
+    defsnc 'static[ ]const[ ]u16[ ]asEqCoefsZeros\[50\][ ]=' sound/pci/au88x0/au88x0_eqdata.c
+    defsnc 'static[ ]const[ ]u16[ ]asEqCoefsPipes\[64\][ ]=' sound/pci/au88x0/au88x0_eqdata.c
+    defsnc 'static[ ]const[ ]auxxEqCoeffSet_t[ ]asEqCoefsNormal[ ]=' sound/pci/au88x0/au88x0_eqdata.c
+    defsnc 'static[ ]const[ ]u16[ ]asEqOutStateZeros\[48\][ ]=' sound/pci/au88x0/au88x0_eqdata.c
+    defsnc 'static[ ]const[ ]u16[ ]eq_levels\[64\][ ]=' sound/pci/au88x0/au88x0_eqdata.c
+    defsnc '[\t]static[ ]const[ ]u32[ ]logMagTable\[128\][ ]=' sound/pci/emu10k1/io.c
+    defsnc '[\t]static[ ]const[ ]char[ ]logSlopeTable\[128\][ ]=' sound/pci/emu10k1/io.c
+    defsnc 'static[ ]const[ ]char[ ]coefficients\[NM_TOTAL_COEFF_COUNT[ ][*][ ]4\][ ]=' sound/pci/nm256/nm256_coef.c
+    defsnc 'static[ ]const[ ]char[ ]channel_map_unity_ss\[HDSPM_MAX_CHANNELS\][ ]=' sound/pci/rme9652/hdspm.c
+    defsnc 'static[ ]const[ ]short[ ]beep_wform\[256\][ ]=' sound/ppc/beep.c
+    defsnc 'static[ ]const[ ]unsigned[ ]int[ ]\(master\|\(snapper_\)\?\(treble\|bass\|mixer\)\)_volume_table\[\][ ]=' sound/ppc/tumbler_volume.h
+    defsnc 'static[ ]const[ ]u8[ ]jz4770_codec_reg_defaults\[\][ ]=' sound/soc/codecs/jz4770.c
+    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt1015_reg\[\][ ]=' sound/soc/codecs/rt1015.c
+    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt1308_reg_defaults\[\][ ]=' sound/soc/codecs/rt1308-sdw.h
+    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt700_reg_defaults\[\][ ]=' sound/soc/codecs/rt700-sdw.h
+    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt711_reg_defaults\[\][ ]=' sound/soc/codecs/rt711-sdw.h
+    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt715_reg_defaults\[\][ ]=' sound/soc/codecs/rt715-sdw.h
+    defsnc 'static[ ]unsigned[ ]char[ ]\(in\|out\)put_clk_map_imx35\[ASRC_CLK_MAP_LEN\][ ]=' sound/soc/fsl/fsl_asrc.c
+    defsc 'static[ ]unsigned[ ]char[ ]\(in\|out\)put_clk_map_imx53\[ASRC_CLK_MAP_LEN\][ ]=' sound/soc/fsl/fsl_asrc.c
+    defsnc 'static[ ]unsigned[ ]char[ ]clk_map_imx8q\(m\|xp\)\[2\]\[ASRC_CLK_MAP_LEN\][ ]=' sound/soc/fsl/fsl_asrc.c
+    defsnc 'static[ ]const[ ]unsigned[ ]char[ ]pan_volumes\[256\][ ]=' sound/synth/emux/emux_synth.c
+    defsnc 'static[ ]const[ ]unsigned[ ]char[ ]\(voltab[12]\|expressiontab\)\[128\][ ]=' sound/synth/emux/emux_synth.c
+    defsnc 'static[ ]const[ ]int[ ]log_tbl\[129\][ ]=' sound/synth/emux/soundfont.c
+    defsnc 'static[ ]const[ ]short[ ]\(attack\|decay\)_time_tbl\[128\][ ]=' sound/synth/emux/soundfont.c
+    defsnc 'static[ ]const[ ]unsigned[ ]char[ ]bcd2000_init_sequence\[\][ ]=' sound/usb/bcd2000/bcd2000.c
+    defsc 'static[ ]const[ ]struct[ ]s_c2[ ]SetRate48000\[\][ ]=' sound/usb/usx2y/usbusx2yaudio.c
+    accept '[\t]*\.default_fw_filename[ ]=[ ]["]sof-[^" ;]*\.ri["]' sound/soc/sof/sof-'\(acpi\|pci\)-dev\.c'
+    accept '[\t]*tplg_filename[ ]=[ ]devm_kasprintf[(]sdev->dev[,][ ]GFP_KERNEL[,][\n][\t ]*["]%s-%s\.tplg["][,]' sound/soc/sof/intel/byt.c
+    accept '[\t]*dev_dbg[(]sdev->dev[,][ ]["]request_firmware[ ]%s[ ]successful' sound/soc/sof/loader.c
+    accept '[\t]ret[ ]=[ ]request_firmware[(][&]fw[,][ ]file[,][ ]scomp->dev[)]' sound/soc/sof/topology.c
+    blobname '\(board-2\|bdwlan\|caldata\)\.bin' 'drivers/net/wireless/ath/ath11k/\(hw\|qmi\)\.h'
+    blobname 'board\.bin' ddrivers/net/wireless/ath/ath11k/core.c
+    blobname 'scp\.img' drivers/remoteproc/mtk_scp.c
+    blobname '%s[/]%08x-%04x-%04x-%02x%02x%02x%02x%02x%02x%02x%02x\.bin' drivers/tee/amdtee/core.c
+    blobname 'qcom[/]sdm845[/]\([ac]dsp\.mdt\|\(mba\|modem\)\.mbn\)' arch/arm64/boot/dts/qcom/sdm845-db845c.dts
+    blobname 'brcmfmac\(43456\|4359\)-sdio' drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
+    defsnc 'static[ ]const[ ]unsigned[ ]int[ ]\(voice_focus\|mic_svm\|equalizer\)_vals_lookup\[\][ ]=' sound/pci/hda/patch_ca0132.c
+    defsnc 'static[ ]const[ ]struct[ ]hda_verb[ ]ca0132_init_verbs[01]\[\][ ]=' sound/pci/hda/patch_ca0132.c
+
     ;;
 
   */*freedo*.patch | */*logo*.patch)
@@ -6177,7 +6571,7 @@ s,^\\(.*\\)\$,falsepos = r'(?P<falsepos>\\1)',;\
 s,^\\(.*\\)\$,blob = r'(?P<blob>\\1)',;\
 "' p;}' >> "$scriptname"
 
-  echo "\\($initblob\\|$defineblob\\|$asmblob\\)" |
+  $echo "\\($initblob\\|$defineblob\\|$asmblob\\)" |
     ${SED-sed} -e "$adjust_rx" \
         -e "s,^\\(.*\\)\$,cblob = r'(?P<cblob>\\1)'," >> "$scriptname"
 
@@ -6383,7 +6777,7 @@ s,^\\(.*\\)\$,\$falsepos = qr'(?<falsepos>\\1)'ms;,;\
 s,^\\(.*\\)\$,my \$blob = qr'(?<blob>\\1)'ms;,;\
 "' p;}' >> "$scriptname"
 
-  echo "\\($initblob\\|$defineblob\\|$asmblob\\)" |
+  $echo "\\($initblob\\|$defineblob\\|$asmblob\\)" |
     ${SED-sed} -e "$adjust_rx" \
         -e "s,^\\(.*\\)\$,my \$cblob = qr'(?<cblob>\\1)'ms if \$with_context;," >> "$scriptname"