GNU Linux-libre 4.4-gnu
[releases.git] / deblob-check
index c6a1f93fc21dc108a2141441811344778306e0ef..a37a369b5ad7fe94727c77bb980ac5df1e666303 100755 (executable)
@@ -1,6 +1,6 @@
 #! /bin/sh
 
-# deblob-check version 2015-06-06
+# deblob-check version 2015-12-22
 # Inspired in gNewSense's find-firmware script.
 # Written by Alexandre Oliva <lxoliva@fsfla.org>
 
@@ -887,11 +887,15 @@ set_except () {
   # that deblobbing turns them into r/*DEBLOBBED*/e, a syntax error.
   blobna 'equest_firmwar'
   blobna 'equest_ihex_firmwar'
+  # Catch request_firmare misdeblobbed by the above.
+  blobname 'r[/][*][(]DEBLOBBED[)][*][/]e' 
   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\)["]'
+  blobname '[.]\(fw\|bin[0-9]*\|hex\|frm\|co[dx]\|dat\|elf\|xlx\|rfb\|ucode\|img\|sbcf\|ctx\(prog\|vals\)\|z77\|wfw\|inp\|dlmem\|cld\)[\\]\?["]'
+  # 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.
@@ -1041,7 +1045,7 @@ set_except () {
 
     # new in 2.6.26
     initnc 'static[ ]u64[ ]vec2off\[68\][ ]=' arch/ia64/kvm/process.c
-    initnc "[  ][      ][      ]interrupts[ ]=[ ]<\\(0x\\)\\?3[ ]\\(0x\\)\\?0[ ]\\(0x\\)\\?0[ ][ ]$blobpat*>[;]" 'arch/powerpc/boot/dts/\(cm5200\|lite5200b\?\|kuroboxHG\|pcm030\|tqm5200\).dts'
+    accept "[  ][      ][      ]interrupts[ ]=[ ]<\\(0x\\)\\?3[ ]\\(0x\\)\\?0[ ]\\(0x\\)\\?0[ ][ ]$blobpat*>[;]" 'arch/powerpc/boot/dts/\(cm5200\|lite5200b\?\|kuroboxHG\|pcm030\|tqm5200\).dts'
     initnc 'static[ ]const[ ]u32[ ]crctab32\[\][ ]=' arch/x86/boot/tools/build.c
     defsnc 'static[ ]struct[ ]mse2snr_tab[ ]\(vsb\|qam\(64\|256\)\)_mse2snr_tab\[\][ ]=' drivers/media/dvb/frontends/au8522.c
     defsnc '[}][ ]\(VSB\|QAM\(64\|256\)\?\)_mod_tab\[\][ ]=' 'drivers/media/dvb/frontends/au8522\(_dig\)\?\.c'
@@ -1216,7 +1220,7 @@ set_except () {
     blob '\(#ifdef[ ]__\(LITTLE\|BIG\)_ENDIAN[\n]\)\?#define[ ]FW_EXT[ ]["]\(_ecd\)\?\.bin2\?["]\([\n]#else[\n]#define[ ]FW_EXT[ ]["]\(_ecd\)\?\.bin2\?["]\)*\([\n]#endif\)\?' drivers/atm/fore200e.c
     blobna 'sprintf[(][^;]*fore200[^;]*FW_EXT[^;]*[)][;]' drivers/atm/fore200e.c
     blobname '\(pc\|sb\)a200e\(_ecd\)\?\.bin[12]\?' drivers/atm/fore200e.c
-    blobna 'The[ ]supplied[ ]firmware[ ]images.*http:[/][/][^\n]*\(fore\|FORE_Systems\).*Rebuild[ ]and[ ]re-install[^.]*\.' Documentation/networking/fore200e.txt
+    blobna 'The[ ]supplied[ ]firmware[ ]images.*https\?:[/][/][^\n]*\(fore\|FORE_Systems\).*Rebuild[ ]and[ ]re-install[^.]*\.' Documentation/networking/fore200e.txt
 
     blobname 'intelliport2\.bin' drivers/char/ip2/ip2main.c
 
@@ -2242,7 +2246,7 @@ set_except () {
     blobname 'mwl8k[/]\(helper\|fmimage\)_\(%u\|[0-9]\+\)\.fw' drivers/net/wireless/mwl8k.c
     blobname '3826\.arm' 'drivers/\(net/wireless/p54/p54spi\|staging/stlc45xx/stlc45xx\)\.c'
     defsnc 'static[ ]unsigned[ ]char[ ]p54spi_eeprom\[\][ ]=' drivers/net/wireless/p54/p54spi_eeprom.h
-    blobname '\(comedi[/]\)\?jr3pci\.idm\(["]\.[\n][ ][*][/]\)\?' drivers/staging/comedi/drivers/jr3_pci.c
+    blobname '\([/ ][*][ ]The[ ]DSP[ ]on[ ]the[ ]board[^"]*["]\)\?\(comedi[/]\)\?jr3pci\.idm\(["]\.[\n][ ][*][/]\)\?' drivers/staging/comedi/drivers/jr3_pci.c
     accept '#define[ ]USBDUX_FIRMWARE[ \t]*["]usbdux_firmware\.bin["]' drivers/staging/comedi/drivers/usbdux.c
     accept 'MODULE_FIRMWARE[(]USBDUX_FIRMWARE[)][;]' drivers/staging/comedi/drivers/usbdux.c
     accept '#define[ ]FIRMWARE[ \t]*["]usbduxfast_firmware\.bin["]' drivers/staging/comedi/drivers/usbduxfast.c
@@ -2913,7 +2917,7 @@ set_except () {
     # Sources for these are in the corresponding .fuc files.
     defsnc 'uint32_t[ ]nvc0_grgpc_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvc0_grgpc.fuc.h
     defsnc 'uint32_t[ ]nvc0_grhub_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvc0_grhub.fuc.h
-    defsnc '[  ][      ][      ]interrupts[ ]=[ ]<\([\n][      ]*0x[ef][0-9a-f][ ]0[ ]0[ ]0\)*>[;]' 'arch/powerpc/boot/dts/p\(2040\|3041\|4080\|5020\)si\.dtsi'
+    accept '[  ][      ][      ]interrupts[ ]=[ ]<\([\n][      ]*0x[ef][0-9a-f][ ]0[ ]0[ ]0\)*>[;]' 'arch/powerpc/boot/dts/p\(2040\|3041\|4080\|5020\)si\.dtsi'
     blobname 'dvb-netup-altera-04\.fw' drivers/media/video/cx23885/cx23885-cards.c
     blobname 'rtl_nic[/]rtl8168e-3\.fw' drivers/net/r8169.c
     defsnc '[  ]static[ ]const[ ]struct[ ]ephy_info[ ]e_info_8168e_1\[\][ ]=' drivers/net/r8169.c
@@ -2994,7 +2998,7 @@ set_except () {
     defsnc 'int[ ]process_sigma_firmware\(_regmap\)\?[(][^)]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*_process_sigma_firmware' sound/soc/codecs/sigmadsp.c
     accept 'EXPORT_SYMBOL[(]process_sigma_firmware_regmap[)]' sound/soc/codecs/sigmadsp.c
     accept 'extern[ ]int[ ]process_sigma_firmware_regmap[(][^)]*[)][;]' sound/soc/codecs/sigmadsp.h
-    defsnc '[  ]interrupts[ ]=[ ]<\([\n][      ]*0x[ef][0-9a-f][ ]0[ ]0[ ]0\)*>[;]' 'arch/powerpc/boot/dts/fsl/\(pq3\|qoriq\)-mpic\.dtsi'
+    accept '[  ]interrupts[ ]=[ ]<\([\n][      ]*0x[ef][0-9a-f][ ]0[ ]0[ ]0\)*>[;]' 'arch/powerpc/boot/dts/fsl/\(pq3\|qoriq\)-mpic\.dtsi'
     # These appear to be identifiers within the device itself,
     # used to get information from it.
     accept '#define[ ]LANCER_\(FW_DUMP\|VPD_[PV]F\)_FILE[      ]*["][/]\(dbg[/]dump\.bin\|vpd[/]ntr_[pv]f\.vpd\)["]' drivers/net/ethernet/emulex/benet/be_cmds.h
@@ -3008,7 +3012,7 @@ set_except () {
     blobname 'dvb-fe-xc5000-1\.6\.114\.fw' drivers/media/common/tuners/xc5000.c
     blobname 'dvb-fe-xc5000c-41\.024\.5\.fw' drivers/media/common/tuners/xc5000.c
     accept '[  ]*nvidia,emc-registers[ ]=[ ]<[ ]\(0[   \n]*\)*>' Documentation/devicetree/bindings/arm/tegra/emc.txt
-    defsnc '[  ]*interrupts[ ]=[ ]<[ ]\(0[ ]1[345][0-9][ ]0x04[        \n]*\)*>[;]' Documentation/devicetree/bindings/dma/tegra20-apbdma.txt
+    accept '[  ]*interrupts[ ]=[ ]<[ ]\(0[ ]1[345][0-9][ ]0x04[        \n]*\)*>[;]' Documentation/devicetree/bindings/dma/tegra20-apbdma.txt
     accept '[  ]*nvidia,emc-registers[ ]=[ ]<[ ]\(0x[0-9a-f]*[         \n]*\)*>' arch/arm/boot/dts/tegra-seaboard.dts
     accept '[  ]*interrupts[ ]=[ ]<[ ]\(0[ ]1[0-4][0-9][ ]0x04[        \n]*\)*>[;]' 'arch/arm/boot/dts/tegra[23]0\.dtsi'
     defsnc 'static[ ]struct[ ]clk_pll_freq_table[ ]tegra_pll_[cu]_freq_table\[\][ ]=' arch/arm/mach-tegra/tegra30_clocks.c
@@ -3485,7 +3489,7 @@ set_except () {
     blobname 'ct2\?fw-3\.2\.1\.1\.bin' drivers/net/ethernet/brocade/bna/cna.h
     blobname 'c[bt]2\?fw-3\.2\.1\.1\.bin' drivers/scsi/bfa/bfad.c
     blobname '84xx_fw\.bin' drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
-    defsnc '[  ]interrupts[ ]=[ ]<\([\n][      ]*0x\([ef]\|1[01]\)[0-9a-f][ ]0[ ]0[ ]0\)*>[;]' arch/powerpc/boot/dts/fsl/qoriq-mpic4\.3\.dtsi
+    accept '[  ]interrupts[ ]=[ ]<\([\n][      ]*0x\([ef]\|1[01]\)[0-9a-f][ ]0[ ]0[ ]0\)*>[;]' arch/powerpc/boot/dts/fsl/qoriq-mpic4\.3\.dtsi
     defsnc '__visible[ ]const[ ]u64[ ]camellia_sp\(10011110\|22000222\|03303033\|00444404\|02220222\|30333033\|44044404\|11101110\)\[256\][ ]=' arch/x86/crypto/camellia_glue.c
     defsnc '__visible[ ]const[ ]u32[ ]crypto_[fi][tl]_tab\[4\]\[256\][ ]=' crypto/aes_generic.c
     defsnc '__visible[ ]const[ ]u32[ ]cast_s[1234]\[256\][ ]=' crypto/cast_common.c
@@ -4132,9 +4136,10 @@ set_except () {
     blobname 'rtl_bt[/]rtl8821a_fw\.bin' drivers/bluetooth/btusb.c
     blobname 'rtl_bt[/]rtl8761a_fw\.bin' drivers/bluetooth/btusb.c
     blobname 'brcm[/]\(%s\(-%4\.4x-%4\.4x\)\?[^ "\n]*\)\.hcd' drivers/bluetooth/btbcm.c
+    blobname 'cxgb4[/]aq1202_fw\.cld' drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
     accept 'static[ ]int[ ]set_flash[(]struct[ ]net_device[ ][*]netdev[,][ ]struct[ ]ethtool_flash[ ][*]ef[)][\n][{]\([\n]\+[^\n}][^\n]*\)*ret[ ]=[ ]request_firmware[(][&]fw[,][ ]ef->data[,][ ]adap->pdev_dev[)][;]\([\n]\+[^\n}][^\n]*\)*[\n]\+[}][\n]' drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
     blobname 'brcm[/]\(%s\|.*\)-\(%04x\|[0-9a-f]*\)-\(%04x\|[0-9a-f]*\)\.hcd' drivers/bluetooth/btusb.c
-    blobname 'qca[/]\(rampatch\|nvram\)_usb_\(%08x\|[0-9a-f]*\)\.bin' drivers/bluetooth/btusb.c
+    blobname 'qca[/]\(rampatch\|nv\(ra\)\?m\)_usb_\(%08x\|[0-9a-f]*\)\.bin' drivers/bluetooth/btusb.c
     blobname 'elants_i2c_\(%04x\|[0-9a-f]*\)\.bin' drivers/input/touchscreen/elants_i2c.c
     blobname 'ct2\?fw-3\.2\.5\.1\.bin' drivers/net/ethernet/brocade/bna/cna.h
     blobname 'brcm[/]brcmfmac43\(4\(30\|55\)\|54\)-sdio\.bin' drivers/net/wireless/brcm80211/brcmfmac/sdio.c
@@ -4142,12 +4147,217 @@ set_except () {
     blobname '%s%c-%s\.ucode' drivers/net/wireless/iwlwifi/iwl-drv.c
     blobname 'intel[/]IntcPP01\.bin' sound/soc/intel/haswell/sst-haswell-ipc.c
     accept '[\t]*rc[ ]=[ ]wil_request_firmware[(]wil[,][ ]WIL_FW2\?_NAME[)][;]' drivers/net/wireless/ath/wil6210/main.c
+    blobname 'nvmData-8000[BC]' drivers/net/wireless/iwlwifi/iwl-8000.c
+
+    # New in 4.2.
+    accept '[\t        ]*interrupts[ ]=[ ]<\([ \n\t]*0x0[ ]0x1[0-9a-f][ ]0x4\)*>[;]' Documentation/devicetree/bindings/remoteproc/wkup_m3_rproc.txt
+    accept '[\t]*bool[ ]["]vmlinu[xz]\.bin["]' arch/mips/Kconfig
+    defsnc 'static[ ]struct[ ]hash_testvec[ ]\(ghash\|poly1305\|crc32\)_tv_template\[\][ ]=' crypto/testmgr.h
+    defsnc 'static[ ]struct[ ]aead_testvec[ ]rfc7539\(esp\)\?_\(enc\|dec\)_tv_template\[\][ ]=' crypto/testmgr.h
+    defsnc 'static[ ]struct[ ]cipher_testvec[ ]chacha20_enc_tv_template\[\][ ]=' crypto/testmgr.h
+    defsnc 'static[ ]const[ ]struct[ ]iproc_pll_vco_param[ ]mipipll_vco_params\[\][ ]=' drivers/clk/bcm/clk-cygnus.c
+    defsnc 'static[ ]const[ ]struct[ ]clk_div_table[ ]ahb_div_table\[\][ ]=' drivers/clk/clk-stm32f4.c
+    defsnc '[\t]static[ ]u8[ ]padded_hash\[64\][ ]=' drivers/crypto/talitos.c
+    defsnc 'static[ ]const[ ]int[ ]stk3310_it_table\[\]\[2\][ ]=' drivers/iio/light/stk3310.c
+    defsnc 'static[ ]const[ ]u8[ ]drv2665_sine_wave_form\[\][ ]=' drivers/input/misc/drv2665.c
+    defsnc 'static[ ]const[ ]char[ ]ipr_bit\[\][ ]=' drivers/irqchip/irq-renesas-h8300h.c
+    defsnc 'static[ ]const[ ]struct[ ]multiplier[ ]multipliers\[\][ ]=' drivers/media/pci/cobalt/cobalt-cpld.c
+    defsnc 'static[ ]u8[ ]edid\[256\][ ]=' drivers/media/pci/cobalt/cobalt-driver.c
+    defsnc 'static[ ]const[ ]struct[ ]bdisp_filter_[hv]_spec[ ]bdisp_[hv]_spec\[\][ ]=' drivers/media/platform/sti/bdisp/bdisp-filter.h
+    defsnc '[\t]struct[ ]init_command[ ]genius_vcam_live_start_commands\[\][ ]=' drivers/media/usb/gspca/sn9c2028.c
+    defsnc '[\t]static[ ]const[ ]unsigned[ ]int[ ]t6_reg_ranges\[\][ ]=' drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
+    defsnc 'static[ ]const[ ]struct[ ]mt76_reg_pair[ ]bbp_\(common\|chip\)_vals\[\][ ]=' drivers/net/wireless/mediatek/mt7601u/initvals.h
+    defsnc '[\t]static[ ]const[ ]u8[ ]freq_plan\[14\]\[FREQ_PLAN_REGS\][ ]=' drivers/net/wireless/mediatek/mt7601u/phy.c
+    defsnc 'static[ ]const[ ]unsigned[ ]int[ ]\(lcd_vip_gpio\|visbus_dout\)_pins\[\][ ]=' drivers/pinctrl/sirf/pinctrl-atlas7.c
+    defsnc 'static[ ]const[ ]u32[ ]bq24257_vbat_map\[\][ ]=' drivers/power/bq24257_charger.c
+    defsnc 'static[ ]const[ ]int[ ]rt9455_\(voreg\|boost_voltage\)_values\[\][ ]=' drivers/power/rt9455_charger.c
+    defsnc '[\t]write_reg[(]par[,][ ]HX8357D_SETGAMMA[,][\n][\t][\t]' drivers/staging/fbtft/fb_hx8357d.c
+    defsnc '[}][ ]isl29018_scales\[4\]\[4\][ ]=' drivers/staging/iio/light/isl29018.c
+    defsnc 'const[ ]u32[ ]dm_tx_bb_gain\[TxBBGainTableLength\][ ]=' drivers/staging/rtl8192e/rtl8192e/rtl_dm.c
+    defsnc 'const[ ]u8[ ]dm_cck_tx_bb_gain\(_ch14\)\?\[CCKTxBBGainTableLength\]\[8\][ ]=' drivers/staging/rtl8192e/rtl8192e/rtl_dm.c
+    defsnc 'static[ ]const[ ]struct[ ]vesa_mode[ ]vesa_mode_table\[\][ ]=' drivers/staging/sm7xxfb/sm7xxfb.c
+    defsnc 'static[ ]const[ ]struct[ ]modeinit[ ]vgamode\[\][ ]=' drivers/staging/sm7xxfb/sm7xxfb.c
+    defsnc 'static[ ]const[ ]uint8_t[ ]crc7_syndrome_table\[256\][ ]=' drivers/staging/wilc1000/wilc_spi.c
+    defsnc 'static[ ]__s64[ ]__RH_LH_tbl\[128[*]2[+]2\][ ]=' net/ceph/crush/crush_ln_table.h
+    defsnc 'static[ ]__s64[ ]__LL_tbl\[256\][ ]=' net/ceph/crush/crush_ln_table.h
+    defsnc 'static[ ]const[ ]u8[ ]vol_quot_table\[\][ ]=' sound/soc/codecs/sgtl5000.c
+    blobname 'radeon[/]TAHITI_vce\.bin' drivers/gpu/drm/radeon/radeon_vce.c
+    blobname 'elan_i2c_["][ ]ETP_PRODUCT_ID_FORMAT_STRING[ ]["]\.bin' drivers/input/mouse/elan_i2c.h
+    # Is this too broad?
+    blobname '%s%s%s_%s%s' drivers/net/ethernet/cavium/liquidio/libquidio_main.c
+    accept '#define[ ]LIO_FW_NAME_SUFFIX[\t ]*["]\.bin["]' drivers/net/ethernet/cavium/liquidio/liquidio_image.h
+    blobname 'cxgb4[/]\(t6fw\|bcm8483\)\.bin' drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
+    blobname 'board-%s-%s\.bin' drivers/net/wireless/ath/ath10k/core.c
+    accept '[\t][/][*][ ]Don.t[ ]trust[ ]error[ ]code[ ]from[ ]otp\.bin[ ][*][/]' drivers/net/wireless/ath/ath10k/core.h
+    blobname 'firmware-5\.bin' drivers/net/wireless/ath/ath10k/hw.h
+    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.
+    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
+    blobname 'amdgpu[/]\(tonga\|carrizo\)_uvd\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
+    blobname 'radeon[/]\(bonaire\|kabini\|kaveri\|hawaii\|mullins\)_vce\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c
+    blobname 'amdgpu[/]\(tonga\|carrizo\)_vce\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c
+    blobname 'radeon[/]\(bonaire\|hawaii\|%s\)_smc\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.c
+    blobname 'radeon[/]\(bonaire\|kabini\|kaveri\|hawaii\|mullins\|%s\)_sdma1\?\.bin' drivers/gpu/drm/amd/amdgpu/cik_sdma.c
+    accept '[\t][/][*][ ]request_firmware[ ][*][/]' drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.h
+    blobname 'amdgpu[/]\(bonaire\|kabini\|kaveri\|hawaii\|mullins\|%s\)_\(pfp\|me\|ce\|rlc\|mec2\?\|mc\)\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
+    blobname 'amdgpu[/]\(tonga\|topaz\|%s\)_mc\.bin' drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c
+    blobname 'amdgpu[/]topaz_smc\.bin' drivers/gpu/drm/amd/amdgpu/iceland_dpm.c
+    blobname 'amdgpu[/]\(topaz\|%s\)_sdma1\?\.bin' drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
+    blobname 'amdgpu[/]\(tonga\|carrizo\|%s\)_sdma1\?\.bin' drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
+    blobname 'amdgpu[/]tonga_smc\.bin' drivers/gpu/drm/amd/amdgpu/tonga_dpm.c
+    blobname 'i915[/]skl_dmc_ver1\.bin' drivers/gpu/drm/i915/intel_csr.c
+    blobname 'wdt87xx_\(fw\|cfg\)\.bin' drivers/input/touchscreen/wdt87xx_i2c.c
+    blobname 'dvb-fe-cx24120-1\.20\.58\.2\.fw' drivers/media/dvb-frontends/cx24120.c
+    # FIXME: LIO_... drivers/net/ethernet/cavium/liquidio/lio_main.c
+    blobname 'mt7601u\.bin' drivers/net/wireless/media/tek/mt7601u/usb.h
+    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
+
+    # New in 4.2.1 and 4.1.8.
+    defsnc '[}][ ]common_modes\[\][ ]=' drivers/gpu/drm/qxl/qxl_display.c
+
+    # New in 4.3.
+    accept '[\t]*operating-points[ ]=[ ]<[\n\t 0-9]*>[;]' arch/arm/boot/dts/exynos5250.dtsi
+    defsnc 'static[ ]struct[ ]aead_testvec[ ]aes_ccm_rfc4309_\(enc\|dec\)_tv_template\[\][ \t]=' crypt/testmgr.h
+    defsnc 'static[ ]const[ ]u8[ ]const_tab\[1024\][ ]=' drivers/crypt/qat/qat_common/adf_admin.c
+    defsnc '[\t]static[ ]const[ ]int[ ]even_dividers\[\][ ]=' drivers/gpu/drm/i915/intel_ddi.c
+    defsnc 'static[ ]const[ ]struct[ ]bxt_clk_div[ ]bxt_dp_clk_val\[\][ ]=' drivers/gpu/drm/i915/intel_ddi.c
+    defsnc 'uint32_t[ ]gf100_ce_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/ce/fuc/gf100.fuc3.h
+    defsnc 'uint32_t[ ]gt215_ce_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/ce/fuc/gf215.fuc3.h
+    defsnc 'gf119_disp_\(base\|core\|ovly\)_mthd_\(base\|head\)[ ]=' drivers/gpu/drm/nouveau/nvkm/engine/disp/basegf119.c
+    defsnc 'uint32_t[ ]g98_sec_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/ce/fuc/gf98.fuc0s.h
+    defsnc 'uint32_t[ ]gf119_pmu_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/ce/fuc/gf119.fuc4.h
+    defsnc '[\t]static[ ]const[ ]u16[ ]\(display_mode\|gamma\)_settings\[\][ ]=' drivers/gpu/drm/panel/panel-lg-lg4573.c
+    defsnc 'static[ ]const[ ]struct[ ]cxd2841er_cnr_data[ ]s2\?_cn_data\[\][ ]=' drivers/media/dvb-frontends/cxd2841er.c
+    defsnc 'static[ ]const[ ]struct[ ]dvb_pll_desc[ ]dvb_pll_\(unknown_1\|opera1\|samsung_dtos403ih102a\)[ ]=' drivers/media/dvb-frontends/dvb-pll.c
+    defsnc 'static[ ]const[ ]u8[ ]zigzag\[\][ ]=' drivers/media/platform/rcar_jpu.c
+    defsnc 'static[ ]const[ ]unsigned[ ]int[ ]qtbl_\(lum\|chr\)\[JPU_MAX_QUALITY\]\[QTBL_SIZE\][ ]=' drivers/media/platform/rcar_jpu.c
+    defsnc 'static[ ]const[ ]unsigned[ ]int[ ]hactbl_\(lum\|chr\)\[HACTBL_SIZE\][ ]=' drivers/media/platform/rcar_jpu.c
+    defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]wm5102_rev[ab]_patch\[\][ ]=' drivers/mfd/wm5102-tables.c
+    defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]wm5110_rev[abd]_patch\[\][ ]=' drivers/mfd/wm5110-tables.c
+    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8998_rev_a_patch\[\][ ]=' drivers/mfd/wm8998-tables.c
+    defsnc 'static[ ]struct[ ]nand_ecclayout[ ]hwecc4_4096[ ]=' drivers/mtd/nand/davinci_nand.c
+    defsnc 'static[ ]const[ ]unsigned[ ]adinter_\(pins\|muxvals\)\[\][ ]=' drivers/pinctrl/uniphier/pinctrl-ph1-ld6b.c
+    defsnc '[\t]write_csr[(]dd[,][ ]DCC_CFG_SC_VL_TABLE_\(15_0\|31_16\)' drivers/staging/rdma/hfi1/chip.c
+    defsnc '\(static[ ]\)\?const[ ]u8[ ]pcie_\(serdes\|pcs\)_addrs\[2\]\[NUM_PCIE_SERDES\][ ]=' drivers/staging/rdma/hfi1/firmware.c
+    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]ak4643_reg\[\][ ]=' sound/soc/codecs/ak4642.c
+    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]da7210_reg_defaults\[\][ ]=' sound/soc/codecs/da7210.c
+    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]da9055_reg_defaults\[\][ ]=' sound/soc/codecs/da9055.c
+    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]isabelle_reg_defs\[\][ ]=' sound/soc/codecs/isabelle.c
+    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]lm49453_reg_defs\[\][ ]=' sound/soc/codecs/lm49453.c
+    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt286_index_def\[\][ ]=' sound/soc/codecs/rt286.c
+    defsnc 'static[ ]\(const[ ]\)\?struct[ ]reg_default[ ]rt298_\(index_def\|reg\)\[\][ ]=' sound/soc/codecs/rt298.c
+    defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]wm2200_reva_patch\[\][ ]=' sound/soc/codecs/wm2200.c
+    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm5110_sysclk_reve_patch\[\][ ]=' sound/soc/codecs/wm5110.c
+    blobname 'qat_mmp\.bin' drivers/crypto/qat/qat_dh895xcc/adf_dh895xcc_hw_data.h
+    blobname 'amdgpu[/]fiji_uvd\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
+    blobname 'amdgpu[/]fiji_vce\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c
+    blobname 'amdgpu[/]fiji_\(ce\|pfp\|me\(c2\?\)\?\|rlc\)\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
+    blobname 'amdgpu[/]fiji_mc\.bin' drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c
+    blobname 'amdgpu[/]fiji_sdma1\?\.bin' drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
+    accept '[  ][      ]*gf100_gr_init_fw[(]gr[,][ ]0x4\(09\|1a\)000[,][ ][&]gr->fuc4\(09\|1a\)c[,][ \n        ]*[&]gr->fuc4\(09\|1a\)d[)][;]' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c
+    accept '[  ][       ]*gf100_gr_dtor_fw[(]&gr->fuc4\(09\|1a\)[cd][)][;]' drivers/gpu/drm/nouveua/nvkm/engine/gr/gf100.c
+    accept '[  ][       ]*\(if[ ][(]\|[ ][ ][ ][ ]\)gf100_gr_ctor_fw[(]gr[,][ ]["]\(fecs\|gpccs\)_\(inst\|data\)["][,][ ][&]gr->fuc4\(09\|1a\)[cd][)]' drivers/gpu/drm/nouveua/nvkm/engine/gr/gf100.c
+    blobname 'nvidia[/]%s[/]%s\.bin' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c
+    accept '[\t]gr->firmware[ ]=[ ]nvkm_boolopt' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c
+    blobname 'mrvl[/]pcie8997_uapsta\.bin' drivers/net/wireless/mwifiex/pcie.h
+    accept 'static[ ]const[ ]struct[ ]mwifiex_pcie_device[ ]mwifiex_pcie8997[ ]=[ ][{][\n][    ]\.firmware[    ]*=' drivers/net/wireless/mwifiex/pcie.h
+    blobname 'mrvl[/]sd8997_uapsta\.bin' drivers/net/wireless/mwifiex/sdio.h
+    blobname 'mrvl[/]usb8997_uapsta\.bin' drivers/net/wireless/mwifiex/usb.h
+    blobname 'intel[/]ibt-11-5\.\(sfi\|ddc\)' drivers/bluetooth/btintel.c
+    blobname 'qca[/]\(rampatch\|nvm\)_%08x\.bin' drivers/bluetooth/btqca.c
+    blobname 'intel[/]ibt-11-%u\.sfi' drivers/bluetooth/hci_intel.c
+    blobname 'amdgpu[/]fiji_smc\.bin' drivers/gpu/drm/adm/amdgpu/fiji_dpm.c
+    blobname 'pti_memdma_h407\.elf' drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c
+    blobname 'sec_s3fwrn5_\(firmware\|rfreg\)\.bin' drivers/nfc/s3fwrn5/core.c
+    blobname 'hfi_dc8051\.bin' drivers/staging/rdma/hfi1/firmware.c
+    blobname 'hfi1_\(dc8051\|fabric\|sbus\|pcie\)\.fw' drivers/staging/rdma/hfi1/firmware.c
+    blobname 'hfi1_platform\.dat' drivers/staging/rdma/hfi1/firmware.c
+    blobname 'dsp_fw_release\.bin' sound/soc/intel/skylake/skl-sst.c
+    accept '[\t]*dev_err[(]fei->dev[,][ ]["]request_firmware_nowait[ ]err:' drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c
+    accept 'static[ ]int[ ]s3fwrn5_fw_request_firmware[(]struct[ ]s3fwrn5_fw_info' drivers/nfc/s3fwrn5/firmware.c
+    accept '[\t]ret[ ]=[ ]s3fwrn5_fw_request_firmware[(]fw_info[)][;]' drivers/nfc/s3fwrn5/firmware.c
+
+    # 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 '[ ][ ][ ][ ]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
+    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
+    defsnc 'static[ ]struct[ ]rtl8xxxu_reg8val[ ]rtl8723a_mac_init_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c
+    defsnc 'static[ ]struct[ ]rtl8xxxu_reg32val[ ]rtl\(\(8723a_phy_1t\|8192cu_phy_2t\)_init\|8188ru_phy_1t_highpa\|8xxx_agc_\(standard\|highpa\)\)_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c
+    defsnc 'static[ ]struct[ ]rtl8xxxu_rfregval[ ]rtl\(\(8723au_radioa_1t\|8192cu_radio[ab]_[12]t\)_init\|8188ru_radioa_1t_highpa\)_table\[\][ ]=' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c
+    defsnc 'static[ ]const[ ]int[ ]base_to_fuse_addr_mappings\[\]\[2\][ ]=' drivers/nvmem/vf610-ocotp.c
+    defsnc 'static[ ]const[ ]u8[ ]crc7_syndrome_table\[256\][ ]=' drivers/staging/wilc1000/wilc_spi.c
+    defsnc 'static[ ]const[ ]struct[ ]tsadc_table[ ]v3_code_table\[\][ ]=' drivers/thermal/rockchip_thermal.c
+    defsnc 'omap3[46]xx_adc_to_temp\[128\][ ]=' drivers/thermal/ti-soc-thermal/omap3-thermal-data.c
+    accept '[\t]*[ ][*][ ]*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' net/6lowpan/iphc.c
+    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]ak4613_reg\[\][ ]=' sound/soc/codecs/ak4613.c
+    accept '[  ]\.helper[      ]*=[ ]NULL[,][\n][      ]*\.firmware' drivers/bluetooth/btmrvl_sdio.c
+    blobname 'amdgpu[/]stoney_uvd\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
+    blobname 'amdgpu[/]stoney_vce\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c
+    blobname 'i915[/]bxt_dmc_ver1\.bin' drivers/gpu/drm/i915/intel_csr.c
+    blobname '\(utf\|board\)\(-2\)\?\.bin' drivers/net/wireless/ath/ath10k/hw.h
+    blobname 'brcm[/]brcmfmac43\(50\|6[56]b\|71\)-pcie\.bin' drivers/net/wireless/brcm80211/brcmfmac/pcie.c
+    accept '[\t]g_linux_wlan->firmware[ ]=' drivers/staging/wilc1000/linux_wlan.c
+    accept '#define[ \t]*FILE_SUFFIX_BINARY_TABLE[\t ]*["]\.dat["]' drivers/acpi/acpica/acapps.h
+    blobname 'i915[/]skl_guc_ver4\.bin' drivers/gpu/drm/i915/intel_guc_loader.c
+    blobname 'bu21023\.bin' drivers/input/touchscreen/rohm_bu21023.c
+    # These are user-supplied.
+    accept '[\t]cdev->firmware[ ]=[ ]kmalloc' drivers/misc/mic/cosm/cosm_sysfs.c
+    accept '[\t]rc[ ]=[ ]request_firmware[(][&]fw[,][ ]mdev->cosm_dev->' drivers/misc/mic/host/mic_x100.c
+    accept '[\t]if[ ][(]bnxt_dir_type_is_executable[^\n]*[\n][\t]*return[ ]-EINVAL[;][\n][\n]*[\t]rc[ ]=[ ]request_firmware[(][&]' drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
+    blobname 'qed[/]qed_init_values_zipped-["][ ]FW_FILE_VERSION[ ]["]\.bin' drivers/net/ethernet/qlogic/qed/qed_main.c
+    accept 'MODULE_FIRMWARE[(]HTC_7010_MODULE_FW[)][;]' drivers/net/wireless/ath/ath9k/hif_usb.c
+    accept 'MODULE_FIRMWARE[(]HTC_9271_MODULE_FW[)][;]' drivers/net/wireless/ath/ath9k/hif_usb.c
+    accept '\(static[ ]int[ ]\|[\t]*ret[ ]=[ ]\)ath9k_hif_request_firmware[(]' drivers/net/wireless/ath/ath9k/hif_usb.c
+    accept '[\t ]*["]%s[/]htc_%s-%d\.%s\.0\.fw["]' drivers/net/wireless/ath/ath9k/hif_usb.c
+    accept '#define[ ]HTC_\(9271\|7010\)_MODULE_FW[ \t]*HTC_FW_PATH[ ]["][/]htc_\(9271\|7010\)-["][ ][\\][\n][ \t]*__stringify[(]MAJOR_VERSION_REQ[)][ ][\\][\n][ \t]*["]\.["][ ]__stringify[(]FIRMWARE_MINOR_IDX_MAX[)][ ]["]\.0\.fw["]' drivers/net/wireless/ath/ath9k/hif_usb.h
+    blobname 'rtlwifi[/]rtl8723aufw_\(A\|B\|B_NoBT\)\.bin' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c
+    blobname 'rtlwifi[/]rtl8192cufw_\(A\|B\|TMSC\)\.bin' drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c
+    blobname '\(otp\|ram\)\.bin' drivers/nfc/fdp/fdp.c
+    accept '\(static[ ]int[ ]\|[\t]r[ ]=[ ]\)fdp_nci_request_firmware[(]' drivers/nfc/fdp/fdp.c
+    accept '[\t][\t]lpfc_sli4_request_firmware_update[(]' drivers/scsi/lpfc/lpfc_init.c
+    blobname 'ks2_qmss_pdsp_acc48\.bin' drivers/soc/ti/knav_qmss_queue.c
+    blobname 'dfw_sst\.bin' sound/soc/intel/skylake/skl-topology.c
+    # This seems to be designed to load a user-supplied fpga
+    # configuration file, but there aren't any callers to this
+    # function in the kernel tree.  Presumably users who program FPGAs
+    # are supposed to write their own drivers and call this function.
+    accept '[\t]ret[ ]=[ ]request_firmware[(][&]fw[,][ ]image_name[,][ ]' drivers/fpga/fpga-mgr.c
+    blobname 'fpga_mgr_firmware_load' drivers/fpga/fpga-mgr.c
+    accept '[\t ]*\(int\|ret[ ]=\)[ ]fpga_mgr_firmware_load[(]' drivers/fpga/fpga-mgr.[ch]
+    accept '[ ][*][ ]fpga_mgr_firmware_load[ ]-' drivers/fpga/fpga-mgr.c
+    accept 'EXPORT_SYMBOL_GPL[(]fpga_mgr_firmware_load[)][;]' drivers/fpga/fpga-mgr.c
+    accept '[\t ]*CHIP_IS_E2[(]bp[)][ ][?][ ]["]everest2["][ ]:[ ]["]everest3["][/][*][(]DEBLOBBED[)][*][/][)][;]' drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
     ;;
 
   */*freedo*.patch | */*logo*.patch)
     accept 'P[13]\([\n]#[^\n]*\)*[\n]*\([\n][0-9 ]*\)\+' drivers/video/logo/logo_libre_clut224.ppm
     ;;
 
