blob name change in 5.3.4 and 5.2.19
[releases.git] / deblob-check
index fbdd3543a681345a7a4d12a71c7ad9968ac0e10d..a036f1d2174346b2e99294097976e9f25e96b015 100755 (executable)
@@ -1,6 +1,6 @@
 #! /bin/sh
 
-# deblob-check version 2019-02-11
+# deblob-check version 2019-10-06
 # Inspired in gNewSense's find-firmware script.
 # Written by Alexandre Oliva <lxoliva@fsfla.org>
 
@@ -907,7 +907,7 @@ set_except () {
   blobna 'DEFAULT_FIRMWARE'
   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\)[\\]\?["]'
+  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\)[\\]\?["]'
   # Catch misdeblobbed fw extension.
   blobname '["][^" \t\n]*[/][*][(]DEBLOBBED[)][*][/][^"\\]'
   # Ideally we'd whitelist URLs that don't recommend non-Free
@@ -5285,7 +5285,9 @@ set_except () {
     blobname 'qtn[/]\(fmac\|uboot\)_qsr1000\.img' drivers/net/wireless/quantenna/qtnfmac/qtn_hw_ids.h
     accept '\(static[ ]inline[ ]void[ ]\|[\t]*\)pqi_request_firmware_feature[(]' drivers/scsi/smartpqi/smartpqi_init.c
     blobname 'intel[/]ipu3-fw\.bin' drivers/staging/media/ipu3/ipu3-css-fw.h
-    blobname 'intel[/]\(dsp_fw_icl\.bin\|sof-icl\(\.ri\|-rt274\.tplg\)\)' sound/soc/intel/common/soc-acpi-intel-icl-match.c
+    blobname 'intel[/]dsp_fw_icl\.bin' sound/soc/intel/common/soc-acpi-intel-icl-match.c
+    # SOF stands for Sound Open Firmware, and it is Free Software.
+    # blobname 'sof-icl\(\.ri\|-rt274\.tplg\)' sound/soc/intel/common/soc-acpi-intel-icl-match.c
     blobname 'iwl-dbg-tlv\.ini' drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
     accept '\(static[ ]int[ ]\|[\t]*\)brcmf_fw_request_firmware[(]' drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
     blobna 'snprintf[(]version[,][ ]ETHTOOL_FWVERS_LEN[,][ ]["][ ]storm[ ]%d\.%d\.%d\.%d["]\([,][ \t\n]*BCM_5710_FW_\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION\)\+[)]' drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c
@@ -5293,17 +5295,203 @@ set_except () {
     # fails to match, catch the snprintf format string, since the FW
     # macros will be caught and dropped by other much earlier patterns.
     blobname '[ ]storm[ ]%d\.%d\.%d\.%d' drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c
-    # These are probably wolder, we did not check for .ri and .tplg before.
-    blobname 'intel[/]sof-apl\(\.ri\|-\(rt298\|da7219\|pcm512x\|wm8804\|tdf8532\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-bxt-match.c
-    blobname 'intel[/]sof-byt\(\.ri\|-\(rt5670\|rt5640\|rt5651\|da7213\|rt5645\|max98090\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-byt-match.c
-    blobname 'intel[/]sof-cht\(\.ri\|-\(rt5645\|rt5670\|max98090\|nau8824\|da7213\|es8316\|rt5640\|rt5651\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-cht-match.c
-    blobname 'intel[/]sof-cnl\(\.ri\|-rt274\.tplg\)' sound/soc/intel/common/soc-acpi-intel-cnl-match.c
-    blobname 'intel[/]sof-glk\(\.ri\|-\(alc298\|da7219\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-glk-match.c
-    blobname 'intel[/]sof-hda-generic\.tplg' sound/soc/intel/common/soc-acpi-intel-hda-match.c
-    blobname 'intel[/]sof-hsw\(\.ri\|\.tplg\)' sound/soc/intel/common/soc-acpi-intel-hsw-bdw-match.c
-    blobname 'intel[/]sof-bdw\(\.ri\|-\(rt286\|rt5677\|rt5640\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-hsw-bdw-match.c
+    # These are probably older, we did not check for .ri and .tplg before.
+    blobname 'intel[/]sof-apl\(\.ri\|-\(rt298\|da7219\|pcm512x\|wm8804\|tdf8532\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-bxt-match.c
+    blobname 'intel[/]sof-byt\(\.ri\|-\(rt5670\|rt5640\|rt5651\|da7213\|rt5645\|max98090\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-byt-match.c
+    blobname 'intel[/]sof-cht\(\.ri\|-\(rt5645\|rt5670\|max98090\|nau8824\|da7213\|es8316\|rt5640\|rt5651\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-cht-match.c
+    blobname 'intel[/]sof-cnl\(\.ri\|-rt274\.tplg\)' sound/soc/intel/common/soc-acpi-intel-cnl-match.c
+    blobname 'intel[/]sof-glk\(\.ri\|-\(alc298\|da7219\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-glk-match.c
+    blobname 'intel[/]sof-hda-generic\.tplg' sound/soc/intel/common/soc-acpi-intel-hda-match.c
+    blobname 'intel[/]sof-hsw\(\.ri\|\.tplg\)' sound/soc/intel/common/soc-acpi-intel-hsw-bdw-match.c
+    blobname 'intel[/]sof-bdw\(\.ri\|-\(rt286\|rt5677\|rt5640\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-hsw-bdw-match.c
     accept '[\t][\t]pr_err[(]["]%s:[ ]request_firmware[ ]error' drivers/net/wireless/quantenna/qtnfmac/pcie/topaz_pcie.c
 
+    # New in 5.0.7.
+    accept '[\t]*[/]bin[/]bash[ ]["]tests[/][$][{]testname[}]\.sh["][ ][<][ ]["]tests[/][$][{]testname[}]\.vg\.out["]' tools/lib/lockdep/run_tests.sh
+
+    # New in 5.1-rc6.
+    initnc '.Lbyteshift_table:' 'arch/arm/crypto/crct10dif-\(ce-core\|pcl-asm_64\)\.S'
+    defsc 'static[ ]const[ ]struct[ ]aead_testvec[ ]hmac_sha\(1\|256\|512\)_aes_cbc_tv_temp\[\][ ]=' crypto/testmgr.h
+    defsc 'static[ ]const[ ]struct[ ]aead_testvec[ ]hmac_sha\(1\|224\|256\|384\|512\)_des_cbc_tv_temp\[\][ ]=' crypto/testmgr.h
+    defsc 'static[ ]const[ ]struct[ ]aead_testvec[ ]hmac_sha\(1\|224\|256\|384\|512\)_des3_ede_cbc_tv_temp\[\][ ]=' crypto/testmgr.h
+    defsc 'static[ ]const[ ]struct[ ]aead_testvec[ ]\(aes_\(gcm_rfc4106\|ccm_rfc4309\)\|rfc7539\(\|esp\)\)_tv_template\[\][ ]=' crypto/testmgr.h
+    initnc '\t\.entries[ ]=' drivers/clk/tegra/clk-tegra124-dfll-fcpu.c
+    accept '[  ][      ]*gf100_gr_init_fw[(]gr->fecs\.falcon[,][ ][&]gr->fuc409c[,][ ][&]gr->fuc409d[)][;]' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c
+    accept '[  ][      ]*gf100_gr_init_fw[(]gr->gpccs\.falcon[,][ ][&]gr->fuc41ac[,][ ][&]gr->fuc41ad[)][;]' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c
+    defsnc 'static[ ]const[ ]struct[ ]kingdisplay_panel_cmd[ ]init_code\[\][ ]=' drivers/gpu/drm/panel/panel-kingdisplay-kd097d04.c
+    defsnc 'static[ ]const[ ]struct[ ]ov8856_reg[ ]mode_\(3280x2464\|1640x1232\)_regs\[\][ ]=' drivers/media/i2c/ov8856.c
+    defsnc 'static[ ]const[ ]u8[ ]hclge_hash_key\[\][ ]=' drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
+    defsnc 'static[ ]const[ ]u8[ ]hclgevf_hash_key\[\][ ]=' drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
+    defsnc 'static[ ]const[ ]u32[ ]max77651_sbb1_regulator_volt_table\[\][ ]=' drivers/regulator/max77650-regulator.c
+    defsnc 'static[ ]const[ ]unsigned[ ]int[ ]pv88090_buck1_limits\[\][ ]=' drivers/regulator/pv88090-regulator.c
+    defsc '\t*imgu_css_bds_configs\[IMGU_BDS_CONFIG_LEN\][ ]=' drivers/staging/media/ipu3/ipu3-tables.c
+    defsnc 'const[ ]s16[ ]imgu_css_gdc_lut\[4\]\[256\][ ]=' drivers/staging/media/ipu3/ipu3-tables.c
+    defsc 'const[ ]struct[ ]ipu3_uapi_bnr_static_config[ ]imgu_css_bnr_defaults[ ]=' drivers/staging/media/ipu3/ipu3-tables.c
+    defsnc 'const[ ]struct[ ]ipu3_uapi_gamma_corr_lut[ ]imgu_css_gamma_lut[ ]=' drivers/staging/media/ipu3/ipu3-tables.c
+    defsnc '\t*imgu_css_tcc_gain_pcwl_lut[ ]=' drivers/staging/media/ipu3/ipu3-tables.c
+    defsnc 'const[ ]struct[ ]imgu_abi_anr_config[ ]imgu_css_anr_defaults[ ]=' drivers/staging/media/ipu3/ipu3-tables.c
+    defsnc 'static[ ]struct[ ]channel_list[ ]channel_array\[\][ ]=' drivers/staging/rtl8192e/dot11d.c
+    accept '\t*sprintf[(]fname[,][ ]["]hbm\.%d\.out["]' samples/bpf/hbm.c
+    accept '\tsnd_card_ro_proc_new[(]hdspm-[>]card[,][ ]["]ports\.out["]' sound/pci/rme9652/hdspm.c
+    defsnc 'static[ ]const[ ]struct[ ]cs35l36_pll_config[ ]cs35l36_pll_sysclk\[\][ ]=' sound/soc/codecs/cs35l36.c
+    defsnc 'static[ ]const[ ]u8[ ]table_msbc_silence\[SCO_PACKET_180\][ ]=' sound/soc/mediatek/common/mtk-btcvsd.c
+    accept '[#][ ]that[ ]of[ ]the[ ]specified[ ]litmus[ ]test[,][ ]but[ ]with[ ]["]\.out["][ ]appended' tools/memory-model/scripts/checkalllitmus.sh
+    accept '\t\.data[ ]=[ ][{]\([\n\t ]*0\(\|x08\|x06\|x10\)*[,]\)*\([ ]0x\(bf\|48\|d6\|43\)[,]\)*[ ]0xd6[,]' tools/testing/selftests/bpf/verifier/ld_abs.c
+    blobname 'habanalabs[/]goya[/]goya-\(u-boot\.bin\|fit\.itb\)' drivers/misc/habanalabs/goya/goya.c
+    blobname 'mrvl[/]sd8977_uapsta\.bin' 'drivers/bluetooth/btmrvl_sdio\.c\|drivers/net/wireless/marvell/mwifiex/sdio\.h'
+    blobname 'mediatek[/]mt766[38]pr2h\.bin' drivers/bluetooth/btmtkuart.c
+    blobname 'mt76\(03\|28\)_e[12]\.bin' drivers/net/wireless/mediatek/mt76/mt7603/mt7603.h
+    blobname 'gsl3676-chuwi-hi8-air\.fw' drivers/platform/x86/touchscreen_dmi.c
+    blobname 'gsl1680-chuwi-hi10-air\.fw' drivers/platform/x86/touchscreen_dmi.c
+    blobname 'gsl3692-pov-mobii-wintab-p1006w-v10\.fw' drivers/platform/x86/touchscreen_dmi.c
+    # blobname 'sof-apl\(\.ri\|-\(rt298\|da7219\|pcm512x\|wm8804\|tdf8532\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-bxt-match.c
+    # blobname 'sof-byt\(\.ri\|-\(rt5670\|rt5640\|rt5651\|da7213\|es8316\|rt5645\|max98090\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-byt-match.c
+    # blobname 'sof-cht\(\.ri\|-\(rt5645\|rt5670\|rt5645\|max98090\|nau8824\|da7213\|es8316\|rt5640\|rt5651\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-cht-match.c
+    # blobname 'sof-cnl\(\.ri\|-rt274\.tplg\)' sound/soc/intel/common/soc-acpi-intel-cnl-match.c
+    # blobname 'sof-glk\(\.ri\|-\(alc298\|da7219\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-glk-match.c
+    # blobname 'sof-hda-generic\.tplg' sound/soc/intel/common/soc-acpi-intel-hda-match.c
+    # blobname 'sof-hsw\(\.ri\|\.tplg\)' sound/soc/intel/common/soc-acpi-intel-hsw-bdw-match.c
+    # blobname 'sof-bdw\(\.ri\|-\(rt286\|rt5677\|rt5640\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-hsw-bdw-match.c
+    # blobname 'sof-icl\(\.ri\|-rt274\.tplg\)' sound/soc/intel/common/soc-acpi-intel-icl-match.c
+    blobna '[/][*][ ]brcmfmac4366c-pcie\.\(ap\.\)\?bin[ ]from[ ]linux-firmware\.git[ ]commit[ ][0-9a-f]*[ ][*][/]' drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c
+    blobname 'iwlwifi-[^ ]*-[ab]0-' drivers/net/wireless/intel/iwlwifi/cfg/22000.c
+    blobname 'iwlwifi-\(\(QuZ-a0-hr\|QuQnj-b0-jf\|so-a0-\(jf\|hr\)\)-b0\|\(cc\|\(so\|ty\)-a0-gf\)-a0\)-' drivers/net/wireless/intel/iwlwifi/cfg/22000.c
+
+    # New in 5.1.2, 5.0.16, 4.19.43, 4.14.119, and 4.9.176.
+    accept '[ ][ ]the[ ]CPUID[ ]to[ ]the[ ]guest[.][ ]If[ ]the[ ]host[ ]has[ ]updated[ ]microcode[ ]the[ ]protection' 'Documentation/\(admin-guide/\)\?hw-vuln/mds\.rst'
+    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.
+    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
+    accept '[ ][ ]CONFIG_EXTRA_FIRMWARE=["][/][*][(]DEBLOBBED[)][*][/][ ][/][*][(]DEBLOBBED[)][*][/]["]' Documentation/x86/microcode.rst
+    blobname 'imx[/]sdma[/]sdma-imx7d\.bin' arch/arm64/boot/dts/freescale/imx8mq.dtsi
+    # Still very suspicious, but it doesn't look like code, and the
+    # license, if it can be trusted, makes it acceptable for magic
+    # data numbers.
+    defsc 'static[ ]uint32_t[ ]onyx_images\[\]\[PCXU_IMAGE_SIZE[/]sizeof[(]uint32_t[)]\][ ]__ro_after_init[ ]=' arch/parisc/kernel/perf_images.h
+    defsc 'static[ ]uint32_t[ ]cuda_images\[\]\[PCXW_IMAGE_SIZE[/]sizeof[(]uint32_t[)]\][ ]__ro_after_init[ ]=' arch/parisc/kernel/perf_images.h
+    defsc '[\t]struct[ ]prng_parm[ ]prng[ ]=' arch/s390/boot/kaslr.c
+    defsc '[\t]u8[ ][*]pg[,][ ]pblock\[80\][ ]=' arch/s390/crypto/prng.c
+    defsnc '__visible[ ]const[ ]u32[ ]crypto_[fi][tl]_tab\[4\]\[256\][ ]____cacheline_aligned[ ]=' crypto/aes_generic.c
+    blobname 'mrvl[/]sd8987_uapsta\.bin' 'drivers/\(bluetooth/btmrvl_sdio\.c\|net/wireless/marvell/mwifiex/sdio\.h\)'
+    blobname 'mediatek[/]mt766[38]pr2h\.bin' drivers/bluetooth/btmtksdio.c
+    blobname 'amdgpu[/]%s_kicker_rlc\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
+    defsnc 'static[ ]struct[ ]profile_mode_setting[ ]smu7_profiling\[7\][ ]=' drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c
+    blobname 'a630_zap\.mdt' drivers/gpu/drm/msm/adreno/adreno_device.c
+    accept '[\t]dsi_generic_write_seq[(]dsi[,][ ]ST7703_CMD_SET\(GIP[12]\|GAMMA\)\([, \t\n]*0x[0-9A-F][0-9A-F]\)*[)][;]' drivers/gpu/drm/panel/panel-rocktech-jh057n00900.c
+    blobname 'intel[/]%s' drivers/hid/intel-ish-hid/ishtp-fw-loader.c
+    defsnc 'const[ ]unsigned[ ]int[ ]wm831x_isinkv_values\[WM831X_ISINK_MAX_ISEL[ ][+][ ]1\][ ]=' drivers/mfd/wm831x-core.c
+    # File name is supplied through ethtool.
+    accept '[\t]*status[ ]=[ ]request_firmware[(][&]ddp_config[,][ ]profile_name[,]' drivers/net/ethernet/intel/i40e/i40e_ddp.c
+    defsnc 'static[ ]const[ ]u16[ ]iwl_\(ext\|uhb\)_nvm_channels\[\][ ]=' drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c
+    blobname 'brcmfmac43012-sdio' drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
+    blobname 'mt7615_\(cr4\|n9\|rom_patch\)\.bin' drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h
+    defsnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_3853\[\][ ]=' drivers/net/wireless/ralink/rt2x00/rt2800lib.c
+    accept '[\t]fw->firmware[ ]=[ ]firmware[;]' drivers/net/wireless/realtek/rtw88/main.c
+    defsnc 'static[ ]const[ ]u32[ ]db_invert_table\[12\]\[8\][ ]=' drivers/net/wireless/realtek/rtw88/phy.c
+    blobname 'rtw88[/]rtw8822b_fw\.bin' drivers/net/wireless/realtek/rtw88/rtw8822b.c
+    defsnc 'static[ ]const[ ]u32[ ]rtw8822b_\(mac\|agc\|bb\(\|_pg_type[25]\)\|rf_[ab]\)\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822b_table.c
+    defsnc 'static[ ]const[ ]u8[ ]rtw8822b_txpwr_lmt_type[25]\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822b_table.c
+    blobname 'rtw88[/]rtw8822c_fw\.bin' drivers/net/wireless/realtek/rtw88/rtw8822c.c
+    defsnc 'static[ ]const[ ]u32[ ]rtw8822c_\(agc\|bb\(\|_pg_type0\)\|rf_[ab]\|array_mp_cal_init\)\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822c_table.c
+    defsnc 'static[ ]const[ ]u8[ ]rtw8822c_txpwr_lmt_type0\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822c_table.c
+    blobname 'gsl3692-jumper-ezpad-6-pro-b\.fw' drivers/platform/x86/touchscreen_dmi.c
+    blobname 'gsl1680-myria-my8307\.fw' drivers/platform/x86/touchscreen_dmi.c
+    defsnc 'static[ ]const[ ]unsigned[ ]int[ ]max77651_sbb1_regulator_volt_table\[\][ ]=' drivers/regulator/max77650-regulator.c
+    defsnc 'static[ ]const[ ]unsigned[ ]int[ ]isink_cur\[\][ ]=' drivers/regulator/wm8350-regulator.c
+    blobname 'ql2800_fw\.bin' drivers/scsi/qla2xxx/qla_os.c
+    accept 'static[ ]const[ ]struct[ ]tegra_xusb_soc[ ]tegra186_soc[ ]=[ ][{][\n][\t][.]firmware[ ]=' drivers/usb/host/xhci-tegra.c
+    blobname 'nvidia[/]tegra186[/]xusb\.bin' drivers/usb/host/xhci-tegra.c
+    blobname 'ccg_\(boot\|primary\|secondary\)\.cyacd' drivers/usb/typec/ucsi/ucsi_ccg.c
+    defsnc 'static[ ]const[ ]struct[ ]utf8data[ ]utf8nfdi\(cf\|\)data\[\][ ]=' fs/unicode/utf8data.h_shipped
+    defsc 'static[ ]const[ ]unsigned[ ]char[ ]utf8data\[64256\][ ]=' fs/unicode/utf8data.h_shipped
+    accept '[\t]*\.sof_fw_filename[ ]=[ ]["]\(intel[/]\)\?sof-[^" ;]*\.ri["]' sound/soc/intel/common/soc-acpi-intel-'\(b[xy]t\|cht\|cnl\|icl\|glk\|hda\|hsw-bdw\|kbl\|skl\)-match\.c'
+    accept '[\t]*\.sof_tplg_filename[ ]=[ ]["]\(intel[/]\)\?sof-[^" ;]*\.tplg["]' sound/soc/intel/common/soc-acpi-intel-'\(b[xy]t\|cht\|cnl\|icl\|glk\|hda\|hsw-bdw\|kbl\|skl\)-match\.c'
+    accept '[\t]*tplg_filename[ ]=[ ]devm_kasprintf[(]sdev->dev[,][ ]GFP_KERNEL[,][\n\t ]*["]%s-idisp\.tplg["][,][ ]split_ext[)]' sound/soc/sof/intel/hda.c
+    accept '[\t]ret[ ]=[ ]request_firmware[(][&]plat_data->fw[,][ ]fw_filename[,][ ]sdev->dev[)]' sound/soc/sof/loader.c
+    accept '[\t]*\.\(nocodec\|sof\)_fw_filename[ ]=[ ]["]sof-[^" ;]*\.ri["]' sound/soc/sof/sof-'\(acpi\|pci\)-dev\.c'
+    accept '[\t]*\.\(nocodec\|sof\)_tplg_filename[ ]=[ ]["]sof-[^" ;]*\.tplg["]' sound/soc/sof/sof-'\(acpi\|pci\)-dev\.c'
+    accept '[\t]ret[ ]=[ ]request_firmware[(][&]fw[,][ ]file[,][ ]sdev->dev[)]' sound/soc/sof/topology.c
+    # blobname 'sof-byt-rt5682\.tplg' sound/soc/intel/common/soc-acpi-intel-byt-match.c
+    # blobname 'sof-cht-rt5682\.tplg' sound/soc/intel/common/soc-acpi-intel-cht-match.c
+    # blobname 'sof-cml-rt5682\(-max98357a\)\?\.tplg' sound/soc/intel/common/soc-acpi-intel-cnl-match.c
+    # blobname 'sof-glk-rt5682\.tplg' sound/soc/intel/common/soc-acpi-intel-glk-match.c
+    # blobname 'sof-icl-rt5682\.tplg' sound/soc/intel/common/soc-acpi-intel-icl-match.c
+    # blobname '%s-idisp\.tplg' sound/soc/sof/intel/hda.c
+    # blobname 'sof-\(hsw\|bdw\|byt\|cht\)\(\.ri\|\(-nocodec\)\?\.tplg\)' sound/soc/sof/sof-acpi-dev.c
+    # blobname 'sof-\(apl\|glk\|cnl\|icl\|skl\|kbl\)\(\.ri\|\(-nocodec\)\?\.tplg\)' sound/soc/sof/sof-pci-dev.c
+
+    # New in 5.2.1, 5.1.18, and 4.19.58.
+    accept '[ ][ ][ ]the[ ]latest[ ]updated[ ]microcode\.' Documentation/admin-guide/hw-vuln/spectre.rst
+
+    # 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
+
     ;;
 
   */*freedo*.patch | */*logo*.patch)