X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=deblob-check;h=992b86a63ddc07d4b658cc9b86f030feac55f182;hb=46ca96f3bec65a61859f197f9febe960460b677d;hp=61df097a70f0c9ed9583db344be3a0ea6113408f;hpb=192f4a033b9714b8eb3ba393884e47879b579bed;p=releases.git diff --git a/deblob-check b/deblob-check index 61df097a70f0..992b86a63ddc 100755 --- a/deblob-check +++ b/deblob-check @@ -1,13 +1,13 @@ #! /bin/sh -# deblob-check version 2019-07-01 +# deblob-check version 2020-12-05 # Inspired in gNewSense's find-firmware script. # Written by Alexandre Oliva # Check http://www.fsfla.org/svn/fsfla/software/linux-libre for newer # versions. -# Copyright 2008-2019 Alexandre Oliva +# Copyright 2008-2020 Alexandre Oliva # # 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 @@ -83,6 +83,16 @@ # completed in reasonable time. +# For reference, as of 5.8-rc6-gnu, checking the full tarball (with +# -B, not -C) takes up: + +# Engine top mem time +# GNU awk 5.0.1 2.2GB 1x +# Python 3.8.3 48MB 14x +# Perl 5.30.3 22MB 45x +# GNU sed 4.5 24GB 4x + + # The default sensitivity is 32 constants. # The sensitivity, if present, must be the first option. The action @@ -685,10 +695,10 @@ accept( 1, 2, 3, 4 }" \ ; do - case `echo "$string" | $0 $targs -C` in + case `$echo "$string" | $0 $targs -C` in "::: - ::: $string") ;; - *) echo "failed $test test for: + *) $echo "failed $test test for: $string" >&2 pass=false;; esac @@ -703,7 +713,7 @@ $string" >&2 "accept(1, 2, 3, 4, 5, 6)" \ ; do - case `echo "$string" | $0 $targs` in + case `$echo "$string" | $0 $targs` in "") ;; *) echo "failed $test test for: $string" >&2 @@ -785,11 +795,11 @@ x" \ input=$string odd=false continue fi - case `echo "$input" | $0 $targs -B` in + case `$echo "$input" | $0 $targs -B` in "::: - ::: $string") ;; *) - echo "failed $test test for: + $echo "failed $test test for: $input" >&2 pass=false ;; @@ -865,11 +875,11 @@ x" \ input=$string odd=false continue fi - case `echo "$input" | $0 $targs -b` in + case `$echo "$input" | $0 $targs -b` in "::: - ::: $string") ;; *) - echo "failed $test test for: + $echo "failed $test test for: $input" >&2 pass=false ;; @@ -893,30 +903,6 @@ fi # false positives. Takes the input filename in $1. set_except () { - blob "$blobseq" - # We leave out the initial and final letters of request_firmware so - # that deblobbing turns them into r/*DEBLOBBED*/e, a syntax error. - blobna 'equest_firmwar' - blobna 'equest_ihex_firmwar' - blobna 'irmware_reques' # catch _nowarn; also caches _cache, but that's ok. - # Catch request_firmare misdeblobbed by the above. - blobname 'r[/][*][(]DEBLOBBED[)][*][/]e' - blobname 'f[/][*][(]DEBLOBBED[)][*][/]t' - blobna '[Uu]p\(date\|grade\)[^\n]*[Mm]icrocode' - blobna 'MODULE_FIRMWARE[ ]*[(][^\n;]*[)][ ]*[;]\([ \n]*MODULE_FIRMWARE[ ]*[(][^\n;]*[)][ ]*[;]\)*' - 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\|itb\|cyacd\)[\\]\?["]' - # Catch misdeblobbed fw extension. - blobname '["][^" \t\n]*[/][*][(]DEBLOBBED[)][*][/][^"\\]' - # Ideally we'd whitelist URLs that don't recommend non-Free - # Software, but there are just too many URLs in Linux, and most are - # fine, so we just blacklist when we find undesirable URLs. - # Please report if you find any inappropriate URL in Linux-libre - # deblobbed documentation, sources or run-time log messages. - # blobna '\(f\|ht\)tp:[/]\([/]\+[^/ \n ]\+\)\+' - case $prefix$1 in */*linux*.tar* | */*kernel*.tar* | */*linux-*.*/*) # false alarms, contain source @@ -1767,7 +1753,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 @@ -2374,7 +2360,7 @@ set_except () { blobname '\(sep[/]\)\?\(cache\|resident\)\.image\.bin' drivers/staging/sep/sep_driver.c blobname 'RTL8192E[/]\(boot\|main\|data\)\.img' drivers/staging/rtl8192e/r819xE_firmware.c defsnc '\(static[ ]\)\?u32[ ]Rtl8190PciE\?\(AGCTAB_\|PHY_REG\(_1T2R\)\?\|Radio[ABCD]_\)Array\[\(AGCTAB_\|PHY_REG\(_1T2R\)\?\|Radio[ABCD]_\)ArrayLength\][ ]=' 'drivers/staging/\(rtl8192e/r819xE_phy\.c\|rtl8192u/r819xU_firmware_img.c\)' - accept '[ ][*][ ]File:[ ]main_usb\.c\([\n][ ][*]\([^\n/]*\|[^*\n/][/]*\)*\)*[\n][ ][*][/]\([\n][\n]*#\(undef[ ][^\n]*\|include[ ]["][^\n]*["]\)\)*[\n][\n]*#include[ ]["]firmware\.h["]' drivers/staging/vt6656/main_usb.c + accept '[ ][*][ ]File:[ ]main_usb\.c[\n][ ]\([*]\+[^/*][^*]*\)*[\n][ ][*][/]\([\n][\n]*#\(undef[ ][^\n]*\|include[ ]["][^\n]*["]\)\)*[\n][\n]*#include[ ]["]firmware\.h["]' drivers/staging/vt6656/main_usb.c blob 'const[ ]BYTE[ ]abyFirmware\[\][ ]=[ ][{][^;]*[}][;]' drivers/staging/vt6656/firmware.c defsnc '[}][ ]*ChannelRuleTab\[\][ ]=' drivers/staging/vt6656/channel.c defsnc '\(static[ ]\)\?struct[ ]register_address_value_pair[\n]\(preview_snapshot_mode\|noise_reduction\)_reg_settings_array\[\][ ]=' drivers/staging/dream/camera/mt9d112_reg.c @@ -2595,6 +2581,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 +2701,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 @@ -3246,7 +3233,7 @@ set_except () { blobname 'ar3k[/]\(AthrBT_0x%08x\.dfu\|ramps_0x%08x_%d%s\)' drivers/bluetooth/ath3k.c # New in 3.8 - accept 'K_table:\([\n][ ]*\.quad[ ]*0x[0-9a-f]*[,]0x[0-9a-f]*\)*' arch/x86/crypto/crc32c-pcl-intel-asm_64.S + accept 'K_table:\([\n][ \t]*\.\(quad\|long\)[ \t]*0x[0-9a-f]*[,][ ]\?0x[0-9a-f]*\)*' arch/x86/crypto/crc32c-pcl-intel-asm_64.S defsnc 'const[ ]u32[ ]cast_s[1234]\[256\][ ]=' crypto/cast_common.c accept '[ ]request_firmware[ ]can[ ]be[ ]called[ ]safely' Documentation/firmware_class/README defsnc 'static[ ]const[ ]int[ ]__initconst[ ]armada_370_xp_\(nb\|h\|dram\)clk_ratios\[32\]\[2\][ ]=' drivers/clk/mvebu/clk-core.c @@ -3790,7 +3777,7 @@ set_except () { blobname 'brcm[/]brcmfmac43569\.bin' drivers/net/wireless/brcm80211/brcmfmac/usb.c blobname '3826\.eeprom' drivers/net/wireless/p54/p54spi.c defsnc 'static[ ]const[ ]u64[ ]sha512_k\[\][ ]=' arch/arm/crypto/sha512_neon_glue.c - accept 'K_table:\([\n][ ]*\.long[ ]*0x[0-9a-f]*[,][ ]0x[0-9a-f]*\)*' arch/x86/crypto/crc32c-pcl-intel-asm_64.S + accept 'K_table:\([\n][ \t]*\.\(quad\|long\)[ \t]*0x[0-9a-f]*[,][ ]\?0x[0-9a-f]*\)\*' arch/x86/crypto/crc32c-pcl-intel-asm_64.S accept '\.L_s[12345678]:\([\n][ ]*\.quad[ ]*0x[0-9a-f]*[,][ ]0x[0-9a-f]*\)*' arch/x86/crypto/des3_ede-asm_64.S defsnc '[\t]const[ ]unsigned[ ]char[ ][*]K[ ]=[ ][(]unsigned[ ]char[ ][*][)]' crypto/drbg.c accept '[\t]ret[ ]=[ ]_request_firmware[(]firmware_p[,][ ]name[,][ ]device[,]' drivers/base/firmware_class.c @@ -4205,11 +4192,12 @@ set_except () { blobname 'brcm[/]brcmfmac4358-pcie\.bin' drivers/net/wireless/brcm80211/brcmfmacpcie.c blobname 'brcm[/]brcmfmac43241b5-sdio\.bin' drivers/net/wireless/brcm80211/brcmfmac/sdio.c # http://arago-project.org/git/projects/?p=am33x-cm3.git contains - # source code and the license even looks like a Free Software - # license, but there are provisions about trade secrets that might - # be contained in blobs therein. Furthermore, the license hasn't - # been reviewed by the FSF. So let's keep on assuming it's - # non-Free, until we get a definitive answer. + # source code and the Texas Instruments, Inc Software License + # Agreeent even looks like a Free Software license, but there are + # provisions about trade secrets that might be contained in blobs + # therein. Furthermore, the license hasn't been reviewed by the + # FSF. So let's keep on assuming it's non-Free, until we get a + # definitive answer. blobname 'am335x-pm-firmware\.elf' Documentation/devicetree/bindings/remoteproc/wkup_m3_rproc.txt blobname 'rtl_bt[/]rtl\(8723[ab]\|8821a\|8761a\)_fw\.bin' drivers/bluetooth/btrtl.c blobname 'radeon[/]\(bonaire\|kabini\|kaveri\|hawaii\|mullins\)_uvd\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c @@ -4233,7 +4221,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 @@ -4302,9 +4290,9 @@ set_except () { # New in 4.4. blobna 'More[ ]description[ ]on[ ]the[ ]firmware.*make[ ]sure[ ]to[ ]copy[ ]firmware[\n]to[ ]file[ ]system[ ]before[ ]using[ ]these[ ]queue[ ]types[.]' Documentation/arm/keystone/knav-qmss.txt - accept '[\t ]*interrupts[ ]=[ ]<\([\n\t ]*\([0-9xa-f ]*\|[/][*]\([^*]\|[*]*[^*/]\)*[*][*]*[/]\)\)*>[;]' arch/arm64/boot/dts/hisilicon/hip05_hns.dtis + accept '[\t ]*interrupts[ ]=[ ]<\([\n\t ]*\([0-9xa-f]*\|[/]\([*]\+[^*/][^*]*\)\+[*]\+[/]\)\)*>[;]' arch/arm64/boot/dts/hisilicon/hip05_hns.dtis accept '[ ][ ][ ][ ]run_cmd[ ]dd[ ]if=["][$]ofile\.bin["][ ]of=["][$]ofile\.bin["]' arch/powerpc/boot/wrapper - accept '#define[ ]XCHAL_BYTE0_FORMAT_LENGTHS[ \t23,\\\n]*' arch/xtensa/variants/de212/include/variant/tie.h + accept '#define[ ]XCHAL_BYTE0_FORMAT_LENGTHS[ \t238,\\\n]*' arch/xtensa/variants/de212/include/variant/tie.h defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]wm8998_rev_a_patch\[\][ ]=' drivers/mfd/wm8998-tables.c defsnc 'static[ ]struct[ ]nand_ecclayout[ ]vf610_nfc_ecc\(45\|60\)[ ]=' drivers/mtd/nand/vf610_nfc.c defsnc 'static[ ]const[ ]struct[ ]iro[ ]iro_arr\[31\][ ]=' drivers/net/ethernet/qlogic/qed/qed_hsi.h @@ -4413,7 +4401,7 @@ set_except () { blob '[/]lib[/]firmware[/]\([\n][^\n][^\n]*\)*\.\.\.' Documentation/x86/early-microcode.txt blobname 'https[:][/][/]01\.org[/]linuxgraphics[/]intel-[^"\n]*' drivers/gpu/drm/i915/intel_csr.c accept '[\t ]*["]genroms[/]kvmvapic\.bin' Documentation/ABI/testing/sysfs-firmware-qemu_fw_cfg - accept '[#]define[ ]XCHAL_BYTE0_FORMAT_LENGTHS[ \t\n,238\\]*' arch/xtensa/variants/test_kc705_hifi/include/variant/tie.h + accept '#define[ ]XCHAL_BYTE0_FORMAT_LENGTHS[ \t238,\\\n]*' arch/xtensa/variants/test_kc705_hifi/include/variant/tie.h defsnc 'static[ ]const[ ]int[ ]supported_data_lane_swaps\[\]\[4\][ ]=' drivers/gpu/drm/msm/dsi/dsi_host.c accept '[\t ]*\(if[ ][(]\)\?[(]ret[ ]=[ ]gf100_gr_ctor_fw[(]gr[,][ ]["]gr[/]\(fecs\|gpccs\)_\(data\|inst\)["][,][ ][&]gr->fuc4\(09\|1a\)[cd][)]' drivers/gpu/drm/nouveau/nvkm/engine/gr/gm200.c defsnc '[\t]static[ ]const[ ]u8[ ]sixaxis_leds\[10\]\[4\][ ]=' drivers/hid/hid-sony.c @@ -4686,7 +4674,7 @@ set_except () { defsnc 'static[ ]yyconst[ ]YY_CHAR[ ]yy_meta\[48\][ ]=' scripts/dtc/dtc-lexer.lex.c_shipped defsnc 'static[ ]yyconst[ ]flex_uint16_t[ ]yy_base\[180\][ ]=' scripts/dtc/dtc-lexer.lex.c_shipped defsnc 'static[ ]yyconst[ ]flex_uint16_t[ ]yy_nxt\[449\][ ]=' scripts/dtc/dtc-lexer.lex.c_shipped - accept '0x1B[,][ ]0x5E[,][ ]0x78[,][ ]0x3D[,][ ]0x00[,][ ]0x00[,][ ]0x00[,][ ]0x18[,][ ][0x1-9A-F, ]*' security/apparmor/nulldfa.in + accept '0x1B[,][ ]0x5E[,][ ]0x78[,][ ]0x3D[,][ ]0x00[,][ ]0x00[,][ ]0x00[,][ ]0x18[,][ ][0x1-9A-F, \n]*' security/apparmor/nulldfa.in defsnc '[\t]struct[ ]sock_filter[ ]bpf_filter\[\][ ]=' tools/testing/selftests/net/psock_lib.h blobname 'cpt8x-mc-[as]e\.out' drivers/crypto/cavium/cpt/cptpf_main.c blobname 'i915[/]["][ ]__stringify[(]platform[)][ ]["]_huc_ver["][ ]__stringify[(]major[)][ ]["]_["][ \\\n\t]*__stringify[(]minor[)][ ]["]_["][ ]__stringify[(]bld_num[)][ ]["]\.bin' drivers/gpu/drm/i915/intel_huc.c @@ -4863,7 +4851,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 @@ -5276,7 +5264,7 @@ set_except () { defsnc 'static[ ]const[ ]unsigned[ ]char[ ]\(luma\|chroma\)_\(q\|ac\)_table\[\][ ]=' drivers/staging/media/rockchip/vpu/rockchip_vpu_jpeg.c defsc 'static[ ]const[ ]unsigned[ ]char[ ]rockchip_vpu_jpeg_header\[JPEG_HEADER_SIZE\][ ]=' drivers/staging/media/rockchip/vpu/rockchip_vpu_jpeg.c defsnc 'static[ ]const[ ]unsigned[ ]char[ ]fontdata_ter16x32\[FONTDATAMAX\][ ]=' lib/fonts/font_ter16x32.c - accept '[\t][\t]\([{][ ]timeout\|["]tests[/]\|[!][ ]grep[ ]-Eq\)[^\n]*[ ]["]tests\/\$\{testname\}\.vg\.out["]' tools/lib/lockdep/run_tests.sh + accept '[\t][\t]\([{][ ]timeout\|["]tests[/]\|[!][ ]grep[ ]-Eq\)[^\n]*[ ]["]tests\/\$[{]testname[}]\.vg\.out["]' tools/lib/lockdep/run_tests.sh blobname 'amdgpu[/]\(%s\|picasso\)_rlc\(_am4\)\?\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c blobname 'amdgpu[/]\(%s\|vega20\)_ta\.bin' drivers/gpu/drm/amd/amdgpu/psp_v11_0.c blobname 'yamato_\(pm4\|pfp\)\.fw' drivers/gpu/drm/msm/adreno/adreno_device.c @@ -5362,7 +5350,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 @@ -5424,6 +5412,682 @@ set_except () { # 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 + + # 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 + + # New variation in 5.6.6, 5.5.19, and 5.4.34. + # The firmware file name is supplied by the user. + accept '[\t]err[ ]=[ ]request_firmware_direct[(][&]fw[,][ ]file_name[,]\([^\n]*[\n]\+[^\n}]\)*err[ ]=[ ]mlx5_firmware_flash[(]' drivers/net/ethernet/mellanox/mlx5/core/devlink.c + + # New in 5.7-rc7. + accept '[\t ]*:\([ ]*[32][86420]0*\)\+\([\n][ ]*[32][86420]0*:\([ ]*[012345]\)*\)\+' Documentation/cpu-freq/cpufreq-stats.rst + accept '\(The[ ]\)\?firmware_request_platform[(][)][ ]function' Documentation/driver-api/firmware/fallback-mechanisms.rst + accept '[ ][ ][ ]request_firmware[\n]' Documentation/driver-api/firmware/index.rst + accept '[ ][ ]firmware_request_platform[(][)][ ]is[ ]used' Documentation/driver-api/firmware/lookup-order.rst + accept '\([ ][ ][ ]:functions:[ ]\)\?firmware_request_platform' Documentation/driver-api/firmware/request_firmware.rst + accept '\(typical[ ]data[ ]at[ ]NVRAM[ ]address[ ]0x100[ ][(]53c810a[ ]NVRAM[)]\|device[ ]set[ ]up[ ][(]up[ ]to[ ]16[ ]devices[ ]-[ ]includes[ ]controller[)]\)::\([\n]\+[ ][ ][ ]\([ ][0-9a-f][0-9a-f]\)\+\([ ]-[ ]id[ ]\(0\|15\)\)\?\)*' Documentation/scsi/'\(ncr53c8xx\|sym53c8xx_2\)\.rst' + accept 'default[ ]nvram[ ]data::\([\n]\+[ ][ ][ ]\([ ]0x[0-9a-f][0-9a-f][0-9a-f][0-9a-f]\)\+\)*' Documentation/scsi/'\(ncr53c8xx\|sym53c8xx_2\)\.rst' + defsnc 'static[ ]const[ ]u64[ ]table_ladder\[\][ ]=' arch/x86/crypto/curve25519-x86_64.c + defsnc 'static[ ]unsigned[ ]icx_cha_msr_offsets\[\][ ]=' arch/x86/events/intel/uncore_snbep.c + accept '[ ][*][ ]firmware_request_platform[(][)][ ]-' drivers/base/firmware_loader/main.c + accept '[ ][*][ ]This[ ]function[ ]is[ ]similar[ ]in[ ]behaviour[ ]to[ ]request_firmware[,]' drivers/base/firmware_loader/main.c + accept 'int[ ]firmware_request_platform[(]' drivers/base/firmware_loader/main.c + accept 'EXPORT_SYMBOL_GPL[(]firmware_request_platform[)]' drivers/base/firmware_loader/main.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_2tap_16p\[18\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_3tap_16p_\(upscale\|116\|149\|183\)\[27\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_4tap_16p_\(upscale\|116\|149\|183\)\[36\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_2tap_64p\[66\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_3tap_64p_\(upscale\|116\|149\|183\)\[99\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_4tap_64p_\(upscale\|116\|149\|183\)\[132\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_5tap_64p_\(upscale\|116\|149\|183\)\[165\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_6tap_64p_\(upscale\|116\|149\|183\)\[198\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_7tap_64p_\(upscale\|116\|149\|183\)\[231\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + defsnc 'static[ ]const[ ]uint16_t[ ]filter_8tap_64p_\(upscale\|116\|149\|183\)\[264\][ ]=' drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c + accept '#define[ ]NT35510_GAMMA_\(POS\|NEG\)_DEFAULT[ ]0x[0-9A-F][0-9A-F]\([,][ ]\([\\][\n][\t ]*\)\?0x[0-9A-F][0-9A-F]\)*' drivers/gpu/drm/panel/panel-novatek-nt35510.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]ad7124_reg_size\[\][ ]=' drivers/iio/adc/ad7124.c + defsnc 'static[ ]const[ ]u16[ ]gp2ap002_illuminance_table\[\][ ]=' drivers/iio/light/gp2ap002.c + defsnc 'static[ ]const[ ]struct[ ]imx219_reg[ ]mode_\(3280x2464\|1920_1080\|1640_1232\|640_480\)_regs\[\][ ]=' drivers/media/i2c/imx219.c + defsc 'static[ ]const[ ]u16[ ]mv88e6390_serdes_regs\[\][ ]=' drivers/net/dsa/mv88e6xxx/serdes.c + defsnc 'static[ ]const[ ]unsigned[ ]char[ ]zigzag\[64\][ ]=' drivers/staging/media/hantro/hantro_jpeg.c + defsnc 'static[ ]const[ ]u32[ ]hw_reorder\[64\][ ]=' drivers/staging/media/hantro/hantro_jpeg.c + defsnc 'static[ ]const[ ]u8[ ]eos_sequence\[SZ_4K\][ ]=' drivers/staging/media/meson/vdec/codec_h264.c + defsnc 'static[ ]const[ ]struct[ ]v4l2_fract[ ]par_table\[\][ ]=' drivers/staging/media/meson/vdec/codec_h264.c + defsnc 'const[ ]u16[ ]vdec_hevc_parser_cmd\[\][ ]=' drivers/staging/media/meson/vdec/codec_hevc_common.c + defsnc 'static[ ]const[ ]unsigned[ ]short[ ]uni_def_upcase\[EXFAT_NUM_UPCASE\][ ]=' fs/exfat/nls.c + accept 'int[ ]firmware_request_platform[(]const[ ]struct[ ]firmware[ ][*][*]fw' include/linux/firmware.h + accept 'static[ ]inline[ ]int[ ]firmware_request_platform[(]const[ ]struct[ ]firmware[ ][*][*]fw' include/linux/firmware.h + defsnc '[\t]static[ ]const[ ]u8[ ]test_data\[\][ ]=' lib/test_firmware.c + defsnc 'static[ ]const[ ]struct[ ]reg_table[ ]mt6660_setting_table\[\][ ]=' sound/soc/codecs/mt6660.c + accept '[\t]const[ ]char[ ][*]fw_name[ ]=[ ]["]test-firmware\.bin["]' tools/testing/selftests/firmware/fw_namespace.c + defsnc 'struct[ ]reuse_opts[ ]unreusable_opts\[12\][ ]=' tools/testing/selftests/net/reuseaddr_ports_exhausted.c + blob 'The[ ]card[ ]requires[ ]firmware.*[\n][\t]rm[ ]wd7296a\.sys' Documentation/scsi/wd719x.rst + blobname 'rtl_bt[/]rtl8822cs_fw\.bin' drivers/bluetooth/btrtl.c + # If this is code at all, it could use some assembly comments. + # Most of it is so regular that disassembly of the final irregular + # bits should suffice to make it all transparent. + defsnc 'static[ ]const[ ]u32[ ]vgpr_init_compute_shader_arcturus\[\][ ]=' drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c + defsnc '[\t]static[ ]const[ ]u8[ ]pre_computed_values\[\][ ]=' drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c + blobname 'i915[/]tgl_dmc_ver2_06\.bin' drivers/gpu/drm/i915/intel_csr.c + blobname 'goodix_%s_cfg\.bin' drivers/input/touchscreen/goodix.c + blobname 'dvb-demod-m88ds3103b\.fw' drivers/media/dvb-frontends/m88ds3103_priv.h + blobname 'mediatek[/]mt8173[/]vpu_[pd]\.bin' drivers/media/platform/mtk-vpu/mtk_vpu.c + blobname 'qcom[/]venus-5\.4[/]venus\.mdt' drivers/media/platform/qcom/venus/core.c + blobname 'brcmfmac4364-pcie' drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c + blobname 'mediatek[/]mt7622_\(n9\|rom_patch\)\.bin' drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h + blobname 'mediatek[/]mt7663\(pr2h\|_n9\)_v3\.bin' drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h + blobname 'silead[/]\(gsl3680-chuwi-hi8-pro\|gsl3670-cube-iwork8-air\|gsl3676-onda-v80-plus-v3\|gsl1680-pipo-w2s\)\.fw' drivers/platform/x86/touchscreen_dmi.c + accept '[\t]const[ ]char[ ][*]pathname[ ]=[ ]["][/]tmp[/]isst_cpu_topology\.dat["][;]' tools/power/x86/intel-speed-select/isst-config.c + + blobname 'iqs620a\.bin' Documentation/devicetree/bindings/mfd/iqs62x.yaml + blobname 'iqs620a_coil\.bin' Documentation/devicetree/bindings/mfd/iqs62x.yaml + blobname 'imx[/]sdma[/]sdma-imx7d\.bin' arch/arm64/boot/dts/freescale/imx8mp.dtsi + blobname 'qcom[/]sdm845[/]\([ac]dsp\.mdt\|\(mba\|modem\)\.mbn\)' arch/arm64/boot/dts/qcom/sdm845-mtp.dts + blobname 'cpt8x-mc\.tar' drivers/crypto/marvell/octeontx/otx_cptpf_ucode.h + blobname 'amdgpu[/]navi12_dmcu\.bin' drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c + blobname 'iqs62\(0a\|[1245]\)\.bin' drivers/mfd/iqs62x.c + blobname 'ipa_fws\.mdt' drivers/net/ipa/ipa_main.c + blobname 'microchip[/]mscc_vsc8584_revb_int8051_fb48.bin' drivers/net/phy/mscc/mscc.h + blobname 'microchip[/]mscc_vsc8574_revb_int8051_29e8.bin' drivers/net/phy/mscc/mscc.h + # This driver enables the user to update the non-Free BIOS, but it + # only issues a firmware request if specifically told to. It + # doesn't require any non-Free firwmare to function, and it + # doesn't actually recommend users to perform updates, so I'm + # leaving it in. + accept '[\t]*pr_err[(]["]request_firmware_nowait[ ]failed' drivers/platform/x86/dell_rbu.c + blobname 'idt82p33xxx\.bin' drivers/ptp/ptp_idt82p33.h + blobname 'meson[/]vdec[/]\(gxbb_h264\|gxl_vp9\|gxl_h264\|gxm_h264\|g12a_vp9\|g12a_h264\|sm1_vp9_mmu\)\.bin' drivers/staging/media/meson/vdec/vdec_platform.c + accept '[\t]rc[ ]=[ ]firmware_request_platform[(][&]firmware[,][ ]' lib/test_firmware.c + accept '[ ]*device[ ]name[ ]with[ ]["]\.bin["][ ]as' Documentation/devicetree/bindings/mfd/iqs62x.yaml + blobname 'amdgpu[/]%s' drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c + accept '[\t][\t]\.sha256[\t ]=[ ][{][ ]0x[0-9a-f][0-9a-f]\([,][ \t\n]*0x[0-9a-f][0-9a-f]\)*[ ][}][,]' drivers/platform/x86/touchscreen_dmi.c + # Sources added to 5.7.8, but they were available elsewhere before.. + defsnc 'static[ ]const[ ]u32[ ]ivb_clear_kernel\[\][ ]=' drivers/gpu/drm/i915/gt/ivb_clear_kernel.c + defsnc 'static[ ]const[ ]u32[ ]hsw_clear_kernel\[\][ ]=' drivers/gpu/drm/i915/gt/hsw_clear_kernel.c + + # New in 5.8-rc5. + blobname 'brcm[/]BCM%s\.hcd' drivers/bluetooth/btbcm.c + accept '[ ]Package[\t]Core[\t]CPU[\t]Bzy_MHz\([\n][ ]0[\t][\t]\([0-9]\|1[0-3]\)[\t]\([0-9]\|1[0-3]\)[\t][1-9][0-9]*\)*' Documentation/admin-guide/pm/intel-speed-select.rst + accept '[ \t]*cellwise[,]battery-profile[ ]=[ ][/]bits[/][ ]8[ ]<\([\n][ \t]*0x[0-9A-F][0-9A-F]\([ ]0x[0-9A-F][0-9A-F]\)*\)*[\n][ \t]*>[;]' Documentation/devicetree/bindings/power/supply/cw2015_battery.yaml + blobname 'imx[/]easrc[/]easrc-imx8mn\.bin' Documentation/devicetree/bindings/sound/fsl,easrc.yaml + defsnc '[ ]*struct[ ]sock_filter[ ]code\[\][ ]=' Documentation/networking/filter.rst + accept '[ ]*gzip[ ]-n[ ]--force[ ]-9[ ]--stdout[ ]["][$]ofile\.bin["]' arch/powerpc/boot/wrapper + accept '[ ][*][ ]*0[ ]-[ ]success[ ][(]no[ ]update[ ]done[ ]or[ ]microcode[ ]was[ ]updated[)]' arch/x86/kernel/cpu/microcode/core.c + blobname 'qca[/]htnv%02x\.bin' drivers/bluetooth/btqca.c + blobname 'rtl_bt[/]rtl8761b_fw\.bin' drivers/bluetooth/btrtl.c + defsnc '[}][ ]postdivs\[\][ ]=' drivers/clk/mmp/clk-audio.c + defsnc '[\t][}][ ]common_modes\[21\][ ]=' drivers/gpu/drm/amd/amdgpu/dce_virtual.c + defsc 'static[ ]const[ ]unsigned[ ]int[ ]a405_registers\[\][ ]=' drivers/gpu/drm/msm/adreno/a4xx_gpu.c + blobname 'a6[45]0_\(gmu\.bin\|zap\.mdt\|sqe\.fw\)' drivers/gpu/drm/msm/adreno/adreno_device.c + defsc 'static[ ]const[ ]struct[ ]ltk050h3146w_cmd[ ]page[13]_cmds\[\][ ]=' drivers/gpu/drm/panel/panel-leadtek-ltk050h3146w.c + defsnc '[\t]dsi_dcs_write_seq[(]dsi[,][ ]0x' drivers/gpu/drm/panel/panel-leadtek-ltk050h3146w.c + defsnc 'static[ ]const[ ]struct[ ]ov2740_reg[ ]mode_1932x1092_regs\[\][ ]=' drivers/media/i2c/ov2740.c + blobname 'habanalabs[/]gaudi[/]gaudi\(-boot\)\?-fit\.itb' drivers/misc/habanalabs/gaudi/gaudi.c + blobname 'habanalabs[/]gaudi[/]gaudi_tpc\.bin' drivers/misc/habanalabs/gaudi/gaudi.c + blobname 'habanalabs[/]goya[/]goya-boot-fit\.itb' drivers/misc/habanalabs/goya/goya.c + defsnc 'static[ ]const[ ]u8[ ]ice_fdir_\(tc\|ud\|sct\|\|i\)p\(v[46]\|[46]_tun\)_pkt\[\][ ]=' drivers/net/ethernet/intel/ice/ice_fdir.c + defsnc 'static[ ]const[ ]u32[ ]ice_ptypes_gre_of\[\][ ]=' drivers/net/ethernet/intel/ice/ice_flow.c + defsc 'static[ ]const[ ]struct[ ]ath10k_index_v\?ht_data_rate_type[ ]supported_v\?ht_mcs_rate_nss[12]\[\][ ]=' drivers/net/wireless/ath/ath10k/mac.c + defsnc '[\t]static[ ]const[ ]u16[ ]freq_list\[\][ ]=' drivers/net/wireless/mediatek/mt76/mt7615/mcu.c + blobname 'mediatek[/]mt7663\(pr2h\|_n9\)_rebb\.bin' drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h + blobname 'mediatek[/]mt7915_\(w[am]\|rom_patch\)\.bin' drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h + defsnc 'static[ ]const[ ]u32[ ]rtw8723d_\(ofdm\|cck\)_swing_table\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8723d.c + blobname 'rtw88[/]rtw8723d_fw\.bin' drivers/net/wireless/realtek/rtw88/rtw8723d.c + defsnc 'static[ ]const[ ]u32[ ]rtw8723d_\(mac\|agc\|bb\|rf_a\)\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8723d_table.c + defsnc 'static[ ]const[ ]struct[ ]rtw_phy_pg_cfg_pair[ ]rtw8723d_bb_pg\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8723d_table.c + defsnc 'static[ ]const[ ]struct[ ]rtw_txpwr_lmt_cfg_pair[ ]rtw8723d_txpwr_lmt\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8723d_table.c + defsnc 'static[ ]const[ ]struct[ ]rtw_txpwr_lmt_cfg_pair[ ]rtw8822c_txpwr_lmt_type5\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8723d_table.c + blobname 'gsl3680-mpman-mpwin895cl\.fw' drivers/platform/x86/touchscreen_dmi.c + blobname 'gsl3676-onda-v891-v5\.fw' drivers/platform/x86/touchscreen_dmi.c + blobname 'gsl1680-techbite-arc-11-6\.fw' drivers/platform/x86/touchscreen_dmi.c + blobname 'gsl1680-vinga-twizzle_j116\.fw' drivers/platform/x86/touchscreen_dmi.c + defsc 'static[ ]struct[ ]ov2680_reg[ ]const[ ]ov2680_\(global_setting\|\(Q\?CIF\|QVGA\|656x496\|800x600\|720p\|1296x976\|1456x1096\|1616x916\|1616x1082\)_30fps\)\[\][ ]=' drivers/staging/media/atomisp/i2c/ov2680.h + defsnc 'static[ ]struct[ ]ia_css_macc_table[ ]\(skin_\(low\|medium\|high\)\|blue\|green\)_macc_table[ ]=' drivers/staging/media/atomisp/pci/atomisp_tables.h + defsnc 'static[ ]struct[ ]ia_css_ctc_table[ ]vivid_ctc_table[ ]=' drivers/staging/media/atomisp/pci/atomisp_tables.h + blobname 'shisp_240\(0b\|1a\)0_v21\.bin' 'drivers/staging/media/atomisp/\(TODO\|atomisp_v4l2\.c\)' + blobname 'shisp_2401a0_legacy_v21\.bin' drivers/staging/media/atomisp/pci/atomisp_v4l2.c + defsnc 'static[ ]const[ ]s16[ ]g_pyramid\[8\]\[8\][ ]=' drivers/staging/media/atomisp/pci/isp/kernels/tdf/tdf_1.0/ia_css_tdf.host.c + defsc 'static[ ]const[ ]struct[ ]vnt_threshold[ ]\(al2230\|vt3\(226\|342\)\)_vnt_threshold\[\][ ]=' drivers/staging/vt6656/baseband.c + defsnc 'static[ ]const[ ]int[ ]k3_adc_to_temp\[\][ ]=' drivers/thermal/k3_bandgap.c + blobname 'renesas_usb_fw\.mem' drivers/usb/host/xhci-pci.c + defsnc 'static[ ]u8[ ]swap_bits_table\[\][ ]=' lib/bch.c + blobname 'dsm_param\(_%s_%s\)\?\.bin' sound/soc/codecs/max98390.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt1016_reg\[\][ ]=' sound/soc/codecs/rt1016.c + defsnc 'const[ ]struct[ ]reg_default[ ]rt5682_reg\[RT5682_REG_NUM\][ ]=' sound/soc/codecs/rt5682.c + blobname 'zl38060\.fw' sound/soc/codecs/zl38060.c + blobname '%s-tplg\.bin' sound/soc/intel/skylake/skl-topology.c + defsnc 'static[ ]uint8_t[ ]default_tx\[\][ ]=' tools/spi/spidev_test.c + # This is not used at all, but watch out for future uses thereof. + # It is intended for use to load large register-set files rather + # than code. That ought to be acceptable, but let's make sure no + # unwanted use slips through. + blobna 'load_msr_list' drivers/staging/media/atomisp/i2c/atomisp-libmsrlisthelper.c + accept 'int[ ]load_msr_list[(][^)]*[)][\n][{][\n][\t]int[ ]ret[ ]=[ ]request_firmware[(]' drivers/staging/media/atomisp/i2c/atomisp-libmsrlisthelper.c + accept 'int[ ]load_msr_list[(][^)]*[)][;]' drivers/staging/media/atomisp/include/linux/libmsrlisthelper.h + blobname 'qca[/]crbtfw%02x\.tlv' drivers/bluetooth/btqca.c + blobname 'qca[/]htbtfw%02x\.tlv' drivers/bluetooth/btqca.c + blobname 'qca[/]%s' drivers/bluetooth/btqca.c + accept '[\t]quirks[ \t]*=[ ]XHCI_RENESAS_FW_QUIRK[,][\n][\t]\.firmware[ ]=' drivers/usb/host/xhci-pci.c + accept '[\t]*dev_err[(][&]pdev->dev[,][ ]["]request_firmware[ ]failed' drivers/usb/host/xhci-pci-renesas.c + accept 'EXPORT_SYMBOL_GPL[(]load_msr_list[)]' drivers/staging/media/atomisp/i2c/atomisp-libmsrlisthelper.c + blobna 'for[ ]the[ ]WinTV[/]PVR[^:.]*firmware[^:.]*:[\n ][`][`]hcwamc\.rbf[^\n]*\([\n][^\n][^\n]*\)*' Documentation/admin-guide/media/bttv.rst + + # New in 5.8.2, 5.7.16, 5.4.59, and 4.19.140. + blobname 'mrvl[/]sdsd8977_combo_v2\.bin' 'drivers/\(bluetooth/btmrvl_sdio\.c\|net/wireless/marvell/mwifiex/sdio\.h\)' + blobname 'mrvl[/]sdsd8997_combo_v4\.bin' 'drivers/\(bluetooth/btmrvl_sdio\.c\|net/wireless/marvell/mwifiex/sdio\.h\)' + + # New in 5.9-rc6. + accept '[ ][ ]For[ ]pm\(8841\|8916\|8941\|8994\|8994\|a8084\|i8994\|i8998\|s405\)\([,][ \n][ ]*[slv0-9]*\)*' Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.yaml + initnc '[ ][ ][ ][ ][$][ ]devlink[ ]region[ ]dump[ ]pci[/][^ ]*[ ]snapshot' Documentation/networking/devlink/ice.rst + blobname 'nvm_00440302_i2s_eu\.bin' arch/arm64/boot/dts/mediatek/mt8183-kukui-krane.dtsi + initnc '[\t][\t]temperature-lookup-table[ ]=[ ]<' arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi + blobname 'nvm_00440302_i2s\.bin' arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi + defsnc 'static[ ]const[ ]u64[ ]inst\[\][ ]=' drivers/crypto/qat/qat_common/qat_hal.c + defsnc 'static[ ]u8[ ]mci_cbc_\(enc\|dec\)_\(no_iv_\)\?array\[3\]\[MODE_CONTROL_BYTES\][ ]=' drivers/crypto/sa2ul.c + defsnc 'static[ ]u8[ ]mci_ecb_\(enc\|dec\)_\(no_iv_\)\?array\[3\]\[27\][ ]=' drivers/crypto/sa2ul.c + blobname 'amdgpu[/]\(tahiti\|verde\|pitcairn\|oland\)_uvd\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c + blobname 'amdgpu[/]\(sienna_cichlid\|navy_flounder\)_vcn\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c + blobname 'amdgpu[/]\(sienna_cichlid\|navy_flounder\|%s\)_sdma\(%d\)\?\.bin' drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c + # Sources are in cwsr_trap_handler_gfx10.asm. + defsnc 'static[ ]const[ ]uint32_t[ ]cwsr_trap_nv1x_hex\[\][ ]=' drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h + blobname 'amdgpu[/]\(sienna_cichlid\|navy_flounder\|%s\)_dmcub\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_dm.c + blobname 'i915[/]rkl_dmc_ver2_01\.bin' drivers/gpu/drm/i915/display/intel_csr.c + initnc '[\t]dsi_dcs_write_seq[(]dsi[,][ ]ST7703_CMD_SET\(GIP[12]\|GAMMA\)[,]' drivers/gpu/drm/panel/panel-sitronix-st7703.c + defsnc 'static[ ]const[ ]struct[ ]vadc_map_pt[ ]adcmap7_100k\[\][ ]=' drivers/iio/adc/qcom-vadc-common.c + defsc '[}][ ]ov10635_regs_wizard\[\][ ]=' drivers/media/i2c/rdacm20.c + accept '[\t][/][*][ ]get[ ]reference[ ]of[ ]pdev[ ]for[ ]request_firmware[ ][*][/]' drivers/misc/ti-st/st_kim.c + accept '[ ][*][ ]@path:[ ]the[ ]path[ ]of[ ]the[ ]firmware[ ]file[ ]to[ ]use[ ]via[ ]request_firmware' drivers/net/ethernet/intel/ice/ice_devlink.c + blobname 'mellanox[/]mlxsw_spectrum3-\(["][ ]__stringify[(]MLXSW_SP3_FWREV_[^)]*[)][ \\\n\t]*["]\.\)*mfa2' drivers/net/ethernet/mellanox/mlxsw/spectrum.c + blobname 'rtl_nic[/]rtl8125b-2\.fw' drivers/net/ethernet/realtek/r8169_main.c + defsnc 'static[ ]const[ ]u8[ ]rtl88\(12\|21\)ae_delta_swing_table_idx_5g[ba]_[np]\[\]\[DEL_SW_IDX_SZ\][ ]=' drivers/net/wireless/realtek/rtlwifi/rtl8821ae/dm.c + defsnc 'static[ ]const[ ]u32[ ]rtw8821c_txscale_tbl\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8821c.c + defsnc 'static[ ]const[ ]u8[ ]rtw8821c_pwrtrk_5g[ba]_[np]\[\]\[RTW_PWR_TRK_TBL_SZ\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8821c.c + blobname 'rtw88[/]rtw8821c_fw\.bin' drivers/net/wireless/realtek/rtw88/rtw8821c.c + defsnc 'static[ ]const[ ]u32[ ]rtw8821c_\(mac\|agc\|bb\|rf_a\)\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8821c_table.c + defsnc 'static[ ]const[ ]struct[ ]rtw_phy_pg_cfg_pair[ ]rtw8821c_bb_pg_type0\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8821c_table.c + defsnc 'static[ ]const[ ]struct[ ]rtw_txpwr_lmt_cfg_pair[ ]rtw8821c_txpwr_lmt_type0\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8821c_table.c + defsnc 'static[ ]const[ ]struct[ ]xpsgtr_ssc[ ]ssc_lookup\[\][ ]=' drivers/phy/xilinx/phy-zynqmp.c + accept '[\t]*dev_err[(]dev[,][ ]["]request_firmware[ ]failed' drivers/remoteproc/remoteproc_core.c + defsnc 'const[ ]unsigned[ ]char[ ]\(IDX_ACTIVATE_\(READ\|WRITE\)\|\(CM\|ULP\)_\(ENABLE\|SETUP\)\|DM_ACT\|IPA_PDU_HEADER\)\[\][ ]=' drivers/s390/net/qeth_core_mpc.c + defsnc '[\t]static[ ]const[ ]u8[ ]sbox_table\[256\][ ]=' drivers/staging/rtl8723bs/core/rtw_security.c + defsnc '[\t]static[ ]const[ ]u8[ ]rx_hash_toeplitz_key\[\][ ]=' drivers/vdpa/mlx5/net/mlx5_vnet.c + defsnc 'static[ ]struct[ ]test_bitmap_cut[ ]test_cut\[\][ ]=' lib/test_bitmap.c + defsnc 'static[ ]__maybe_unused[ ]const[ ]a3d_Hrtf_t[ ]A3dHrir\(Impulse\|Ones\|SatTest\|DImpulse\)[ ]=' sound/pci/au88x0/au88x0_a3ddata.c + defsnc 'static[ ]__maybe_unused[ ]xtalk_dline_t[ ]const[ ]alXtalkDlineTest[ ]=' sound/pci/au88x0/au88x0_xtalk.c + accept '[\t]const[ ]char[ ][*]pathname[ ]=[ ]["][/]var[/]run[/]isst_cpu_topology\.dat["]' tools/power/x86/intel-speed-select/isst-config.c + # The firmware file name is supplied by the user. + accept '[\t]err[ ]=[ ]request_firmware_direct[(][&]fw[,][ ]file_name[,][\n\t ]*[&]priv->hwdev->hwif->pdev->dev[)]' drivers/net/ethernet/huawei/hinic/hinic_devlink.c + accept '[\t]err[ ]=[ ]ice_check_for_pending_update[(]pf[,][ ]component[,][ ]extack[)][;][\n][\t]if[ ][(]err[)][\n][\t][\t]return[ ]err[;][\n][\n][\t]err[ ]=[ ]request_firmware[(][&]fw[,][ ]path[,][ ]dev[)]' drivers/net/ethernet/intel/ice/ice_devlink.c + blobname 'atmel[/]wilc1000_wifi_firmware-\([0-9]\+\.bin\)\?' drivers/net/wireless/microchip/wilc1000/netdev.c + # We massage the file with undefine_macro before clean_blob. + blobname '[/][*][(]DEBLOBBED[)][*][/]["][ ][#]api[ ]["]\.bin' drivers/net/wireless/microchip/wilc1000/netdev.c + defsnc '[\t]static[ ]const[ ]struct[ ]ephy_info[ ]e_info_8125a_[12]\[\][ ]=' drivers/net/ethernet/realtek/r8169_main.c + + # New in 5.9 final. + blobname 'gsl1680-mpman-converter9.fw' drivers/platform/x86/touchscreen_dmi.c + defsc 'static[ ]struct[ ]font_data[ ]fontdata_ter16x32[ ]=' lib/fonts/font_ter16x32.c + + # New in 5.9.2 and 5.8.17. + accept '[\t][\t]\.driver_data[ ]=[ ]["]sof-[^" ;]*\.tplg["]' sound/soc/sof/sof-pci-dev.c + + # New in 5.9.7 and 5.4.76. + defsc 'static[ ]const[ ]struct[ ]font_data[ ]fontdata_ter16x32[ ]=' lib/fonts/font_ter16x32.c + + # New in 5.9.9. + defsnc 'static[ ]const[ ]struct[ ]msm_gpio_wakeirq_map[ ]sm8250_pdc_map\[\][ ]=' drivers/pinctrl/qcom/pinctrl-sm8250.c + + # New in 5.10-rc. + defsc '\([/][*]\)\?static[ ]unsigned[ ]int[ ]\(No\)\?DbiPrbs7\[\][ ]=' drivers/gpu/drm/amd/pm/inc/smu_11_0_cdr_table.h + defsnc 'static[ ]const[ ]struct[ ]phy_settings[ ]vc5_hdmi_phy_settings\[\][ ]=' drivers/gpu/drm/vc4/vc4_hdmi_phy.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]ad9434_scale_table\[\]\[2\][ ]=' drivers/iio/adc/ad9467.c + defsc 'static[ ]const[ ]struct[ ]reg_default[ ]lp50\(24\|36\)_reg_defs\[\][ ]=' drivers/leds/leds-lp50xx.c + defsc 'static[ ]const[ ]struct[ ]SMap[I2 ]\?[ ]m_\(RF_Cal\|\(Main\|Cal\)_PLL\|GainTaper\|RF_Cal_DC_Over_DT\|CID_Target\)_Map\[\][ ]=' drivers/media/dvb-frontends/tda18271c2dd_maps.h + defsnc 'static[ ]const[ ]struct[ ]ov8856_reg[ ]mode_\(3264x2448\|1632x1224\)_regs\[\][ ]=' drivers/media/i2c/ov8856.c + defsc 'static[ ]const[ ]u32[ ]CRC_LUT\[256\][ ]=' drivers/media/test-drivers/vidtv/vidtv_psi.c + defsc 'static[ ]const[ ]u8[ ]reverse\[256\][ ]=' drivers/media/test-drivers/vidtv/vidtv_s302m.c + defsnc 'static[ ]const[ ]u8[ ]r8a779\(6\(5\|_es13\)\|90\)_calib_table\[2\]\[SDHI_CALIB_TABLE_MAX\][ ]=' drivers/mmc/host/renesas_sdhi_core.c + defsnc 'static[ ]const[ ]u16[ ]mcp251xfd_crc16_table\[\][ ]=' drivers/net/can/spi/mcp251xfd/mcp251xfd-crc16.c + defsnc 'static[ ]const[ ]u32[ ]ice_ipv[46]_\(ofos\|il\)_no_l4\[\][ ]=' drivers/net/ethernet/intel/ice/ice_flow.c + defsc 'static[ ]const[ ]struct[ ]ath10k_mem_section[ ]qca6174_hw30_sdio_register_sections\[\][ ]=' drivers/net/wireless/ath/ath10k/coredump.c + accept 'const[ ]struct[ ]firmware[ ][*]ath11k_core_firmware_request[(]' drivers/net/wireless/ath/ath11k/'core\.[ch]' + accept '[\t]*\(bd->fw\|fw_entry\|fw\)[ ]=[ ]ath11k_core_firmware_request[(]' drivers/net/wireless/ath/ath11k/qmi.c + blobname '\(amss\|m3\)\.bin' drivers/net/wireless/ath/ath11k/hw.h + blobname 'gsl1680-irbis-tw118\.fw' drivers/net/wireless/intel/iwlwifi/fw/pnvm.c + blobname 'gsl3680-predia-basic\.fw' drivers/net/wireless/intel/iwlwifi/fw/pnvm.c + accept '[\t]s->data_sz[ ][=][ ][0-9]*[;][\n][\t]s->data[ ]=[ ][(]void[ ][*][)]["]\([\\]\([0-7][0-7]*\|x[0-9a-f][0-9a-f]\|[\n]\)\)*["][;]' kernel/bpf/preload/iterators/iterators.skel.h + accept '[ ][*][ ]@file_offset:[ ]file[ ]offset[ ]to[ ]request[ ]when[ ]calling[ ]request_firmware_into_buf' lib/test_firmware.c + accept '[ ][*][ ]@partial:[ ]partial[ ]read[ ]opt[ ]when[ ]calling[ ]request_firmware_into_buf' lib/test_firmware.c + accept '[\t]*req->rc[ ]=[ ]request_\(partial_\|\)firmware_into_buf[\n][\t]*[(][&]req->fw[,][\n][\t]*[ ]req->name' lib/test_firmware.c + blobname 'qcom[/]sc7180-trogdor[/]modem[/]\(mba\|qdsp6sw\)\.mbn' arch/arm64/boot/dts/qcom/sc7180-trogdor-lte-sku.dtsi + blobname 'qcom[/]sc7180-trogdor[/]modem-nolte[/]\(mba\|qdsp6sw\)\.mbn' arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi + blobname 'qcom[/]sdm845[/][ac]dsp\.mdt' arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts + blobname 'qcom[/]sdm845[/]mba\.mbn' arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts + blobname 'qcom[/]sdm845[/]modem\.mdt' arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts + accept '[ ][*][ ]request_partial_firmware_into_buf[(][)][ ]-[ ]load' drivers/base/firmware_loader/main.c + accept '[ ][*][ ]This[ ]function[ ]works[ ]pretty[ ]much[ ]like[ ]request_firmware_into_buf[ ]except' drivers/base/firmware_loader/main.c + accept 'request_partial_firmware_into_buf[(]const[ ]struct[ ]firmware' drivers/base/firmware_loader/main.c + accept 'EXPORT_SYMBOL[(]request_partial_firmware_into_buf[)]' drivers/base/firmware_loader/main.c + accept '\(static[ ]inline[ ]\)\?int[ ]request_partial_firmware_into_buf\([(]const[ ]struct[ ]firmware\|[\n]\)' include/linux/firmware.h + accept '[\t]retval0[ ]=[ ]report_missing_free_firmware[^\n]*[\n][\t]retval[ ]=[ ]request_partial_firmware_into_buf[(][&]xfw[,][ ]NONFREE_FIRMWARE' include/linux/firmware.h + accept '[\t]if[ ][(]is_nonfree_firmware[^\n]*[\n][\t][\t]return[ ]reject_partial_firmware_into_buf[^\n]*[\n][\t]else[\n][\t][\t]return[ ]request_partial_firmware_into_buf[(]firmware_p[,][ ]name[,]' include/linux/firmware.h + accept 'test_request_partial_firmware_into_buf\(_nofile\)\?\([(][)]\|[ ][0-9]\)' tools/testing/selftests/firmware/fw_filesystem.sh + accept '[\t]echo[ ]-n[ ]["]Test[ ]request_partial_firmware_into_buf[(][)]' tools/testing/selftests/firmware/fw_filesystem.sh + blobname 'amdgpu[/]green_sardine_vcn\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c + blobname 'amdgpu[/]green_sardine_dmcub\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_dm.c + blobname 'cadence[/]mhdp8546\.bin' drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.h + blobname 'i915[/]rkl_dmc_ver2_02\.bin' drivers/gpu/drm/i915/display/intel_csr.c + blobname 'i915[/]tgl_dmc_ver2_08\.bin' drivers/gpu/drm/i915/intel_csr.c + blobname 'mrvl[/]prestera[/]mvsw_prestera_fw-v%u\.%u\.img' drivers/net/ethernet/marvell/prestera/prestera_pci.c + # The firmware file name is supplied by the user. + accept '[\t]err[ ]=[ ]request_firmware_direct[(][&]fw[,][ ]params->file_name' drivers/net/ethernet/huawei/hinic/hinic_devlink.c + accept '[\t]err[ ]=[ ]request_firmware[(][&]fw[,][ ]params->file_name[,][ ]dev[)]' drivers/net/ethernet/intel/ice/ice_devlink.c + accept '[\t]err[ ]=[ ]request_firmware_direct[(][&]fw[,][ ]params->file_name' drivers/net/ethernet/mellanox/mlx5/core/devlink.c + accept '[\t]err[ ]=[ ]request_firmware[(][&]fw[,][ ]fw_name[,][ ]ionic->dev[)]' drivers/net/ethernet/pensando/ionic/ionic_fw.c + accept '[\t]err[ ]=[ ]request_firmware_direct[(][&]firmware[,][ ]params->file_name' drivers/net/ethernet/mellanox/mlxsw/spectrum.c + blobname 'intel[/]ibt-%u-%u-%u\.sfi' drivers/bluetooth/hci_intel.c + blobname '[^ ]*[:][/][/][^ ]*linux-can[/]can-firmware' drivers/net/can/softing/Kconfig + blobna 'which[ ]you[ ]can[ ]get[ ]at[\n][ ][ ][ ]http[^\n]*[/]linux-can[/][\n][^-]*firmware[ ]version[^\n]*' drivers/net/can/softing/Kconfig + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]ca0113_mmio_init_\(address\|data\)_ae5\[\][ ]=' sound/pci/hda/patch_ca0132.c + blobname 'qcom[/]LENOVO[/]81F1[/]qcdsp\(1v\)\?28998.mbn' arch/arm64/boot/dts/qcom/msm8998-lenovo-miix-630.dts + blobname 'qcom[/]sdm845[/]a630_zap\.mbn' arch/arm64/boot/dts/qcom/'sdm845-\(db845c\|mtp\|xiaomi-beryllium\)\.dts' + blobname 'qcom[/]LENOVO[/]81JL[/]qc\([ac]dsp\|dsp\(1v\)\?2\)850\.mbn' arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts + blobname 'qcom[/]LENOVO[/]81JL[/]qcdxkmsuc850\.mbn' 'Documentation/devicetree/bindings/display/msm/gpu.txt\|arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts' + blobname 'qcom[/]sm8250[/]\([ac]dsp\|slpi\).mbn' arch/arm64/boot/dts/qcom/sm8250-mtp.dts + ;; */*freedo*.patch | */*logo*.patch) @@ -5442,6 +6106,36 @@ set_except () { blobname 'blobeol[^\n]*[\n]' ;; esac + + # Non-specific patterns come after the patch-specific ones so that, + # when using non-NDA left-to-right regexps (python, perl), the + # patterns above can override matches of those below. + + blob "$blobseq" + # We leave out the initial and final letters of request_firmware so + # that deblobbing turns them into r/*DEBLOBBED*/e, a syntax error. + blobna 'equest_firmwar' + blobna 'equest_partial_firmwar' + blobna 'equest_ihex_firmwar' + blobna 'irmware_reques' # catch _nowarn; also caches _cache, but that's ok. + # Catch request_firmare misdeblobbed by the above. + blobname 'r[/][*][(]DEBLOBBED[)][*][/]e' + blobname 'f[/][*][(]DEBLOBBED[)][*][/]t' + blobna '[Uu]p\(date\|grade\)[^\n]*[Mm]icrocode' + blobna 'MODULE_FIRMWARE[ ]*[(][^\n;]*[)][ ]*[;]\([ \n]*MODULE_FIRMWARE[ ]*[(][^\n;]*[)][ ]*[;]\)*' + 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\|itb\|cyacd\|mbn\|tlv\|sfi\)[\\]\?["]' + # WIP ends with [\\]\?[][}{)(><,;:.!?% \t\n"`\'"'"']' + # Catch misdeblobbed fw extension. + blobname '["]\([^" \t\n/]*[/][/]*\)*[*][(]DEBLOBBED[)][*][/][^"\\]' + # Ideally we'd whitelist URLs that don't recommend non-Free + # Software, but there are just too many URLs in Linux, and most are + # fine, so we just blacklist when we find undesirable URLs. + # Please report if you find any inappropriate URL in Linux-libre + # deblobbed documentation, sources or run-time log messages. + # blobna '\(f\|ht\)tp:[/]\([/]\+[^/ \n ]\+\)\+' } # Regular expression that matches a literal constant. @@ -5482,7 +6176,7 @@ asmcomment="\\($comment\\|[;#][^\\n]*[\\n]\\)" # Regular expression that matches a braced initializer containing at # least one blob. -initblob="[^\\n=]*=\\([ \\n\\\\]\\|$comment\\)*[{]\\([^;]\\|$comment\\)*$blobseq\\([^;]\\|$comment\\)*[}]\\?\\([ \\n\\\\]*\\|$comment\\)[;]\\?" +initblob="[^\\n=]*=\\([ \\n\\\\]\\|$comment\\)*[{]\\([^;/]\\|[/][^/*]\\|$comment\\)*$blobseq\\([^;/]\\|[/][^/*]\\|$comment\\)*[}]\\?\\([ \\n\\\\]*\\|$comment\\)[;]\\?" # Regular expression that matches a C (possibly multi-line) #define # that contains a blob. @@ -5490,7 +6184,7 @@ defineblob='[ ]*#[ ]*define[ ][^\n]*\([\\][\n][^\n]*\)*'"$blobseq"'\([^\n]*\\ # Regular expression that matches an assembly label followed by a blob # without any intervening label. -asmblob="[a-zA-Z_.][^\\n:;#/ ]*:\\([^:{}]\\|$asmcomment\\)*$blobseq\\([^:]*\\|$asmcomment\\)*" +asmblob="[a-zA-Z_.][^\\n:;#/ ]*:\\([^:{}/]\\|[/][^/*]\\|$asmcomment\\)*$blobseq\\([^:]*\\|$asmcomment\\)*" # Set up the sed script that will go through the (processed) input, # looking for sequences of blobs and printing whatever was requested. @@ -6171,7 +6865,7 @@ s,^\\(.*\\)\$,falsepos = r'(?P\\1)',;\ s,^\\(.*\\)\$,blob = r'(?P\\1)',;\ "' p;}' >> "$scriptname" - echo "\\($initblob\\|$defineblob\\|$asmblob\\)" | + $echo "\\($initblob\\|$defineblob\\|$asmblob\\)" | ${SED-sed} -e "$adjust_rx" \ -e "s,^\\(.*\\)\$,cblob = r'(?P\\1)'," >> "$scriptname" @@ -6377,7 +7071,7 @@ s,^\\(.*\\)\$,\$falsepos = qr'(?\\1)'ms;,;\ s,^\\(.*\\)\$,my \$blob = qr'(?\\1)'ms;,;\ "' p;}' >> "$scriptname" - echo "\\($initblob\\|$defineblob\\|$asmblob\\)" | + $echo "\\($initblob\\|$defineblob\\|$asmblob\\)" | ${SED-sed} -e "$adjust_rx" \ -e "s,^\\(.*\\)\$,my \$cblob = qr'(?\\1)'ms if \$with_context;," >> "$scriptname" @@ -6909,6 +7603,7 @@ BAD regular expression: cat >> $tarwrap <&2; fi && \$echo ";/*begin \$1*/;" && cat && echo &&