+  */patch-4.[12].* | */*drm-qxl-validate-monitors-config-modes.patch)
+    defsnc '[}][ ]common_modes\[\][ ]=' drivers/gpu/drm/qxl/qxl_display.c
+    ;;
+
+  */*firmware-Drop-WARN-from-usermodehelper*.patch)
+    accept '_request_firmware[+]0x'
+    accept '\[<[0-9a-f]*>\][ ]_\?request_firmware[+]'
+    accept '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]_request_firmware[(]const[ ]struct[ ]firmware'
+    ;;
+
   */patch*-3.1[467].*)
     # False positives in patch-3.17.2, 3.16.7, 3.14.23 and newer.
     accept '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]_request_firmware[(]const[ ]struct[ ]firmware' drivers/base/firmware_class.c
@@ -4208,7 +4418,7 @@ set_except () {
     blobname 'radeon[/]HAWAII_\(pfp\|[mc]e\|me\?c\|rlc\|sdma\|smc\)\.bin' drivers/gpu/drm/radeon/cik.c
     blobname 'ti-connectivity[/]wl1251-\(fw\|nvs\)\.bin' 'drivers/net/wireless/wl12\(51\|xx\)/wl1251.h'
     # Matches from earlier releases, for the patch from 3.12.
-    defsnc '[  ]*interrupts[ ]=[ ]<[ ]*\(0[ ]2[012][0-9][ ]4[  \n]*\)*>[;]' Documentation/devicetree/bindings/dma/shdma.txt
+    accept '[  ]*interrupts[ ]=[ ]<[ ]*\(0[ ]2[012][0-9][ ]4[  \n]*\)*>[;]' Documentation/devicetree/bindings/dma/shdma.txt
     accept '[  ]ar->firmware[ ]=[ ]\(NULL\|ath10k_fetch_fw_file\)' drivers/net/wireless/ath/ath10k/core.c
     defsnc 'static[ ]const[ ]u32[ ]ar9485_1_[01]_\(mac\|baseband\)_postamble\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9485_initvals.h
     defsnc 'static[ ]const[ ]u32[ ]ar9485\(M\|_m\)odes_\(high\|low\|green\)\(est\)\?_\(power\|ob_db\)_tx_gain_1_[01]\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9485_initvals.h
@@ -4248,12 +4458,12 @@ set_except () {
     blobname 'ct2\?fw-3\.2\.1\.1\.bin' drivers/net/ethernet/brocade/bna/cna.h
     blobname 'c[bt]2\?fw-3\.2\.1\.1\.bin' drivers/scsi/bfa/bfad.c
     blobname '84xx_fw\.bin' drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
-    defsnc '[  ]interrupts[ ]=[ ]<\([\n][      ]*0x\([ef]\|1[01]\)[0-9a-f][ ]0[ ]0[ ]0\)*>[;]' arch/powerpc/boot/dts/fsl/qoriq-mpic4\.3\.dtsi
+    accept '[  ]interrupts[ ]=[ ]<\([\n][      ]*0x\([ef]\|1[01]\)[0-9a-f][ ]0[ ]0[ ]0\)*>[;]' arch/powerpc/boot/dts/fsl/qoriq-mpic4\.3\.dtsi
     defsnc '__visible[ ]const[ ]u64[ ]camellia_sp\(10011110\|22000222\|03303033\|00444404\|02220222\|30333033\|44044404\|11101110\)\[256\][ ]=' arch/x86/crypto/camellia_glue.c
     defsnc '__visible[ ]const[ ]u32[ ]crypto_[fi][tl]_tab\[4\]\[256\][ ]=' crypto/aes_generic.c
     defsnc '__visible[ ]const[ ]u32[ ]cast_s[1234]\[256\][ ]=' crypto/cast_common.c
-    defsnc '[  ]*interrupts[ ]=[ ]<[ ]*\(0[ ]2[012][0-9][ ]4[  \n]*\)*>[;]' Documentation/devicetree/bindings/dma/shdma.txt
-    defsnc '[  ][      ]interrupts[ ]=[ ]<\([\n][      ]*0x\([ef]\|1[01]\)[0-9a-f][ ]0[ ]0[ ]0\)*>[;]' Documentation/devicetree/bindings/powerpc/fsl/msi-pic.txt
+    accept '[  ]*interrupts[ ]=[ ]<[ ]*\(0[ ]2[012][0-9][ ]4[  \n]*\)*>[;]' Documentation/devicetree/bindings/dma/shdma.txt
+    accept '[  ][      ]interrupts[ ]=[ ]<\([\n][      ]*0x\([ef]\|1[01]\)[0-9a-f][ ]0[ ]0[ ]0\)*>[;]' Documentation/devicetree/bindings/powerpc/fsl/msi-pic.txt
     defsnc 'static[ ]const[ ]int[ ]a370_\(nb\|h\|dram\)clk_ratios\[32\]\[2\][ ]__initconst[ ]=' drivers/clk/mvebu/armada-370.c
     defsnc 'static[ ]const[ ]int[ ]axp_\(nb\|h\|dram\)clk_ratios\[32\]\[2\][ ]__initconst[ ]=' drivers/clk/mvebu/armada-xp.c
     defsnc 'static[ ]const[ ]int[ ]\(dove\|kirkwood\)_cpu_ddr_ratios\[16\]\[2\][ ]__initconst[ ]=' drivers/clk/mvebu/clk-core.c
@@ -5174,9 +5384,9 @@ set_except () {
     accept '[  ]hif_dev->firmware[ ]=[ ]NULL[;]' drivers/net/wireless/ath/ath9k/hif_usb.c
     # New in 3.4.
     accept '[  ]*nvidia,emc-registers[ ]=[ ]<[ ]\(0[   \n]*\)*>' Documentation/devicetree/bindings/arm/tegra/emc.txt
-    defsnc '[  ]*interrupts[ ]=[ ]<[ ]\(0[ ]1[345][0-9][ ]0x04[        \n]*\)*>[;]' Documentation/devicetree/bindings/dma/tegra20-apbdma.txt
+    accept '[  ]*interrupts[ ]=[ ]<[ ]\(0[ ]1[345][0-9][ ]0x04[        \n]*\)*>[;]' Documentation/devicetree/bindings/dma/tegra20-apbdma.txt
     accept '[  ]*nvidia,emc-registers[ ]=[ ]<[ ]\(0x[0-9a-f]*[         \n]*\)*>' arch/arm/boot/dts/tegra-seaboard.dts
-    defsnc '[  ]*interrupts[ ]=[ ]<[ ]\(0[ ]1[0-4][0-9][ ]0x04[        \n]*\)*>[;]' 'arch/arm/boot/dts/tegra[23]0\.dtsi'
+    accept '[  ]*interrupts[ ]=[ ]<[ ]\(0[ ]1[0-4][0-9][ ]0x04[        \n]*\)*>[;]' 'arch/arm/boot/dts/tegra[23]0\.dtsi'
     defsnc 'static[ ]struct[ ]clk_pll_freq_table[ ]tegra_pll_[cu]_freq_table\[\][ ]=' arch/arm/mach-tegra/tegra30_clocks.c
     defsnc '[  ]static[ ]const[ ]u8[ ]snum_init_[74]6\[\][ ]=' arch/powerpc/sysdev/qe_lib/qe.c
     defsnc 'const[ ]u64[ ]camellia_sp\(10011110\|22000222\|03303033\|00444404\|02220222\|30333033\|44044404\|11101110\)\[256\][ ]=' arch/x86/crypto/camellia_glue.c
@@ -5493,7 +5703,7 @@ set_except () {
     # Sources for these are in the corresponding .fuc files.
     defsnc 'uint32_t[ ]nvc0_grgpc_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvc0_grgpc.fuc.h
     defsnc 'uint32_t[ ]nvc0_grhub_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvc0_grhub.fuc.h
-    defsnc '[  ][      ][      ]interrupts[ ]=[ ]<\([\n][      ]*0x[ef][0-9a-f][ ]0[ ]0[ ]0\)*>[;]' 'arch/powerpc/boot/dts/p\(2040\|3041\|4080\|5020\)si\.dtsi'
+    accept '[  ][      ][      ]interrupts[ ]=[ ]<\([\n][      ]*0x[ef][0-9a-f][ ]0[ ]0[ ]0\)*>[;]' 'arch/powerpc/boot/dts/p\(2040\|3041\|4080\|5020\)si\.dtsi'
     blobname 'dvb-netup-altera-04\.fw' drivers/media/video/cx23885/cx23885-cards.c
     blobname 'rtl_nic[/]rtl8168e-3\.fw' drivers/net/r8169.c
     defsnc '[  ]static[ ]const[ ]struct[ ]ephy_info[ ]e_info_8168e_1\[\][ ]=' drivers/net/r8169.c
@@ -5728,7 +5938,7 @@ set_except () {
     initnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?\(static[ ]\)\?const[ ]u32[ ]b43_ntab_framestruct\[\][ ]=\([ ][{][*][/][;]\)\?' drivers/net/wireless/b43/tables_nphy.c
     initnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?int[ ]tones\[2048\][ ]=\([ ][{][*][/][;]\)\?' drivers/staging/easycap/easycap_testcard.c
     initnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]\(yy\)\?const[ ]\(yytype\|flex\)_u\?int\(8\|16\|32\)\(_t\)\?[ ]yy[^\n []*\[[0-9]*\][ ]=\([*][/][;]\)\?' '.*\.tab\.c_shipped'
-    initnc "[  ][      ][      ]interrupts[ ]=[ ]<\\(0x\\)\\?3[ ]\\(0x\\)\\?0[ ]\\(0x\\)\\?0[ ][ ]$blobpat*>[;]" 'arch/powerpc/boot/dts/\(cm5200\|lite5200b\?\|kuroboxHG\|pcm030\|tqm5200\).dts'
+    accept "[  ][      ][      ]interrupts[ ]=[ ]<\\(0x\\)\\?3[ ]\\(0x\\)\\?0[ ]\\(0x\\)\\?0[ ][ ]$blobpat*>[;]" 'arch/powerpc/boot/dts/\(cm5200\|lite5200b\?\|kuroboxHG\|pcm030\|tqm5200\).dts'
     accept '[  ]p7500->firmware[ ]=' drivers/media/dvb/dvb-usb/dw2102.c
     defsnc 'static[ ]\(const[ ]\)\?\(__\)\?u8[ ]\(mt9v111\|sp80708\|hv7131[rd]\|mi0360b\?\|mo4000\|ov76\([36]0\|48\)\|om6802\)_sensor_\(init\|param1\)\[\]\[8\][ ]=' drivers/media/video/gspca/sonixj.c
     initnc '\(uint16_t\|u16\)[ ]e1000_igp_2_cable_length_table\[IGP02E1000_AGC_LENGTH_TABLE_SIZE\][ ]=' drivers/net/e1000/e1000_hw.c # u16 on 2.6.26
@@ -6417,7 +6627,7 @@ set_except () {
 
   */patch*-2.6.26-rc*)
     initnc 'static[ ]u64[ ]vec2off\[68\][ ]=' arch/ia64/kvm/process.c
-    initnc "[  ][      ][      ]interrupts[ ]=[ ]<\\(0x\\)\\?3[ ]\\(0x\\)\\?0[ ]\\(0x\\)\\?0[ ][ ]$blobpat*>[;]" 'arch/powerpc/boot/dts/\(cm5200\|lite5200b\?\|kuroboxHG\|pcm030\|tqm5200\).dts'
+    accept "[  ][      ][      ]interrupts[ ]=[ ]<\\(0x\\)\\?3[ ]\\(0x\\)\\?0[ ]\\(0x\\)\\?0[ ][ ]$blobpat*>[;]" 'arch/powerpc/boot/dts/\(cm5200\|lite5200b\?\|kuroboxHG\|pcm030\|tqm5200\).dts'
     initnc 'static[ ]const[ ]u32[ ]crctab32\[\][ ]=' arch/x86/boot/tools/build.c
     initnc 'static[ ]const[ ]u64[ ]sha512_K\[80\][ ]=' 'crypto/sha512\(_generic\)\?.c'
     initnc 'static[ ]struct[ ]hash_testvec[ ]\(hmac_sha\(224\|256\)\|aes_xcbc128\|crc32c\)_tv_template\[\][ ]=' crypto/tcrypt.h