diff --git a/helpers/DATA/linux/deblob-4.15 b/helpers/DATA/linux/deblob-5.4
similarity index 87%
rename from helpers/DATA/linux/deblob-4.15
rename to helpers/DATA/linux/deblob-5.4
index fa49acb397110ce8eaa133fb4dbd3a9c438b912e..22e293ee036e95ebc9151b4da48b0593f10c2bd9 100644
--- a/helpers/DATA/linux/deblob-4.15
+++ b/helpers/DATA/linux/deblob-5.4
@@ -1,6 +1,6 @@
 #! /bin/sh
 
-#    Copyright (C) 2008-2018 Alexandre Oliva <lxoliva@fsfla.org>
+#    Copyright (C) 2008-2021 Alexandre Oliva <lxoliva@fsfla.org>
 #    Copyright (C) 2008 Jeff Moe
 #    Copyright (C) 2009 Rubén Rodríguez <ruben@gnu.org>
 #
@@ -48,7 +48,7 @@
 
 # For each kver release, start extra with an empty string, then count
 # from 1 if changes are needed that require rebuilding the tarball.
-kver=4.15 extra=
+kver=5.4 extra=
 
 case $1 in
 --force)
@@ -108,6 +108,7 @@ check_changed () {
     rm $1.deblob
     die $1 did not change, something is wrong && return 1
   fi
+  if test -x $1; then chmod +x $1.deblob; else chmod -x $1.deblob; fi
   mv $1.deblob $1
 }
 
@@ -125,44 +126,12 @@ clean_blob () {
     else
       die failed removing blobs from $name
     fi
-    check_changed $name && echo $name: removed blobs
+    check_changed $name && echo $name: removed blobs or mentions thereof
   else
     clean_file $1
   fi
 }
 
-dummy_blob () {
-  #$1 = filename
-  if test -f $1; then
-    die $1 exists, something is wrong && return 0
-  elif test ! -f firmware/Makefile; then
-    die firmware/Makefile does not exist, something is wrong && return 0
-  fi
-
-  clean_sed "s,`echo $1 | sed s,^firmware/,,`,\$(DEBLOBBED),g" \
-    firmware/Makefile "dropped $1"
-}
-
-clean_fw () {
-  #$1 = firmware text input, $2 = firmware output
-  filetest $1 || return 0
-  if test -f $2; then
-    die $2 exists, something is wrong && return 0
-  fi
-  clean_blob $1 -s 4
-  dummy_blob $2
-}
-
-drop_fw_file () {
-  #$1 = firmware text input, $2 = firmware output
-  filetest $1 || return 0
-  if test -f $2; then
-    die $2 exists, something is wrong && return 0
-  fi
-  clean_file $1
-  dummy_blob $2
-}
-
 clean_kconfig () {
   #$1 = filename $2 = things to remove
   case $1 in
@@ -219,6 +188,14 @@ s,\(^\|[^>.0-9a-zA-Z_$]\)request\(_ihex\)\?_firmware\(_nowait\|_direct\|_into_bu
 ' "$1" 'disabled non-Free firmware-loading machinery'
 }
 
+reject_firmware_nowarn () {
+  #$1 = file $2 = pre sed pattern
+  filetest $1 || return 0
+  clean_sed "$2"'
+s,\(^\|[^>.0-9a-zA-Z_$]\)firmware_request_nowarn\($\|[^-.0-9a-zA-Z_$),; ]\),\1firmware_reject_nowarn\2,g
+' "$1" 'disabled silent non-Free firmware-loading machinery'
+}
+
 maybe_reject_firmware () {
   #$1 = file $2 = pre sed pattern
   filetest $1 || return 0
@@ -253,6 +230,12 @@ undefault_firmware () {
 # corresponding sources are present.
 
 for f in \
+\
+    drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx8.asm \
+    drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx9.asm \
+    drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx10.asm \
+  drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h \
+\
     drivers/gpu/drm/nouveau/nvkm/engine/ce/fuc/com.fuc \
     drivers/gpu/drm/nouveau/nvkm/engine/ce/fuc/gf100.fuc3 \
   drivers/gpu/drm/nouveau/nvkm/engine/ce/fuc/gf100.fuc3.h \
@@ -340,18 +323,25 @@ clean_sed '
 
 grep -q Linux-libre Documentation/admin-guide/README.rst ||
 clean_sed '
-1,3 s,Linux kernel release.*kernel\.org.*,GNU Linux-libre <http://linux-libre.fsfla.org>,
-2 s,=$,&&,
+/^==*=$/q
+/Linux kernel release.*kernel\.org.*/ {
+  s,,GNU Linux-libre <http://linux-libre.fsfla.org>,
+  N;
+  s,=$,&&,;
+ :loop
+  n;
+  $! b loop;
+}
 ' Documentation/admin-guide/README.rst 'renamed to GNU Linux-libre'
 
 grep -q 'release notes for GNU Linux-libre' Documentation/admin-guide/README.rst ||
 clean_sed '
-2,5 s,Linux version [0-9.]*[0-9],GNU Linux-libre,
+2,8 s,Linux version [0-9.]*[0-9],GNU Linux-libre,
 ' Documentation/admin-guide/README.rst 'dropped partial Linux version'
 
 grep -q 'Unix kernel' Documentation/admin-guide/README.rst ||
 clean_sed '
-1,20 s,\(operating system \)\?Unix,Unix kernel,
+1,23 s,\(operating system \)\?Unix,Unix kernel,
 ' Documentation/admin-guide/README.rst 'Linux is a kernel'
 
 grep -q 'What is GNU Linux-libre' Documentation/admin-guide/README.rst ||
@@ -388,6 +378,12 @@ What is GNU Linux-libre?\
   contribution to the entire system, so its mascot deserves more\
   promotion.  See our web page for their images.\
   http://linux-libre.fsfla.org/\
+\
+  If you are the author of an awesome program and want to join us in\
+  writing Free (libre) Software, please consider making it an official\
+  GNU program and become a GNU Maintainer.  You can find instructions\
+  on how to do so at https://www.gnu.org/help/evaluation.  We look\
+  forward to hacking with you! :)\
 
 ' Documentation/admin-guide/README.rst 'added blurb about GNU Linux-libre'
 
@@ -395,17 +391,21 @@ clean_sed '
 s,Linux kernel,GNU Linux-libre,
 ' scripts/package/builddeb 'kernel name'
 
+clean_sed '
+s,Linux kernel,GNU Linux-libre,
+' scripts/package/mkdebian 'kernel name'
+
 clean_sed '
 s,https://www\..*linux/kernel$,https://linux-libre.fsfla.org/,
-' scripts/package/builddeb 'sources'
+' scripts/package/mkdebian 'sources'
 
 clean_sed '
 s,https\?://www\.kernel\.org/,https://linux-libre.fsfla.org/,
-' scripts/package/builddeb 'home page'
+' scripts/package/mkdebian 'home page'
 
 clean_sed '
 s,git://git\..*torvalds/linux\.git,/*(DEBLOBBED)*/,
-' scripts/package/builddeb 'upstream development repo'
+' scripts/package/mkdebian 'upstream development repo'
 
 clean_sed '
 s,Name: kernel,&-libre,
@@ -452,19 +452,32 @@ report_missing_free_firmware(const char *name, const char *what)\
 {\
 	printk(KERN_ERR "%s: Missing Free %s (non-Free firmware loading is disabled)\\n", name,\
 	       what ? what : "firmware");\
-	return -EINVAL;\
+	return -ENOENT;\
 }\
 static inline int\
-reject_firmware(const struct firmware **fw,\
-		const char *name, struct device *device)\
+firmware_reject_nowarn(const struct firmware **fw,\
+		       const char *name, struct device *device)\
 {\
 	const struct firmware *xfw = NULL;\
-	int retval;\
-	report_missing_free_firmware(dev_name(device), NULL);\
-	retval = request_firmware(&xfw, NONFREE_FIRMWARE, device);\
-	if (!retval)\
+	int retval, retval0 = -ENOENT;\
+	retval = firmware_request_nowarn(&xfw, NONFREE_FIRMWARE, device);\
+	if (!retval) {\
 		release_firmware(xfw);\
-	return -EINVAL;\
+		retval = retval0;\
+	}\
+	return retval;\
+}\
+static inline int\
+reject_firmware(const struct firmware **fw,\
+		const char *name, struct device *device)\
+{\
+	int retval, retval0;\
+	retval0 = report_missing_free_firmware(dev_name(device), NULL);\
+	retval = firmware_reject_nowarn(fw, name, device);\
+	if (!retval) {\
+		retval = retval0;\
+	}\
+	return retval;\
 }\
 static inline int\
 maybe_reject_firmware(const struct firmware **fw,\
@@ -480,17 +493,14 @@ reject_firmware_direct(const struct firmware **fw,\
 		const char *name, struct device *device)\
 {\
 	const struct firmware *xfw = NULL;\
-	int retval;\
-	report_missing_free_firmware(dev_name(device), NULL);\
+	int retval, retval0;\
+	retval0 = report_missing_free_firmware(dev_name(device), NULL);\
 	retval = request_firmware_direct(&xfw, NONFREE_FIRMWARE, device);\
-	if (!retval)\
+	if (!retval) {\
 		release_firmware(xfw);\
-	return -EINVAL;\
-}\
-static inline void\
-discard_rejected_firmware(const struct firmware *fw, void *context)\
-{\
-	release_firmware(fw);\
+		retval = retval0;\
+	}\
+	return retval;\
 }\
 static inline int\
 reject_firmware_nowait(struct module *module, int uevent,\
@@ -499,14 +509,10 @@ reject_firmware_nowait(struct module *module, int uevent,\
 		       void (*cont)(const struct firmware *fw,\
 				    void *context))\
 {\
-	int retval;\
 	report_missing_free_firmware(dev_name(device), NULL);\
-	retval = request_firmware_nowait(module, uevent, NONFREE_FIRMWARE,\
-					 device, gfp, NULL,\
-					 discard_rejected_firmware);\
-	if (retval)\
-		return retval;\
-	return -EINVAL;\
+	/* We assume NONFREE_FIRMWARE will not be found; how could it?  */\
+	return request_firmware_nowait(module, uevent, NONFREE_FIRMWARE,\
+				       device, gfp, context, cont);\
 }\
 static inline int\
 maybe_reject_firmware_nowait(struct module *module, int uevent,\
@@ -527,12 +533,14 @@ reject_firmware_into_buf(const struct firmware **firmware_p, const char *name,\
 			 struct device *device, void *buf, size_t size)\
 {\
 	const struct firmware *xfw = NULL;\
-	int retval;\
-	report_missing_free_firmware(dev_name(device), NULL);\
+	int retval, retval0;\
+	retval0 = report_missing_free_firmware(dev_name(device), NULL);\
 	retval = request_firmware_into_buf(&xfw, NONFREE_FIRMWARE, device, buf, size);\
-	if (!retval)\
+	if (!retval) {\
 		release_firmware(xfw);\
-	return -EINVAL;\
+		retval = retval0;\
+	}\
+	return retval;\
 }\
 static inline int\
 maybe_reject_firmware_into_buf(const struct firmware **firmware_p, const char *name,\
@@ -556,7 +564,7 @@ static inline int\
 maybe_reject_ihex_firmware(const struct firmware **fw,\
 			   const char *name, struct device *device)\
 {\
-	if (strstr (name, NONFREE_FIRMWARE))\
+	if (is_nonfree_firmware(name))\
 		return reject_firmware(fw, name, device);\
 	else\
 		return request_ihex_firmware(fw, name, device);\
@@ -567,7 +575,7 @@ maybe_reject_ihex_firmware(const struct firmware **fw,\
 
 clean_sed '
 s,\(timeout = \)\(firmware_loading_timeout()\),\1is_nonfree_firmware(name) ? 1 : \2,
-' drivers/base/firmware_class.c 'shorten non-Free firmware fail-to-load timeout'
+' drivers/base/firmware_loader/fallback.c 'shorten non-Free firmware fail-to-load timeout'
 
 
 ########
@@ -585,31 +593,25 @@ clean_mk CONFIG_MICROCODE_AMD arch/x86/kernel/cpu/microcode/Makefile
 announce MICROCODE_INTEL - "Intel microcode patch loading support"
 reject_firmware arch/x86/kernel/cpu/microcode/intel.c
 clean_blob arch/x86/kernel/cpu/microcode/intel.c
+clean_blob arch/x86/events/intel/core.c
 clean_kconfig arch/x86/Kconfig MICROCODE_INTEL
 clean_mk CONFIG_MICROCODE_INTEL arch/x86/kernel/cpu/microcode/Makefile
 
 announce MICROCODE - "CPU microcode loading support"
-clean_blob Documentation/x86/microcode.txt
+clean_blob Documentation/x86/microcode.rst
+clean_blob arch/x86/kernel/apic/apic.c
+clean_blob drivers/hwmon/coretemp.c
 clean_kconfig arch/x86/Kconfig MICROCODE
 clean_mk CONFIG_MICROCODE arch/x86/kernel/cpu/Makefile
 
 # arm
 
 announce IXP4XX_NPE - "IXP4xx Network Processor Engine support"
-reject_firmware arch/arm/mach-ixp4xx/ixp4xx_npe.c
-clean_blob arch/arm/mach-ixp4xx/ixp4xx_npe.c
-clean_blob Documentation/arm/IXP4xx
-clean_kconfig arch/arm/mach-ixp4xx/Kconfig IXP4XX_NPE
-clean_mk CONFIG_IXP4XX_NPE arch/arm/mach-ixp4xx/Makefile
-
-announce ARCH_NETX - "Hilscher NetX based"
-clean_sed '
-s,\([" ]\)request_firmware(,\1reject_firmware(,
-' arch/arm/mach-netx/xc.c 'disabled non-Free firmware-loading machinery'
-clean_blob arch/arm/mach-netx/xc.c
-clean_blob drivers/net/ethernet/netx-eth.c
-clean_kconfig arch/arm/Kconfig ARCH_NETX
-clean_mk CONFIG_ARCH_NETX arch/arm/Makefile
+reject_firmware drivers/soc/ixp4xx/ixp4xx-npe.c
+clean_blob drivers/soc/ixp4xx/ixp4xx-npe.c
+clean_blob Documentation/arm/ixp4xx.rst
+clean_kconfig drivers/soc/ixp4xx/Kconfig IXP4XX_NPE
+clean_mk CONFIG_IXP4XX_NPE drivers/soc/ixp4xx/Makefile
 
 announce MACH_SUN8I - "Allwinner sun8i Family SoCs support"
 clean_blob arch/arm/boot/dts/sun8i-a23-gt90h-v4.dts
@@ -661,8 +663,14 @@ clean_blob drivers/crypto/cavium/nitrox/nitrox_main.c
 clean_kconfig drivers/crypto/cavium/nitrox/Kconfig CRYPTO_DEV_NITROX_CNN55XX
 clean_mk CONFIG_CRYPTO_DEV_NITROX_CNN55XX drivers/crypto/cavium/nitrox/Makefile
 
+announce CRYPTO_DEV_SP_PSP - "Platform Security Processor (PSP) device"
+reject_firmware_nowarn drivers/crypto/ccp/psp-dev.c
+clean_blob drivers/crypto/ccp/psp-dev.c
+clean_kconfig drivers/crypto/ccp/Kconfig CRYPTO_DEV_SP_PSP
+clean_mk CONFIG_CRYPTO_DEV_SP_PSP drivers/crypto/ccp/Makefile
+
 announce CRYPTO_DEV_SAFEXCEL - "Inside Secure's SafeXcel cryptographic engine driver"
-reject_firmware drivers/crypto/inside-secure/safexcel.c
+reject_firmware_nowarn drivers/crypto/inside-secure/safexcel.c
 clean_blob drivers/crypto/inside-secure/safexcel.c
 clean_kconfig drivers/crypto/Kconfig CRYPTO_DEV_SAFEXCEL
 clean_mk CONFIG_CRYPTO_DEV_SAFEXCEL drivers/crypto/inside-secure/Makefile
@@ -680,11 +688,13 @@ clean_mk CONFIG_CRYPTO_DEV_QAT drivers/crypto/qat/Makefile
 
 announce CRYPTO_DEV_QAT_C3XXX - "Support for Intel(R) C3XXX"
 clean_blob drivers/crypto/qat/qat_c3xxx/adf_c3xxx_hw_data.h
+clean_blob drivers/crypto/qat/qat_c3xxx/adf_drv.c
 clean_kconfig drivers/crypto/qat/Kconfig CRYPTO_DEV_QAT_C3XXX
 clean_mk CONFIG_CRYPTO_DEV_QAT_C3XXX drivers/crypto/qat/Makefile
 
 announce CRYPTO_DEV_QAT_C62X - "Support for Intel(R) C62X"
 clean_blob drivers/crypto/qat/qat_c62x/adf_c62x_hw_data.h
+clean_blob drivers/crypto/qat/qat_c62x/adf_drv.c
 clean_kconfig drivers/crypto/qat/Kconfig CRYPTO_DEV_QAT_C62X
 clean_mk CONFIG_CRYPTO_DEV_QAT_C62X drivers/crypto/qat/Makefile
 
@@ -712,6 +722,13 @@ clean_mk CONFIG_MOXA_INTELLIO drivers/tty/Makefile
 
 # gpu drm
 
+announce DRM - "Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)"
+reject_firmware drivers/gpu/drm/drm_hdcp.c
+clean_blob drivers/gpu/drm/drm_hdcp.c
+clean_kconfig drivers/gpu/drm/Kconfig DRM
+clean_mk CONFIG_DRM drivers/gpu/drm/Makefile
+
+
 announce DRM_AMDGPU - "AMD GPU"
 reject_firmware drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
 clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
@@ -723,29 +740,41 @@ reject_firmware drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
 clean_blob drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
 reject_firmware drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
 clean_blob drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
+reject_firmware drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
+clean_blob drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
 reject_firmware drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c
 clean_blob drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c
+reject_firmware drivers/gpu/drm/amd/amdgpu/mes_v10_1.c
+clean_blob drivers/gpu/drm/amd/amdgpu/mes_v10_1.c
 reject_firmware drivers/gpu/drm/amd/amdgpu/psp_v3_1.c
 clean_blob drivers/gpu/drm/amd/amdgpu/psp_v3_1.c
 reject_firmware drivers/gpu/drm/amd/amdgpu/psp_v10_0.c
 clean_blob drivers/gpu/drm/amd/amdgpu/psp_v10_0.c
+reject_firmware drivers/gpu/drm/amd/amdgpu/psp_v11_0.c
+clean_blob drivers/gpu/drm/amd/amdgpu/psp_v11_0.c
+reject_firmware drivers/gpu/drm/amd/amdgpu/psp_v12_0.c
+clean_blob drivers/gpu/drm/amd/amdgpu/psp_v12_0.c
 reject_firmware drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
 clean_blob drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
 reject_firmware drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
 clean_blob drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
 reject_firmware drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
 clean_blob drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
+reject_firmware drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
+clean_blob drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
 reject_firmware drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
 clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
 reject_firmware drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
 clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
 clean_blob drivers/gpu/drm/amd/powerplay/smumgr/smumgr.c
+reject_firmware drivers/gpu/drm/amd/powerplay/smu_v11_0.c
+clean_blob drivers/gpu/drm/amd/powerplay/smu_v11_0.c
+reject_firmware drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+clean_blob drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
 clean_kconfig drivers/gpu/drm/Kconfig DRM_AMDGPU
 clean_mk CONFIG_DRM_AMDGPU drivers/gpu/drm/amd/amdgpu/Makefile
 
 announce DRM_AMDGPU_CIK - "Enable amdgpu support for CIK parts"
-reject_firmware drivers/gpu/drm/amd/amdgpu/ci_dpm.c
-clean_blob drivers/gpu/drm/amd/amdgpu/ci_dpm.c
 reject_firmware drivers/gpu/drm/amd/amdgpu/cik_sdma.c
 clean_blob drivers/gpu/drm/amd/amdgpu/cik_sdma.c
 reject_firmware drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
@@ -755,7 +784,7 @@ clean_blob drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c
 clean_kconfig drivers/gpu/drm/amd/amdgpu/Kconfig DRM_AMDGPU_CIK
 clean_mk CONFIG_DRM_AMDGPU_CIK drivers/gpu/drm/amd/amdgpu/Makefile
 
-announce DRM_AMDGPU_SI - "Enable amdgpu support for CIK parts"
+announce DRM_AMDGPU_SI - "Enable amdgpu support for SI parts"
 reject_firmware drivers/gpu/drm/amd/amdgpu/si_dpm.c
 clean_blob drivers/gpu/drm/amd/amdgpu/si_dpm.c
 reject_firmware drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c
@@ -774,11 +803,10 @@ clean_mk CONFIG_DRM_AST drivers/gpu/drm/ast/Makefile
 announce DRM_I915 - "Intel 8xx/9xx/G3x/G4x/HD Graphics"
 reject_firmware drivers/gpu/drm/i915/intel_csr.c
 clean_blob drivers/gpu/drm/i915/intel_csr.c
-reject_firmware drivers/gpu/drm/i915/intel_opregion.c
-reject_firmware drivers/gpu/drm/i915/intel_uc_fw.c
-clean_blob drivers/gpu/drm/i915/intel_uc_fw.h
-clean_blob drivers/gpu/drm/i915/intel_guc_fw.c
-clean_blob drivers/gpu/drm/i915/intel_huc.c
+reject_firmware drivers/gpu/drm/i915/display/intel_opregion.c
+reject_firmware drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
+clean_blob drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
+clean_blob drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h
 clean_kconfig drivers/gpu/drm/i915/Kconfig DRM_I915
 clean_mk CONFIG_DRM_I915 drivers/gpu/drm/i915/Makefile
 
@@ -788,7 +816,7 @@ clean_kconfig drivers/gpu/drm/i915/Kconfig DRM_I915_GVT
 clean_mk CONFIG_DRM_I915_GVT drivers/gpu/drm/i915/Makefile
 
 announce DRM_NOUVEAU - "Nouveau (nVidia) cards"
-reject_firmware drivers/gpu/drm/nouveau/nvkm/core/firmware.c
+reject_firmware_nowarn drivers/gpu/drm/nouveau/nvkm/core/firmware.c
 clean_blob drivers/gpu/drm/nouveau/nvkm/core/firmware.c
 reject_firmware drivers/gpu/drm/nouveau/nvkm/engine/falcon.c
 clean_blob drivers/gpu/drm/nouveau/nvkm/engine/falcon.c
@@ -796,6 +824,7 @@ reject_firmware drivers/gpu/drm/nouveau/nvkm/engine/xtensa.c
 clean_blob drivers/gpu/drm/nouveau/nvkm/engine/xtensa.c
 clean_blob drivers/gpu/drm/nouveau/nouveau_platform.c
 clean_blob drivers/gpu/drm/nouveau/nvkm/subdev/secboot/gp102.c
+clean_blob drivers/gpu/drm/nouveau/nvkm/subdev/secboot/gp108.c
 clean_blob drivers/gpu/drm/nouveau/nvkm/subdev/secboot/gp10b.c
 clean_blob drivers/gpu/drm/nouveau/nvkm/subdev/secboot/gm200.c
 clean_blob drivers/gpu/drm/nouveau/nvkm/subdev/secboot/gm20b.c
@@ -825,10 +854,13 @@ reject_firmware drivers/gpu/drm/radeon/r100.c
 clean_blob drivers/gpu/drm/radeon/r100.c
 reject_firmware drivers/gpu/drm/radeon/r600.c
 clean_blob drivers/gpu/drm/radeon/r600.c
+reject_firmware drivers/gpu/drm/radeon/ni.c
+clean_blob drivers/gpu/drm/radeon/ni.c
 # Something like this might work on other radeon cards too.  If you
 # have such cards, please give it a try, and report back either way,
 # so that we can make more cards work, or at least add comments so
-# that others don't waste their time trying them again.
+# that others don't waste their time trying them again.  See
+# https://libreplanet.org/wiki/Group:Hardware/research/gpu/radeon
 clean_sed '
 /r = r600_init_microcode(rdev);/,/}/ s,return r;,/*(DEBLOBBED)*/,
 ' drivers/gpu/drm/radeon/r600.c 'enable blobless activation'
@@ -838,8 +870,9 @@ clean_sed '
 clean_sed '
 /r = r600_init_microcode(rdev);/,/}/ s,return r;,/*(DEBLOBBED)*/,
 ' drivers/gpu/drm/radeon/rv770.c 'enable blobless activation'
-reject_firmware drivers/gpu/drm/radeon/ni.c
-clean_blob drivers/gpu/drm/radeon/ni.c
+clean_sed '
+/r = ni_init_microcode(rdev);/,/}/ s,return r;,/*(DEBLOBBED)*/,
+' drivers/gpu/drm/radeon/ni.c 'enable blobless activation'
 reject_firmware drivers/gpu/drm/radeon/si.c
 clean_blob drivers/gpu/drm/radeon/si.c
 reject_firmware drivers/gpu/drm/radeon/cik.c
@@ -875,8 +908,10 @@ clean_mk CONFIG_DRM_TEGRA drivers/gpu/drm/tegra/Makefile
 
 announce IMX_SDMA - "i.MX SDMA support"
 reject_firmware drivers/dma/imx-sdma.c
+clean_blob drivers/dma/imx-sdma.c
 clean_blob arch/arm/mach-imx/mm-imx3.c
 clean_blob arch/arm/boot/dts/imx25.dtsi
+clean_blob arch/arm/boot/dts/imx31.dtsi
 clean_blob arch/arm/boot/dts/imx35.dtsi
 clean_blob arch/arm/boot/dts/imx50.dtsi
 clean_blob arch/arm/boot/dts/imx51.dtsi
@@ -884,9 +919,13 @@ clean_blob arch/arm/boot/dts/imx53.dtsi
 clean_blob arch/arm/boot/dts/imx53-tx53.dtsi
 clean_blob arch/arm/boot/dts/imx6qdl.dtsi
 clean_blob arch/arm/boot/dts/imx6sl.dtsi
+clean_blob arch/arm/boot/dts/imx6sll.dtsi
 clean_blob arch/arm/boot/dts/imx6sx.dtsi
 clean_blob arch/arm/boot/dts/imx6ul.dtsi
 clean_blob arch/arm/boot/dts/imx7s.dtsi
+clean_blob arch/arm64/boot/dts/freescale/imx8mm.dtsi
+clean_blob arch/arm64/boot/dts/freescale/imx8mn.dtsi
+clean_blob arch/arm64/boot/dts/freescale/imx8mq.dtsi
 clean_blob Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt
 clean_kconfig drivers/dma/Kconfig IMX_SDMA
 clean_mk CONFIG_IMX_SDMA drivers/dma/Makefile
@@ -951,11 +990,13 @@ clean_mk CONFIG_MEDIA_TUNER_XC5000 drivers/media/tuners/Makefile
 
 announce DVB_USB - "Support for various USB DVB devices"
 reject_firmware drivers/media/usb/dvb-usb/dvb-usb-firmware.c
+clean_blob drivers/media/usb/dvb-usb/dvb-usb-firmware.c
 clean_kconfig drivers/media/usb/dvb-usb/Kconfig DVB_USB
 clean_mk CONFIG_DVB_USB drivers/media/usb/dvb-usb/Makefile
 
 announce DVB_USB_V2 - "Support for various USB DVB devices v2"
 reject_firmware drivers/media/usb/dvb-usb-v2/dvb_usb_core.c
+clean_blob drivers/media/usb/dvb-usb-v2/dvb_usb_core.c
 clean_kconfig drivers/media/usb/dvb-usb-v2/Kconfig DVB_USB_V2
 clean_mk CONFIG_DVB_USB_V2 drivers/media/usb/dvb-usb-v2/Makefile
 
@@ -1320,17 +1361,11 @@ clean_mk CONFIG_DVB_TTUSB_DEC drivers/media/usb/ttusb-dec/Makefile
 
 # video
 
-announce VIDEO_ATOMISP_MSRLIST_HELPER - "Helper library to load, parse and apply large register lists."
-reject_firmware drivers/staging/media/atomisp/i2c/atomisp-libmsrlisthelper.c
-clean_kconfig drivers/staging/media/atomisp/i2c/Kconfig VIDEO_ATOMISP_MSRLIST_HELPER
-clean_mk CONFIG_VIDEO_ATOMISP_MSRLIST_HELPER drivers/staging/media/atomisp/i2c/Makefile
-
-announce VIDEO_ATOMISP - "Intel Atom Image Signal Processor Driver"
-reject_firmware drivers/staging/media/atomisp/pci/atomisp2/atomisp_v4l2.c
-clean_blob drivers/staging/media/atomisp/pci/atomisp2/atomisp_v4l2.c
-clean_blob drivers/staging/media/atomisp/TODO
-clean_kconfig drivers/staging/media/atomisp/pci/Kconfig VIDEO_ATOMISP
-clean_mk CONFIG_VIDEO_ATOMISP drivers/staging/media/atomisp/pci/Makefile
+announce VIDEO_ALLEGRO_DVT - "Allegro DVT Video IP Core"
+reject_firmware drivers/staging/media/allegro-dvt/allegro-core.c
+clean_blob drivers/staging/media/allegro-dvt/allegro-core.c
+clean_kconfig drivers/staging/media/allegro-dvt/Kconfig VIDEO_ALLEGRO_DVT
+clean_mk CONFIG_VIDEO_ALLEGRO_DVT drivers/staging/media/allegro-dvt/Makefile
 
 announce VIDEO_BT848 - "BT848 Video For Linux"
 reject_firmware drivers/media/pci/bt8xx/bttv-cards.c
@@ -1399,6 +1434,12 @@ clean_blob drivers/media/platform/exynos4-is/fimc-is.h
 clean_kconfig drivers/media/platform/exynos4-is/Kconfig VIDEO_EXYNOS4_FIMC_IS
 clean_mk CONFIG_VIDEO_EXYNOS4_FIMC_IS drivers/media/platform/exynos4-is/Makefile
 
+announce VIDEO_IPU3_IMGU - "Intel ipu3-imgu driver"
+reject_firmware drivers/staging/media/ipu3/ipu3-css-fw.c
+clean_blob drivers/staging/media/ipu3/ipu3-css-fw.h
+clean_kconfig drivers/staging/media/ipu3/Kconfig VIDEO_IPU3_IMGU
+clean_mk CONFIG_VIDEO_IPU3_IMGU drivers/staging/media/ipu3/Makefile
+
 announce VIDEO_IVTV - "Conexant cx23416/cx23415 MPEG encoder/decoder support"
 reject_firmware drivers/media/pci/ivtv/ivtv-firmware.c
 clean_blob drivers/media/pci/ivtv/ivtv-firmware.c
@@ -1411,6 +1452,11 @@ clean_blob drivers/media/platform/mtk-vpu/mtk_vpu.c
 clean_kconfig drivers/media/platform/Kconfig VIDEO_MEDIATEK_VPU
 clean_mk CONFIG_VIDEO_MEDIATEK_VPU drivers/media/platform/mtk-vpu/Makefile
 
+announce VIDEO_MESON_VDEC - "Amlogic video decoder driver"
+reject_firmware drivers/staging/media/meson/vdec/vdec_1.c
+clean_blob drivers/staging/media/meson/vdec/vdec_platform.c
+clean_kconfig drivers/staging/media/meson/vdec/Kconfig VIDEO_MESON_VDEC
+clean_mk CONFIG_VIDEO_MESON_VDEC drivers/staging/media/meson/vdec/Makefile
 
 announce VIDEO_PVRUSB2 - "Hauppauge WinTV-PVR USB2 support"
 reject_firmware drivers/media/usb/pvrusb2/pvrusb2-hdw.c
@@ -1554,6 +1600,7 @@ clean_sed '
 	  -EINVAL)
 }' drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c 'report missing Free firmware'
 clean_blob drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
+clean_blob drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c
 clean_sed '
 /^int bnx2x_compare_fw_ver/,/^}$/{
   /^		u32 my_fw = /i\
@@ -1603,6 +1650,13 @@ clean_blob drivers/net/ethernet/intel/e100.c
 clean_kconfig drivers/net/ethernet/intel/Kconfig E100
 clean_mk CONFIG_E100 drivers/net/ethernet/intel/Makefile
 
+announce ICE - "Intel(R) Ethernet Connection E800 Series Support"
+reject_firmware_nowarn drivers/net/ethernet/intel/ice/ice_main.c
+reject_firmware drivers/net/ethernet/intel/ice/ice_main.c
+clean_blob drivers/net/ethernet/intel/ice/ice_main.c
+clean_kconfig drivers/net/ethernet/intel/Kconfig ICE
+clean_mk CONFIG_ICE drivers/net/ethernet/intel/Makefile
+
 announce LIQUIDIO - "Cavium LiquidIO support"
 reject_firmware drivers/net/ethernet/cavium/liquidio/lio_main.c
 clean_blob drivers/net/ethernet/cavium/liquidio/lio_main.c
@@ -1611,7 +1665,7 @@ clean_mk CONFIG_LIQUIDIO drivers/net/ethernet/cavium/liquidio/Makefile
 
 announce MLXSW_SPECTRUM - "Mellanox Technologies Spectrum support"
 reject_firmware drivers/net/ethernet/mellanox/mlxsw/spectrum.c '
-/request_firmware_direct.*MLXSW_SP_FW_FILENAME/!{p;d;};
+/request_firmware_direct.*fw_filename/!{p;d;};
 '
 clean_blob drivers/net/ethernet/mellanox/mlxsw/spectrum.c
 clean_kconfig drivers/net/ethernet/mellanox/mlxsw/Kconfig MLXSW_SPECTRUM
@@ -1626,6 +1680,7 @@ clean_mk CONFIG_MYRI10GE drivers/net/ethernet/myricom/myri10ge/Makefile
 announce NFP - "Netronome(R) NFP4000/NFP6000 NIC driver"
 reject_firmware drivers/net/ethernet/netronome/nfp/nfp_main.c
 clean_blob drivers/net/ethernet/netronome/nfp/nfp_main.c
+clean_blob Documentation/networking/device_drivers/netronome/nfp.rst
 clean_kconfig drivers/net/ethernet/netronome/Kconfig NFP
 clean_mk CONFIG_NFP drivers/net/ethernet/netronome/nfp/Makefile
 
@@ -1652,8 +1707,8 @@ clean_kconfig drivers/net/ethernet/qlogic/Kconfig QLCNIC
 clean_mk CONFIG_QLCNIC drivers/net/ethernet/qlogic/qlcnic/Makefile
 
 announce R8169 - "Realtek 8169 gigabit ethernet support"
-reject_firmware drivers/net/ethernet/realtek/r8169.c
-clean_blob drivers/net/ethernet/realtek/r8169.c
+reject_firmware drivers/net/ethernet/realtek/r8169_firmware.c
+clean_blob drivers/net/ethernet/realtek/r8169_main.c
 clean_kconfig drivers/net/ethernet/realtek/Kconfig R8169
 clean_mk CONFIG_R8169 drivers/net/ethernet/realtek/Makefile
 
@@ -1722,17 +1777,6 @@ clean_blob drivers/net/hamradio/yam.c
 clean_kconfig drivers/net/hamradio/Kconfig YAM
 clean_mk CONFIG_YAM drivers/net/hamradio/Makefile
 
-# irda
-
-announce USB_IRDA - "IrDA USB dongles"
-reject_firmware drivers/staging/irda/drivers/irda-usb.c
-clean_blob drivers/staging/irda/drivers/irda-usb.c
-clean_sed '
-s,\(char stir421x_fw_name\)\[12\];,\1[16];,
-' drivers/staging/irda/drivers/irda-usb.c "avoid buffer overflow with deblobbed filename"
-clean_kconfig drivers/staging/irda/drivers/Kconfig USB_IRDA
-clean_mk CONFIG_USB_IRDA drivers/staging/irda/drivers/Makefile
-
 # smsc
 
 announce PCMCIA_SMC91C92 - "SMC 91Cxx PCMCIA"
@@ -1853,23 +1897,29 @@ clean_mk CONFIG_BRCMSMAC drivers/net/wireless/broadcom/brcm80211/Makefile
 
 announce BRCMFMAC - "Broadcom IEEE802.11n embedded FullMAC WLAN driver"
 reject_firmware drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
+if grep -q firmware_request_nowarn drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c; then
+  reject_firmware_nowarn drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
+else
+  reject_firmware drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
+fi
+clean_blob drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c
 clean_blob drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.h
-clean_kconfig drivers/net/wireless/broadcom/brcm80211/Kconfig BRCMFMAC
+clean_kconfig drivers/net/wireless/broadcom/brcm80211/brcmfmac/Kconfig BRCMFMAC
 clean_mk CONFIG_BRCMFMAC drivers/net/wireless/broadcom/brcm80211/brcmfmac/Makefile
 
 announce BRCMFMAC_SDIO - "Broadcom IEEE802.11n SDIO FullMAC WLAN driver"
 clean_blob drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
-clean_kconfig drivers/net/wireless/broadcom/brcm80211/Kconfig BRCMFMAC_SDIO
+clean_kconfig drivers/net/wireless/broadcom/brcm80211/brcmfmac/Kconfig BRCMFMAC_SDIO
 clean_mk CONFIG_BRCMFMAC_SDIO drivers/net/wireless/broadcom/brcm80211/brcmfmac/Makefile
 
 announce BRCMFMAC_USB - "Broadcom IEEE802.11n USB FullMAC WLAN driver"
 clean_blob drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c
-clean_kconfig drivers/net/wireless/broadcom/brcm80211/Kconfig BRCMFMAC_USB
+clean_kconfig drivers/net/wireless/broadcom/brcm80211/brcmfmac/Kconfig BRCMFMAC_USB
 clean_mk CONFIG_BRCMFMAC_USB drivers/net/wireless/broadcom/brcm80211/brcmfmac/Makefile
 
 announce BRCMFMAC_PCIE - "Broadcom IEEE802.11n PCIE FullMAC WLAN driver"
 clean_blob drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
-clean_kconfig drivers/net/wireless/broadcom/brcm80211/Kconfig BRCMFMAC_PCIE
+clean_kconfig drivers/net/wireless/broadcom/brcm80211/brcmfmac/Kconfig BRCMFMAC_PCIE
 clean_mk CONFIG_BRCMFMAC_PCIE drivers/net/wireless/broadcom/brcm80211/brcmfmac/Makefile
 
 announce HERMES - "Hermes chipset 802.11b support (Orinoco/Prism2/Symbol)"
@@ -1911,8 +1961,11 @@ clean_kconfig drivers/net/wireless/intel/iwlegacy/Kconfig IWL4965
 clean_mk CONFIG_IWL4965 drivers/net/wireless/intel/iwlegacy/Makefile
 
 announce IWLWIFI - "Intel Wireless WiFi Next Gen AGN"
+reject_firmware drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c
 reject_firmware drivers/net/wireless/intel/iwlwifi/iwl-drv.c
+reject_firmware drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
 clean_blob drivers/net/wireless/intel/iwlwifi/iwl-drv.c
+clean_blob drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
 clean_kconfig drivers/net/wireless/intel/iwlwifi/Kconfig IWLWIFI
 clean_mk CONFIG_IWLWIFI drivers/net/wireless/intel/iwlwifi/Makefile
 
@@ -1925,18 +1978,16 @@ clean_kconfig drivers/net/wireless/intel/iwlwifi/Kconfig IWLDVM
 clean_mk CONFIG_IWLMVM drivers/net/wireless/intel/iwlwifi/Makefile
 
 announce IWLMVM - "Intel Wireless WiFi MVM Firmware support"
-reject_firmware drivers/net/wireless/intel/iwlwifi/mvm/nvm.c
 clean_blob drivers/net/wireless/intel/iwlwifi/cfg/7000.c
 clean_blob drivers/net/wireless/intel/iwlwifi/cfg/8000.c
 clean_blob drivers/net/wireless/intel/iwlwifi/cfg/9000.c
-clean_blob drivers/net/wireless/intel/iwlwifi/cfg/a000.c
+clean_blob drivers/net/wireless/intel/iwlwifi/cfg/22000.c
 clean_kconfig drivers/net/wireless/intel/iwlwifi/Kconfig IWLMVM
 clean_mk CONFIG_IWLMVM drivers/net/wireless/intel/iwlwifi/Makefile
 
 announce KS7010 - "KeyStream KS7010 SDIO support"
 reject_firmware drivers/staging/ks7010/ks7010_sdio.c
 clean_blob drivers/staging/ks7010/ks7010_sdio.c
-clean_blob drivers/staging/ks7010/ks7010_sdio.h
 clean_kconfig drivers/staging/ks7010/Kconfig KS7010
 clean_mk CONFIG_KS7010 drivers/staging/ks7010/Makefile
 
@@ -1979,6 +2030,52 @@ clean_blob drivers/net/wireless/mediatek/mt7601u/usb.h
 clean_kconfig drivers/net/wireless/mediatek/mt7601u/Kconfig MT7601U
 clean_mk CONFIG_MT7601U drivers/net/wireless/mediatek/mt7601u/Makefile
 
+announce MT76x0_COMMON - "MediaTek MT76x0E/U support"
+clean_blob drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0.h
+clean_kconfig drivers/net/wireless/mediatek/mt76/mt76x0/Kconfig MT76x0_COMMON
+clean_mk CONFIG_MT76x0_COMMON drivers/net/wireless/mediatek/mt76/mt76x0/Makefile
+
+announce MT76x0E - "MediaTek MT76x0E (PCIe) support"
+reject_firmware drivers/net/wireless/mediatek/mt76/mt76x0/pci_mcu.c
+clean_blob drivers/net/wireless/mediatek/mt76/mt76x0/pci.c
+clean_kconfig drivers/net/wireless/mediatek/mt76/mt76x0/Kconfig MT76x0E
+clean_mk CONFIG_MT76x0E drivers/net/wireless/mediatek/mt76/mt76x0/Makefile
+
+announce MT76x0U - "MediaTek MT76x0U (USB) support"
+reject_firmware_nowarn drivers/net/wireless/mediatek/mt76/mt76x0/usb_mcu.c
+reject_firmware drivers/net/wireless/mediatek/mt76/mt76x0/usb_mcu.c
+clean_blob drivers/net/wireless/mediatek/mt76/mt76x0/usb.c
+clean_kconfig drivers/net/wireless/mediatek/mt76/mt76x0/Kconfig MT76x0U
+clean_mk CONFIG_MT76x0U drivers/net/wireless/mediatek/mt76/mt76x0/Makefile
+
+announce MT76x2E - "MediaTek MT76x2E (PCIe) support"
+reject_firmware drivers/net/wireless/mediatek/mt76/mt76x2/pci_mcu.c
+clean_blob drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2.h
+clean_blob drivers/net/wireless/mediatek/mt76/mt76x2/pci.c
+clean_kconfig drivers/net/wireless/mediatek/mt76/mt76x2/Kconfig MT76x2E
+clean_mk CONFIG_MT76x2E drivers/net/wireless/mediatek/mt76/mt76x2/Makefile
+
+announce MT76x2U - "MediaTek MT76x2U (USB) support"
+reject_firmware drivers/net/wireless/mediatek/mt76/mt76x2/usb_mcu.c
+clean_blob drivers/net/wireless/mediatek/mt76/mt76x2/usb.c
+clean_kconfig drivers/net/wireless/mediatek/mt76/mt76x2/Kconfig MT76x2U
+clean_mk CONFIG_MT76x2U drivers/net/wireless/mediatek/mt76/mt76x2/Makefile
+
+announce MT7603E - "MediaTek MT7603E (PCIe) and MT76x8 WLAN support"
+reject_firmware drivers/net/wireless/mediatek/mt76/mt7603/mcu.c
+clean_blob drivers/net/wireless/mediatek/mt76/mt7603/mt7603.h
+clean_blob drivers/net/wireless/mediatek/mt76/mt7603/pci.c
+clean_blob drivers/net/wireless/mediatek/mt76/mt7603/soc.c
+clean_kconfig drivers/net/wireless/mediatek/mt76/mt7603/Kconfig MT7603E
+clean_mk CONFIG_MT7603E drivers/net/wireless/mediatek/mt76/mt7603/Makefile
+
+announce MT7615E - "MediaTek MT7615E (PCIe) support"
+reject_firmware drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
+clean_blob drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h
+clean_blob drivers/net/wireless/mediatek/mt76/mt7615/pci.c
+clean_kconfig drivers/net/wireless/mediatek/mt76/mt7615/Kconfig MT7615E
+clean_mk CONFIG_MT7615E drivers/net/wireless/mediatek/mt76/mt7615/Makefile
+
 announce MWIFIEX - "Marvell WiFi-Ex Driver"
 clean_blob drivers/net/wireless/marvell/mwifiex/README
 reject_firmware drivers/net/wireless/marvell/mwifiex/main.c
@@ -2034,14 +2131,15 @@ clean_kconfig drivers/net/wireless/ath/ath6kl/Kconfig ATH6KL_USB
 clean_mk CONFIG_ATH6KL_USB drivers/net/wireless/ath/ath6kl/Makefile
 
 announce ATH10K - "Atheros 802.11ac wireless cards support"
-reject_firmware drivers/net/wireless/ath/ath10k/core.c
+reject_firmware_nowarn drivers/net/wireless/ath/ath10k/core.c
 clean_blob drivers/net/wireless/ath/ath10k/core.c
 clean_blob drivers/net/wireless/ath/ath10k/hw.h
+clean_blob Documentation/devicetree/bindings/net/wireless/qcom,ath10k.txt
 clean_kconfig drivers/net/wireless/ath/ath10k/Kconfig ATH10K
 clean_mk CONFIG_ATH10K drivers/net/wireless/ath/ath10k/Makefile
 
 announce ATH10K NL80211_TESTMODE - "nl80211 testmode command"
-reject_firmware drivers/net/wireless/ath/ath10k/testmode.c
+reject_firmware_nowarn drivers/net/wireless/ath/ath10k/testmode.c
 clean_sed '
 s,^\([\t ]*\/\* We didn.t find FW UTF API 1 \)("utf\.bin"),\1*//*(DEBLOBBED)*//*,
 ' drivers/net/wireless/ath/ath10k/testmode.c 'removed blob name in comment'
@@ -2110,11 +2208,12 @@ clean_blob drivers/net/wireless/intersil/prism54/islpci_dev.c
 clean_kconfig drivers/net/wireless/intersil/Kconfig PRISM54
 clean_mk CONFIG_PRISM54 drivers/net/wireless/intersil/prism54/Makefile
 
-announce QTNFMAC_PEARL_PCIE - "Quantenna QSR10g PCIe support"
-reject_firmware drivers/net/wireless/quantenna/qtnfmac/pearl/pcie.c
+announce QTNFMAC_PCIE - "Quantenna QSR1000/QSR2000/QSR10g PCIe support"
+reject_firmware drivers/net/wireless/quantenna/qtnfmac/pcie/pearl_pcie.c
+reject_firmware drivers/net/wireless/quantenna/qtnfmac/pcie/topaz_pcie.c
 clean_blob drivers/net/wireless/quantenna/qtnfmac/qtn_hw_ids.h
-clean_kconfig drivers/net/wireless/quantenna/qtnfmac/Kconfig QTNFMAC_PEARL_PCIE
-clean_mk CONFIG_QTNFMAC_PEARL_PCIE drivers/net/wireless/quantenna/qtnfmac/Makefile
+clean_kconfig drivers/net/wireless/quantenna/qtnfmac/Kconfig QTNFMAC_PCIE
+clean_mk CONFIG_QTNFMAC_PCIE drivers/net/wireless/quantenna/qtnfmac/Makefile
 
 announce RSI_91X - "Redpine Signals Inc 91x WLAN driver support"
 reject_firmware drivers/net/wireless/rsi/rsi_91x_hal.c
@@ -2187,6 +2286,7 @@ announce R8188EU - "Realtek RTL8188EU Wireless LAN NIC driver"
 reject_firmware drivers/staging/rtl8188eu/hal/fw.c
 clean_blob drivers/staging/rtl8188eu/hal/fw.c
 clean_blob drivers/staging/rtl8188eu/include/rtl8188e_hal.h
+clean_blob drivers/staging/rtl8188eu/os_dep/os_intfs.c
 clean_kconfig drivers/staging/rtl8188eu/Kconfig R8188EU
 clean_mk CONFIG_R8188EU drivers/staging/rtl8188eu/Makefile
 
@@ -2258,18 +2358,30 @@ clean_blob drivers/staging/rtl8723bs/include/rtl8723b_hal.h
 clean_kconfig drivers/staging/rtl8723bs/Kconfig RTL8723BS
 clean_mk CONFIG_RTL8723BS drivers/staging/rtl8723bs/Makefile
 
+# There are reports that at least some cards that use this module work
+# even without loading a blob.  It uses the _nowait variant to load
+# the blob, but we used to not call the callback.  Now we do, let's
+# see how that goes.
 announce RTL8821AE - "Realtek RTL8821AE/RTL8812AE Wireless LAN NIC driver"
 reject_firmware drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c
 clean_blob drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c
 clean_kconfig drivers/net/wireless/realtek/rtlwifi/Kconfig RTL8821AE
 clean_mk CONFIG_RTL8821AE drivers/net/wireless/realtek/rtlwifi/rtl8821ae/Makefile
 
-announce R8822BE - "Realtek RTL8822BE Wireless Network Adapter"
-reject_firmware drivers/staging/rtlwifi/core.c
-reject_firmware drivers/staging/rtlwifi/rtl8822be/sw.c
-clean_blob drivers/staging/rtlwifi/rtl8822be/sw.c
-clean_kconfig drivers/staging/rtlwifi/Kconfig R8822BE
-clean_mk CONFIG_R8822BE drivers/staging/rtlwifi/Makefile
+announce RTW88 - "Realtek 802.11ac wireless chips support"
+reject_firmware drivers/net/wireless/realtek/rtw88/main.c
+clean_kconfig drivers/net/wireless/realtek/rtw88/Kconfig RTW88
+clean_mk CONFIG_RTW88 drivers/net/wireless/realtek/rtw88/Makefile
+
+announce RTW88_8822BE - "Realtek 8822BE PCI wireless network adapter"
+clean_blob drivers/net/wireless/realtek/rtw88/rtw8822b.c
+clean_kconfig drivers/net/wireless/realtek/rtw88/Kconfig RTW88_8822BE
+clean_mk CONFIG_RTW88_8822CE drivers/net/wireless/realtek/rtw88/Makefile
+
+announce RTW88_8822CE - "Realtek 8822CE PCI wireless network adaptar"
+clean_blob drivers/net/wireless/realtek/rtw88/rtw8822c.c
+clean_kconfig drivers/net/wireless/realtek/rtw88/Kconfig RTW88_8822CE
+clean_mk CONFIG_RTW88_8822CE drivers/net/wireless/realtek/rtw88/Makefile
 
 announce VT6656 - "VIA Technologies VT6656 support"
 reject_firmware drivers/staging/vt6656/firmware.c
@@ -2324,7 +2436,7 @@ clean_kconfig drivers/net/wireless/ath/wcn36xx/Kconfig WCN36XX
 clean_mk CONFIG_WCN36XX drivers/net/wireless/ath/wcn36xx/Makefile
 
 announce WILC1000 - "WILC1000 support (WiFi only)"
-reject_firmware drivers/staging/wilc1000/linux_wlan.c
+reject_firmware drivers/staging/wilc1000/wilc_netdev.c
 clean_blob drivers/staging/wilc1000/Makefile
 clean_sed 's,\\"/\*(DEBLOBBED)\*/\\","&",g' drivers/staging/wilc1000/Makefile \
     "quote deblobbing markers"
@@ -2427,13 +2539,26 @@ clean_mk CONFIG_BT_HCIUART_INTEL drivers/bluetooth/Makefile
 announce BT_MRVL_SDIO - "Marvell BT-over-SDIO driver"
 reject_firmware drivers/bluetooth/btmrvl_sdio.c
 clean_blob drivers/bluetooth/btmrvl_sdio.c
-clean_blob Documentation/btmrvl.txt
+clean_blob Documentation/admin-guide/btmrvl.rst
 clean_kconfig drivers/bluetooth/Kconfig BT_MRVL_SDIO
 clean_mk CONFIG_BT_MRVL_SDIO drivers/bluetooth/Makefile
 
+announce BT_MTKSDIO - "MediaTek HCI SDIO driver"
+reject_firmware drivers/bluetooth/btmtksdio.c
+clean_blob drivers/bluetooth/btmtksdio.c
+clean_kconfig drivers/bluetooth/Kconfig BT_MTKSDIO
+clean_mk CONFIG_BT_MTKSDIO drivers/bluetooth/Makefile
+
+announce BT_MTKUART - "MediaTek HCI UART driver"
+reject_firmware drivers/bluetooth/btmtkuart.c
+clean_blob drivers/bluetooth/btmtkuart.c
+clean_kconfig drivers/bluetooth/Kconfig BT_MTKUART
+clean_mk CONFIG_BT_MTKUART drivers/bluetooth/Makefile
+
 announce BT_QCA - "Bluetooh support for Qualcomm/Atheros devices"
 reject_firmware drivers/bluetooth/btqca.c
 clean_blob drivers/bluetooth/btqca.c
+clean_blob Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt
 clean_kconfig drivers/bluetooth/Kconfig BT_QCA
 clean_mk CONFIG_BT_QCA drivers/bluetooth/Makefile
 
@@ -2454,7 +2579,7 @@ clean_mk CONFIG_TI_ST drivers/misc/ti-st/Makefile
 announce WIMAX_I2400M - "Intel Wireless WiMAX Connection 2400"
 reject_firmware drivers/net/wimax/i2400m/fw.c
 clean_blob drivers/net/wimax/i2400m/usb.c
-clean_blob Documentation/wimax/README.i2400m
+clean_blob Documentation/admin-guide/wimax/i2400m.rst
 clean_kconfig drivers/net/wimax/i2400m/Kconfig WIMAX_I2400M
 clean_mk CONFIG_WIMAX_I2400M drivers/net/wimax/i2400m/Makefile
 
@@ -2493,16 +2618,26 @@ clean_sed '
 clean_kconfig drivers/net/can/softing/Kconfig CAN_SOFTING_CS
 clean_mk CONFIG_CAN_SOFTING_CS drivers/net/can/softing/Makefile
 
+# DSA
+
+announce NET_DSA_LANTIQ_GSWIP - "Lantiq / Intel GSWIP"
+reject_firmware drivers/net/dsa/lantiq_gswip.c
+clean_blob drivers/net/dsa/lantiq_gswip.c
+clean_kconfig drivers/net/dsa/Kconfig NET_DSA_LANTIQ_GSWIP
+clean_mk CONFIG_NET_DSA_LANTIQ_GSWIP drivers/net/dsa/Makefile
+
+# PHY
+
+announce MICROSEMI_PHY - "Microsemi PHYs"
+reject_firmware drivers/net/phy/mscc.c
+clean_blob drivers/net/phy/mscc.c
+clean_kconfig drivers/net/phy/Kconfig MICROSEMI_PHY
+clean_mk CONFIG_MICROSEMI_PHY drivers/net/phy/Makefile
+
 ########
 # ISDN #
 ########
 
-announce ISDN_DIVAS - "Support Eicon DIVA Server cards"
-clean_blob drivers/isdn/hardware/eicon/cardtype.h
-clean_blob drivers/isdn/hardware/eicon/dsp_defs.h
-clean_kconfig drivers/isdn/hardware/eicon/Kconfig ISDN_DIVAS
-clean_mk CONFIG_ISDN_DIVAS drivers/isdn/hardware/eicon/Makefile
-
 announce MISDN_SPEEDFAX - "Support for Sedlbauer Speedfax+"
 reject_firmware drivers/isdn/hardware/mISDN/speedfax.c
 clean_blob drivers/isdn/hardware/mISDN/speedfax.c
@@ -2576,7 +2711,13 @@ clean_blob drivers/input/mouse/elan_i2c.h
 clean_kconfig drivers/input/mouse/Kconfig MOUSE_ELAN_I2C
 clean_mk CONFIG_MOUSE_ELAN_I2C drivers/input/mouse/Makefile
 
-announce TOUCHSCREEN_ELAN
+announce TOUCHSCREEN_CHIPONE_ICN8505 - "chipone icn8505 touchscreen controller"
+reject_firmware drivers/input/touchscreen/chipone_icn8505.c
+clean_blob drivers/input/touchscreen/chipone_icn8505.c
+clean_kconfig drivers/input/touchscreen/Kconfig TOUCHSCREEN_CHIPONE_ICN8505
+clean_mk CONFIG_TOUCHSCREEN_CHIPONE_ICN8505 drivers/input/touchscreen/Makefile
+
+announce TOUCHSCREEN_ELAN - "Elan eKTH I2C touchscreen"
 reject_firmware drivers/input/touchscreen/elants_i2c.c
 clean_blob drivers/input/touchscreen/elants_i2c.c
 clean_kconfig drivers/input/touchscreen/Kconfig TOUCHSCREEN_ELAN
@@ -2585,9 +2726,6 @@ clean_mk CONFIG_TOUCHSCREEN_ELAN drivers/input/touchscreen/Makefile
 announce TOUCHSCREEN_ATMEL_MXT - "Atmel mXT I2C Touchscreen"
 reject_firmware drivers/input/touchscreen/atmel_mxt_ts.c
 clean_blob drivers/input/touchscreen/atmel_mxt_ts.c
-clean_sed '
-/^[/][*]$/,/^ [*][/]$/ s,/lib/firmware/[^\n]*\.fw,*(DEBLOBBED)*,
-' arch/arm/boot/dts/omap4-droid4-xt894.dts 'removed blob name'
 clean_kconfig drivers/input/touchscreen/Kconfig TOUCHSCREEN_ATMEL_MXT
 clean_mk CONFIG_TOUCHSCREEN_ATMEL_MXT drivers/input/touchscreen/Makefile
 
@@ -2603,6 +2741,11 @@ clean_blob drivers/input/touchscreen/hideep.c
 clean_kconfig drivers/input/touchscreen/Kconfig TOUCHSCREEN_HIDEEP
 clean_mk CONFIG_TOUCHSCREEN_HIDEEP drivers/input/touchscreen/Makefile
 
+announce TOUCHSCREEN_IQS5XX - "Azoteq IQS550/572/525 trackpad/touchscreen controller"
+reject_firmware drivers/input/touchscreen/iqs5xx.c
+clean_kconfig drivers/input/touchscreen/Kconfig TOUCHSCREEN_IQS5XX
+clean_mk CONFIG_TOUCHSCREEN_IQS5XX drivers/input/touchscreen/Makefile
+
 announce TOUCHSCREEN_MELFAS_MIP4 - "MELFAS MIP4 Touchscreen"
 reject_firmware drivers/input/touchscreen/melfas_mip4.c
 clean_blob drivers/input/touchscreen/melfas_mip4.c
@@ -2627,10 +2770,10 @@ clean_blob drivers/input/touchscreen/silead.c
 clean_kconfig drivers/input/touchscreen/Kconfig TOUCHSCREEN_SILEAD
 clean_mk CONFIG_TOUCHSCREEN_SILEAD drivers/input/touchscreen/Makefile
 
-announce SILEAD_DMI - "Tablets with Silead touchscreens"
-clean_blob drivers/platform/x86/silead_dmi.c
-clean_kconfig drivers/platform/x86/Kconfig SILEAD_DMI
-clean_mk CONFIG_SILEAD_DMI drivers/platform/x86/Makefile
+announce TOUCHSCREEN_DMI - "DMI based touchscreen configuration info"
+clean_blob drivers/platform/x86/touchscreen_dmi.c
+clean_kconfig drivers/platform/x86/Kconfig TOUCHSCREEN_DMI
+clean_mk CONFIG_TOUCHSCREEN_DMI drivers/platform/x86/Makefile
 
 announce TOUCHSCREEN_WDT87XX_I2C - "Weida HiTech I2C touchscreen"
 reject_firmware drivers/input/touchscreen/wdt87xx_i2c.c
@@ -2638,12 +2781,6 @@ clean_blob drivers/input/touchscreen/wdt87xx_i2c.c
 clean_kconfig drivers/input/touchscreen/Kconfig TOUCHSCREEN_WDT87XX_I2C
 clean_mk CONFIG_TOUCHSCREEN_WDT87XX_I2C drivers/input/touchscreen/Makefile
 
-announce LIRC_ZILOG - "Zilog/Hauppauge IR Transmitter"
-reject_firmware drivers/staging/media/lirc/lirc_zilog.c
-clean_blob drivers/staging/media/lirc/lirc_zilog.c
-clean_kconfig drivers/staging/media/lirc/Kconfig LIRC_ZILOG
-clean_mk CONFIG_LIRC_ZILOG drivers/staging/media/lirc/Makefile
-
 announce INPUT_IMS_PCU - "IMS Passenger Control Unit driver"
 reject_firmware drivers/input/misc/ims-pcu.c
 clean_blob drivers/input/misc/ims-pcu.c
@@ -2654,6 +2791,12 @@ clean_mk CONFIG_INPUT_IMS_PCU drivers/input/misc/Makefile
 # Data acquisition #
 ####################
 
+announce INTEL_ISH_FIRMWARE_DOWNLOADER - "Host Firmware Load feature for Intel ISH"
+reject_firmware drivers/hid/intel-ish-hid/ishtp-fw-loader.c
+clean_blob drivers/hid/intel-ish-hid/ishtp-fw-loader.c
+clean_kconfig drivers/hid/intel-ish-hid/Kconfig INTEL_ISH_FIRMWARE_DOWNLOADER
+clean_mk CONFIG_INTEL_ISH_FIRMWARE_DOWNLOADER drivers/hid/intel-ish-hid/Makefile
+
 announce COMEDI - "Data acquisition support (comedi)"
 maybe_reject_firmware drivers/staging/comedi/drivers.c
 clean_kconfig drivers/staging/comedi/Kconfig COMEDI
@@ -2854,18 +2997,6 @@ clean_mk CONFIG_USB_STORAGE_ENE_UB6250 drivers/usb/storage/Makefile
 # serial
 
 announce USB_SERIAL_KEYSPAN - "USB Keyspan USA-xxx Serial Driver"
-clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_KEYSPAN_MPR
-clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_KEYSPAN_USA18X
-clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_KEYSPAN_USA19
-clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_KEYSPAN_USA19QI
-clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_KEYSPAN_USA19QW
-clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_KEYSPAN_USA19W
-clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_KEYSPAN_USA28
-clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_KEYSPAN_USA28XA
-clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_KEYSPAN_USA28XB
-clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_KEYSPAN_USA28X
-clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_KEYSPAN_USA49W
-clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_KEYSPAN_USA49WLC
 clean_blob drivers/usb/serial/keyspan.c
 clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_KEYSPAN
 clean_mk CONFIG_USB_SERIAL_KEYSPAN drivers/usb/serial/Makefile
@@ -2890,14 +3021,6 @@ clean_blob drivers/usb/serial/mxuport.c
 clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_MXUPORT
 clean_mk CONFIG_USB_SERIAL_MXUPORT drivers/usb/serial/Makefile
 
-# This was removed in 4.5-rc7, but it will likely be back in some
-# future release, so let's keep the code commented out here.
-# announce USB_SERIAL_MXUPORT11 - "USB Moxa UPORT 11x0 Serial Driver"
-# reject_firmware drivers/usb/serial/mxu11x0.c
-# clean_blob drivers/usb/serial/mxu11x0.c
-# clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_MXUPORT11
-# clean_mk CONFIG_USB_SERIAL_MXUPORT11 drivers/usb/serial/Makefile
-
 announce USB_SERIAL_TI - "USB TI 3410/5052 Serial Driver"
 reject_firmware drivers/usb/serial/ti_usb_3410_5052.c
 clean_blob drivers/usb/serial/ti_usb_3410_5052.c
@@ -2909,15 +3032,23 @@ clean_blob drivers/usb/serial/whiteheat.c
 clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_WHITEHEAT
 clean_mk CONFIG_USB_SERIAL_WHITEHEAT drivers/usb/serial/Makefile
 
+# typec
+
+announce UCSI_CCG - "UCSI Interface Driver for Cypress CCGx"
+reject_firmware drivers/usb/typec/ucsi/ucsi_ccg.c
+clean_blob drivers/usb/typec/ucsi/ucsi_ccg.c
+clean_kconfig drivers/usb/typec/ucsi/Kconfig UCSI_CCG
+clean_mk CONFIG_UCSI_CCG drivers/usb/typec/ucsi/Makefile
+
 # uwb
 
 announce UWB_I1480U - Support for Intel Wireless UWB Link 1480 HWA
-reject_firmware drivers/uwb/i1480/dfu/i1480-dfu.h
-reject_firmware drivers/uwb/i1480/dfu/mac.c
-reject_firmware drivers/uwb/i1480/dfu/phy.c
-clean_blob drivers/uwb/i1480/dfu/usb.c
-clean_kconfig drivers/uwb/Kconfig UWB_I1480U
-clean_mk CONFIG_UWB_I1480U drivers/uwb/i1480/dfu/Makefile
+reject_firmware drivers/staging/uwb/i1480/dfu/i1480-dfu.h
+reject_firmware drivers/staging/uwb/i1480/dfu/mac.c
+reject_firmware drivers/staging/uwb/i1480/dfu/phy.c
+clean_blob drivers/staging/uwb/i1480/dfu/usb.c
+clean_kconfig drivers/staging/uwb/Kconfig UWB_I1480U
+clean_mk CONFIG_UWB_I1480U drivers/staging/uwb/i1480/dfu/Makefile
 
 
 
@@ -2925,6 +3056,12 @@ clean_mk CONFIG_UWB_I1480U drivers/uwb/i1480/dfu/Makefile
 # Programmable #
 ################
 
+announce HABANA_AI - "HabanaAI accelerators (habanalabs)"
+reject_firmware drivers/misc/habanalabs/firmware_if.c
+clean_blob drivers/misc/habanalabs/goya/goya.c
+clean_kconfig drivers/misc/habanalabs/Kconfig HABANA_AI
+clean_mk CONFIG_HABANA_AI drivers/misc/Makefile
+
 announce LATTICE_ECP3_CONFIG - "Lattice ECP3 FPGA bitstrap configuration via SPI"
 reject_firmware drivers/misc/lattice-ecp3-config.c
 clean_blob drivers/misc/lattice-ecp3-config.c
@@ -2936,6 +3073,11 @@ maybe_reject_firmware drivers/remoteproc/remoteproc_core.c
 clean_kconfig drivers/remoteproc/Kconfig REMOTEPROC
 clean_mk CONFIG_REMOTEPROC drivers/remoteproc/Makefile
 
+announce KEYSTONE_REMOTEPROC - "Keystone Remoteproc support"
+clean_blob drivers/remoteproc/keystone_remoteproc.c
+clean_kconfig drivers/remoteproc/Kconfig KEYSTONE_REMOTEPROC
+clean_mk CONFIG_KEYSTONE_REMOTEPROC drivers/remoteproc/Makefile
+
 announce WKUP_M3_RPROC - "AMx3xx Wakeup M3 remoteproc support"
 clean_blob Documentation/devicetree/bindings/remoteproc/wkup_m3_rproc.txt
 clean_blob arch/arm/boot/dts/am33xx.dtsi
@@ -2943,16 +3085,26 @@ clean_blob arch/arm/boot/dts/am4372.dtsi
 clean_kconfig drivers/remoteproc/Kconfig WKUP_M3_RPROC
 clean_mk CONFIG_WKUP_M3_RPROC drivers/remoteproc/Makefile
 
-announce QCOM_ADSP_PIL - "Qualcomm ADSP Peripherial Image Loader"
-clean_blob drivers/remoteproc/qcom_adsp_pil.c
-clean_kconfig drivers/remoteproc/Kconfig QCOM_ADSP_PIL
-clean_mk CONFIG_QCOM_ADSP_PIL drivers/remoteproc/Makefile
+announce QCOM_Q6V5_ADSP - "Qualcomm Technology Inc ADSP Peripherial Image Loader"
+clean_blob drivers/remoteproc/qcom_q6v5_adsp.c
+clean_kconfig drivers/remoteproc/Kconfig QCOM_Q6V5_ADSP
+clean_mk CONFIG_QCOM_Q6V5_ADSP drivers/remoteproc/Makefile
+
+announce QCOM_Q6V5_MSS - "Qualcomm Hexagon V5 self-authenticating modem subsystem support"
+reject_firmware drivers/remoteproc/qcom_q6v5_mss.c
+clean_blob drivers/remoteproc/qcom_q6v5_mss.c
+clean_kconfig drivers/remoteproc/Kconfig QCOM_Q6V5_MSS
+clean_mk CONFIG_QCOM_Q6V5_MSS drivers/remoteproc/Makefile
 
-announce QCOM_Q6V5_PIL - "Qualcomm Hexagon V5 Peripherial Image Loader"
-reject_firmware drivers/remoteproc/qcom_q6v5_pil.c
-clean_blob drivers/remoteproc/qcom_q6v5_pil.c
-clean_kconfig drivers/remoteproc/Kconfig QCOM_Q6V5_PIL
-clean_mk CONFIG_QCOM_Q6V5_PIL drivers/remoteproc/Makefile
+announce QCOM_Q6V5_PAS - "Qualcomm Hexagon V5 Peripherial Authentication Service support"
+clean_blob drivers/remoteproc/qcom_q6v5_pas.c
+clean_kconfig drivers/remoteproc/Kconfig QCOM_Q6V5_PAS
+clean_mk CONFIG_QCOM_Q6V5_PAS drivers/remoteproc/Makefile
+
+announce QCOM_Q6V5_WCSS - "Qualcomm Hexagon based WCSS Peripheral Image Loader"
+clean_blob drivers/remoteproc/qcom_q6v5_wcss.c
+clean_kconfig drivers/remoteproc/Kconfig QCOM_Q6V5_WCSS
+clean_mk CONFIG_QCOM_Q6V5_WCSS drivers/remoteproc/Makefile
 
 announce QCOM_WCNSS_PIL - "Qualcomm WCNSS Peripherial Image Loader"
 clean_blob drivers/remoteproc/qcom_wcnss.c
@@ -3085,7 +3237,7 @@ clean_blob sound/pci/echoaudio/mona.c
 clean_kconfig sound/pci/Kconfig SND_MONA
 clean_mk CONFIG_SND_MONA sound/pci/echoaudio/Makefile
 
-announce SND_'<(Echoaudio)>' - "(Echoaudio) all of the above "
+announce SND_'<(Echoaudio)>' - "(Echoaudio) all of the above"
 reject_firmware sound/pci/echoaudio/echoaudio.c
 clean_blob sound/pci/echoaudio/echoaudio.c
 
@@ -3136,16 +3288,13 @@ clean_blob sound/pci/rme9652/hdsp.c
 clean_kconfig sound/pci/Kconfig SND_HDSP
 clean_mk CONFIG_SND_HDSP sound/pci/rme9652/Makefile
 
-announce SND_AICA - "Dreamcast Yamaha AICA sound"
-reject_firmware sound/sh/aica.c
-clean_blob sound/sh/aica.c
-clean_kconfig sound/sh/Kconfig SND_AICA
-clean_mk CONFIG_SND_AICA sound/sh/Makefile
+# SND_AICA is no longer disabled, its firmware is Free Software.
 
 announce SND_MSND_PINNACLE - "Support for Turtle Beach MultiSound Pinnacle"
 clean_blob sound/isa/msnd/msnd_pinnacle.h
 reject_firmware sound/isa/msnd/msnd_pinnacle.c
 clean_blob sound/isa/msnd/msnd_pinnacle.c
+clean_blob Documentation/sound/cards/multisound.sh
 clean_kconfig sound/isa/Kconfig SND_MSND_PINNACLE
 clean_mk CONFIG_SND_MSND_PINNACLE sound/isa/msnd/Makefile
 
@@ -3189,14 +3338,21 @@ announce SND_SOC_SIGMADSP - "SigmaStudio firmware loader"
 maybe_reject_firmware sound/soc/codecs/sigmadsp.c
 
 announce SND_SOC_INTEL_SST_ACPI - "Intel SST (LPE) Driver"
-reject_firmware sound/soc/intel/common/sst-acpi.c
+maybe_reject_firmware sound/soc/intel/common/sst-acpi.c
 clean_kconfig sound/soc/intel/Kconfig SND_SOC_INTEL_SST_ACPI
 clean_mk CONFIG_SND_SOC_INTEL_SST_ACPI sound/soc/intel/common/Makefile
 
 announce SND_SOC_ACPI_INTEL_MATCH - undocumented
+clean_blob sound/soc/intel/common/soc-acpi-intel-bxt-match.c
 clean_blob sound/soc/intel/common/soc-acpi-intel-byt-match.c
 clean_blob sound/soc/intel/common/soc-acpi-intel-cht-match.c
+clean_blob sound/soc/intel/common/soc-acpi-intel-cnl-match.c
+clean_blob sound/soc/intel/common/soc-acpi-intel-icl-match.c
+clean_blob sound/soc/intel/common/soc-acpi-intel-glk-match.c
+# clean_blob sound/soc/intel/common/soc-acpi-intel-hda-match.c
 clean_blob sound/soc/intel/common/soc-acpi-intel-hsw-bdw-match.c
+clean_blob sound/soc/intel/common/soc-acpi-intel-kbl-match.c
+clean_blob sound/soc/intel/common/soc-acpi-intel-skl-match.c
 clean_kconfig sound/soc/intel/Kconfig SND_SOC_ACPI_INTEL_MATCH
 clean_mk CONFIG_SND_SOC_ACPI_INTEL_MATCH sound/soc/intel/common/Makefile
 
@@ -3212,7 +3368,6 @@ reject_firmware sound/soc/intel/skylake/skl-sst-utils.c
 reject_firmware sound/soc/intel/skylake/skl-topology.c
 reject_firmware sound/soc/intel/skylake/bxt-sst.c
 reject_firmware sound/soc/intel/skylake/cnl-sst.c
-clean_blob sound/soc/intel/skylake/skl.c
 clean_blob sound/soc/intel/skylake/skl-nhlt.c
 clean_blob sound/soc/intel/skylake/skl-sst.c
 clean_blob sound/soc/intel/skylake/skl-topology.c
@@ -3269,6 +3424,29 @@ clean_blob sound/soc/sh/siu_dai.c
 clean_kconfig sound/soc/sh/Kconfig SND_SOC_SH4_SIU
 clean_mk CONFIG_SND_SOC_SH4_SIU sound/soc/sh/Makefile
 
+# These download firmware indeed, but it is Free firmware.
+
+# announce SND_SOC_SOF - "Sound Open Firmware Support"
+# reject_firmware sound/soc/sof/loader.c
+# reject_firmware sound/soc/sof/topology.c
+# clean_kconfig sound/soc/sof/Kconfig SND_SOC_SOF
+# clean_mk CONFIG_SND_SOC_SOF sound/soc/sof/Makefile
+
+# announce SND_SOC_SOF_ACPI - "SOF ACPI enumeration support"
+# clean_blob sound/soc/sof/sof-acpi-dev.c
+# clean_kconfig sound/soc/sof/Kconfig SND_SOC_SOF_ACPI
+# clean_mk CONFIG_SND_SOC_SOF_ACPI sound/soc/sof/Makefile
+
+# announce SND_SOC_SOF_PCI - "SOF PCI enumeration support"
+# clean_blob sound/soc/sof/sof-pci-dev.c
+# clean_kconfig sound/soc/sof/Kconfig SND_SOC_SOF_PCI
+# clean_mk CONFIG_SND_SOC_SOF_PCI sound/soc/sof/Makefile
+
+# announce SND_SOC_SOF_INTEL_COMMON - "SOF support for Intel audio DSPs"
+# clean_blob sound/soc/sof/intel/hda.c
+# clean_kconfig sound/soc/sof/intel/Kconfig SND_SOC_SOF_HDA_COMMON
+# clean_mk CONFIG_SND_SOC_SOF_HDA_COMMON sound/soc/sof/intel/Makefile
+
 announce SND_USB_6FIRE - "TerraTec DMX 6Fire USB"
 reject_firmware sound/usb/6fire/firmware.c
 clean_blob sound/usb/6fire/firmware.c
@@ -3285,6 +3463,16 @@ clean_blob drivers/watchdog/ziirave_wdt.c
 clean_kconfig drivers/watchdog/Kconfig ZIIRAVE_WATCHDOG
 clean_mk CONFIG_ZIIRAVE_WATCHDOG drivers/watchdog/Makefile
 
+#######
+# FIS #
+#######
+
+announce FSI_MASTER_AST_CF - "FSI master based on Aspeed ColdFire coprocessor"
+reject_firmware drivers/fsi/fsi-master-ast-cf.c
+clean_blob drivers/fsi/fsi-master-ast-cf.c
+clean_kconfig drivers/fsi/Kconfig FSI_MASTER_AST_CF
+clean_mk CONFIG_FSI_MASTER_AST_CF drivers/fsi/Makefile
+
 ###########
 # Greybus #
 ###########
@@ -3308,11 +3496,10 @@ clean_mk CONFIG_GREYBUS_BOOTROM drivers/staging/greybus/Makefile
 # SOC #
 #######
 
-announce XRX200_PHY_FW - "XRX200 PHY firmware loader"
-reject_firmware drivers/soc/lantiq/gphy.c
-clean_blob drivers/soc/lantiq/gphy.c
-clean_kconfig arch/mips/lantiq/Kconfig XRX200_PHY_FW
-clean_mk CONFIG_XRX200_PHY_FW drivers/soc/lantiq/Makefile
+announce ARCH_QCOM - "Qualcomm Support"
+clean_blob arch/arm64/boot/dts/qcom/sdm845-db845c.dts
+clean_kconfig arch/arm/mach-qcom/Kconfig ARCH_QCOM
+clean_mk CONFIG_ARCH_QCOM arch/arm64/boot/dts/qcom/Makefile
 
 announce QCOM_MDT_LOADER - "Qualcomm Peripheral Image Loader"
 reject_firmware drivers/soc/qcom/mdt_loader.c
@@ -3328,7 +3515,7 @@ clean_mk CONFIG_QCOM_WCNSS_CTRL drivers/soc/qcom/Makefile
 announce KEYSTONE_NAVIGATOR_QMSS - "Keystone Queue Manager Sub System"
 reject_firmware drivers/soc/ti/knav_qmss_queue.c
 clean_blob drivers/soc/ti/knav_qmss_queue.c
-clean_blob Documentation/arm/keystone/knav-qmss.txt
+clean_blob Documentation/arm/keystone/knav-qmss.rst
 clean_kconfig drivers/soc/ti/Kconfig KEYSTONE_NAVIGATOR_QMSS
 clean_mk CONFIG_KEYSTONE_NAVIGATOR_QMSS drivers/soc/ti/Makefile
 
@@ -3349,7 +3536,7 @@ clean_blob Documentation/media/v4l-drivers/ivtv.rst
 clean_blob Documentation/sound/alsa-configuration.rst
 clean_file scripts/get_dvb_firmware
 clean_file scripts/extract_xc3028.pl
-clean_sed s,usb8388,whatever,g drivers/base/Kconfig 'removed blob name'
+clean_sed s,usb8388,whatever,g drivers/base/firmware_loader/Kconfig 'removed blob name'
 
 if $errors; then
   echo errors above were ignored because of --force >&2
diff --git a/helpers/DATA/linux/deblob-check b/helpers/DATA/linux/deblob-check
index 53c0074de4cb076618b4a096ef13636e55681a7b..891cd2db6ce03074a1c71fdf4d06f93f050d6d6a 100644
--- a/helpers/DATA/linux/deblob-check
+++ b/helpers/DATA/linux/deblob-check
@@ -1,13 +1,23 @@
 #! /bin/sh
 
-# deblob-check version 2018-01-07 + 2018-03-24's r14712 (partial)
+# deblob-check version 2019-11-17
+#                    + 2019-12-02's r17069
+#                    + 2020-01-14's r17211
+#                    + 2020-02-01's r17293
+#                    + 2020-03-21's r1738[12]
+#                    + 2020-04-22's r17437
+#                    + 2020-08-19's r17613
+#                    + 2020-10-11's r17709 (partial)
+#                    + 2020-07-20's r17568 (partial)
+#                    + 2020-11-10's r17761
+#                    + 2020-12-06's r17785 (partial)
 # Inspired in gNewSense's find-firmware script.
 # Written by Alexandre Oliva <lxoliva@fsfla.org>
 
 # Check http://www.fsfla.org/svn/fsfla/software/linux-libre for newer
 # versions.
 
-# Copyright 2008-2018 Alexandre Oliva <lxoliva@fsfla.org>
+# Copyright 2008-2020 Alexandre Oliva <lxoliva@fsfla.org>
 #
 # This program is part of GNU Linux-libre, a GNU project that
 # publishes scripts to clean up Linux so as to make it suitable for
@@ -898,13 +908,17 @@ set_except () {
   # 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\?\)[\\]\?["]'
+  blobname '[.]\(\(fw\|bin\)[0-9]*\|hex\|frm\|co[dx]\|dat\|elf\|xlx\|rfb\|ucode\|img\|sbcf\|ctx\(prog\|vals\)\|z77\|wfw\|inp\|dlmem\|cld\|tftf\|out\|nffw\|mdt\|mfa2\?\|ri\|tplg\|itb\|cyacd\)[\\]\?["]'
+  # WIP ends with [\\]\?[][}{)(><,;:.!?% \t\n"`\'"'"']'
   # Catch misdeblobbed fw extension.
   blobname '["][^" \t\n]*[/][*][(]DEBLOBBED[)][*][/][^"\\]'
   # Ideally we'd whitelist URLs that don't recommend non-Free
@@ -1599,8 +1613,6 @@ set_except () {
 
     blobname '\(multi\|digi\)face_firmware\(_rev11\)\?\.bin' sound/pci/rme9652/hdsp.c
 
-    blobname 'aica_firmware\.bin' sound/sh/aica.c
-
     accept '[ ][*][^*]*\([*]\+[^/*][^*]*\)*[*]*Caution:[ ]This[ ]API[^*]*\([*]\+[^/*][^*]*\)*[*]*request_firmware.' sound/sound_firmware.c
     accept 'static[ ]int[ ]do_mod_firmware_load[(]' sound/sound_firmware.c
     accept 'int[ ]mod_firmware_load[(]' sound/sound_firmware.c
@@ -1766,7 +1778,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
@@ -2713,7 +2725,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
@@ -3860,8 +3872,8 @@ set_except () {
     accept 'int[ ]wil_request_firmware[(]' 'drivers/net/wireless/ath/wil6210/\(fw_inc\.c\|wil6210\.h\)'
     accept '[\t]*rc[ ]=[ ]wil_request_firmware[(]wil[,][ ]WIL_FW_NAME[)][;]' drivers/net/wireless/ath/wil6210/fw_inc.c
     blobname 'wil6210\.fw' drivers/net/wireless/ath/wil6210/wil6210.h
-    blobname 'FW[ ]Version:[ ]%d_%d_%d' drivers/net/wireless/broadcom/bnx2x/bnx2x_main.c
-    blobname '\([,][\n \t]*BCM_5710_FW_\(MAJOR\|MINOR\|REVISION\)_VERSION\)\+' drivers/net/wireless/broadcom/bnx2x/bnx2x_main.c
+    blobna 'FW[ ]Version:[ ]%d_%d_%d' drivers/net/wireless/broadcom/bnx2x/bnx2x_main.c
+    blobna '\([,][\n \t]*BCM_5710_FW_\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION\)\+' drivers/net/wireless/broadcom/bnx2x/bnx2x_main.c
     blobname 'iwlwifi-8000' drivers/net/wireless/iwlwifi/iwl-8000.c
     blobname '["]-["][ ]__stringify[(]api[)][ ]["]\.ucode["]' drivers/net/wireless/iwlwifi/iwl-8000.c
     blobname '%s%s-%s\.ucode' drivers/net/wireless/iwlwifi/iwl-drv.c
@@ -4210,7 +4222,7 @@ set_except () {
     # 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[abd]\|8821a\|8761a\|8821c\)_\(config\|fw\)\.bin' drivers/bluetooth/btrtl.c
+    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
@@ -4232,7 +4244,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
@@ -4862,7 +4874,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
@@ -4968,2556 +4980,765 @@ set_except () {
     accept '[\t]err[ ]=[ ]request_firmware[(][&]clm[,][ ]clm_name[,][ ]dev[)][;]' drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
     accept '[\t]*DRM_DEBUG_DRIVER[(]["]%s[ ]fw[ ]request_firmware[ ]err=%d[\\]n["][,]' drivers/gpu/drm/i915/intel_uc_fw.c
 
-    # New in 4.16, backported to 4.15.13 and 4.14.30.
+    accept 'The[ ]kernel[ ]can[ ]update[ ]microcode' Documentation/x86/microcode.txt
+    accept 'requires[ ]rebuilding[ ]the[ ]kernel[ ]each[ ]time[ ]updated[ ]microcode' Documentation/x86/microcode.txt
+    accept '[\t][ ][ ]If[ ]you[ ]say[ ]Y[ ]here[,][ ]you[ ]will[ ]be[ ]able[ ]to[ ]update[ ]the[ ]microcode' arch/x86/Kconfig
+    blobna '[,][ ]please[ ]upgrade[ ]microcode' arch/x86/events/intel/core.c
+    blobna 'please[ ]update[ ]microcode[ ]to[ ]version:[ ]0x%x[ ][(]or[ ]later[)]' arch/x86/kernel/apic/apic.c
+    accept '[ ][*][ ]*This[ ]driver[ ]allows[ ]to[ ]upgrade[ ]microcode' arch/x86/kernel/cpu/microcode/'\(amd\|core\)\.c'
+    accept '[\t][ ][*][ ]operation[ ]-[ ]when[ ]the[ ]other[ ]hyperthread[ ]has[ ]updated[ ]the[ ]microcode' arch/x86/kernel/cpu/microcode/core.c
+    accept '[ ][*][ ]mc_bp_resume[ ]-[ ]Update[ ]boot[ ]CPU[ ]microcode[ ]during[ ]resume' arch/x86/kernel/cpu/microcode/core.c
+    blobna '[,][ ]update[ ]BIOS[ ]or[ ]microcode[ ]of[ ]the[ ]CPU[!]' drivers/hwmon/coretemp.c
+    accept '[ ][*][ ]ipr_update_ioa_ucode[ ]-[ ]Update[ ]IOA[\'"'"']s[ ]microcode' drivers/scsi/ipr.c
+    accept '[ ][*][ ]Initiate[ ]an[ ]adapter[ ]reset[ ]to[ ]update[ ]the[ ]IOA[\'"'"']s[ ]microcode' drivers/scsi/ipr.c
+    accept '[\t]*struct[ ]xenpf_microcode_update[ ]*microcode' include/xen/interface/platform.h
+
+    # New in 4.16
+    blobname 'board-2\.bin' Documentation/devicetree/bindings/net/wireless/qcom,ath10k.txt
+    accept '[ ]*microcode_update_cpu[(][)][ ]which[ ]would[ ]call[ ]microcode_init_cpu[(][)][ ]in[ ]this[ ]case' Documentation/power/suspend-and-cpuhotplug.txt
+    accept '[\t]\.irp[\t]b\([,][0-9]\)*\([,][1-3][0-9]\)*' arch/arm64/crypto/sha3-ce-core.S
+    accept '\.Lsha512_rcon:\([\n][\t]\.quad[\t]*[0-9a-fx, ]*\)*' arch/arm64/crypto/sha512-ce-core.S
+    accept '[ ][*][ ]only[ ]when[ ]microcode[ ]has[ ]been[ ]updated[.][ ]Caller[ ]holds[ ]microcode_mutex[ ]and[ ]CPU' arch/x86/kernel/cpu/common.c
+    accept '[	][ ][ ]any[ ]request_firmware[(]\(["]whatever\.bin["]\)[)]' drivers/base/Kconfig
+    accept 'static[ ]int[ ]_request_firmware_load[(]struct[ ]fw_sysfs[ ][*]fw_sysfs[,]' drivers/base/firmware_class.c
+    accept '[\t]ret[ ]=[ ]_request_firmware_load[(]fw_sysfs[,][ ]opt_flags[,][ ]timeout[)][;]' drivers/base/firmware_class.c
+    defsnc 'static[ ]const[ ]struct[ ]pll_freq_tbl[ ]a53pll_freq\[\][ ]=' drivers/clk/qcom/a53-pll.c
+    defsnc 'static[ ]unsigned[ ]int[ ]d\?sgl_ent_len\[\][ ]=' drivers/crypto/chelsio/chcr_algo.c
+    # FPGA configuration/programming files are named in Device Tree
+    # overlays supplied by users.
+    accept 'static[ ]int[ ]fpga_mgr_firmware_load[(]' drivers/fpga/fpga-mgr.c
+    accept '[\t]*return[ ]fpga_mgr_firmware_load[(]mgr[,][ ]info[,][ ]info->firmware_name[)]' drivers/fpga/fpga-mgr.c
+    # Nice, asm sources are in the same file, within #if 0/#endif!  License is ok, too.
+    defsnc 'static[ ]const[ ]uint32_t[ ]cwsr_trap_gfx8_hex\[\][ ]=' drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx8.asm
+    blobname 'i915[/]cnl_dmc_ver1_06\.bin' drivers/gpu/drm/i915/intel_csr.c
+    blobname 'i915[/]kbl_dmc_ver1_04\.bin' drivers/gpu/drm/i915/intel_csr.c
+    blobname 'i915[/]skl_dmc_ver1_27\.bin' drivers/gpu/drm/i915/intel_csr.c
+    defsnc 'static[ ]const[ ]u32[ ]lan2coefftab16\[240\][ ]=' drivers/gpu/drm/sun4i/sun8i_ui_scaler.c
+    defsnc 'static[ ]const[ ]u32[ ]\(lan3\|bicubic8\)coefftab32_\(left\|right\)\[480\][ ]=' drivers/gpu/drm/sun4i/sun8i_ui_scaler.c
+    defsnc 'static[ ]const[ ]u32[ ]\(lan2\|bicubic4\)coefftab32\[480\][ ]=' drivers/gpu/drm/sun4i/sun8i_ui_scaler.c
+    defsnc '[}][ ]zopt2201_scale_\(als\|uvb\)\[\][ ]=' drivers/iio/light/zopt2201.c
+    blobname 'raydium_\(%#04x\|[x0-9a-f]*\)\.fw' drivers/input/touchscreen/raydium_i2c_ts.c
+    defsnc '[\t]*static[ ]const[ ]u8[ ]bufs\[\][ ]=' drivers/media/dvb/dvb-usb/cxusb.c
+    defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]ov7740_vga\[\][ ]=' drivers/media/i2c/ov7740.c
     accept '[ ][*][ ]@fw_get_done[\t]*flag[ ]set[ ]when[ ]request_firmware[(][)][ ]is[ ]complete' drivers/media/platform/s5p-mfc/s5p_mfc_common.h
-    ;;
-
-  */*freedo*.patch | */*logo*.patch)
-    accept 'P[13]\([\n]#[^\n]*\)*[\n]*\([\n][0-9 ]*\)\+' drivers/video/logo/logo_libre_clut224.ppm
-    ;;
+    defsnc 'static[ ]const[ ]struct[ ]iro[ ]iro_arr\[51\][ ]=' drivers/net/ethernet/qlogic/qed/qed_hsi.h
+    defsnc 'static[ ]const[ ]struct[ ]ath10k_mem_section[ ]qca6174_hw\(21\|30\)_register_sections\[\][ ]=' drivers/net/wireless/ath/ath10k/coredump.c
+    blobname 'mt7662\(_rom_patch\)\?\.bin' drivers/net/wireless/mediatek/mt76/mt76x2.h
+    defsnc 'static[ ]const[ ]struct[ ]mtk_pin_field_calc[ ]mt7622_pin_\(mode\|sr\|smt\|pu\|pd\|e[48]\|[tr]dsel\)_range\[\][ ]=' drivers/pinctrl/mediatek/pinctrl-mt7622.c
+    blobname 'gsl\(3670-surftab-twin-10-1-st10432-8\|3676-onda-obook-20-plus\|1680-chuwi-hi8\|3676-chuwi-vi8\|1680-trekstor-primebook-c13\|1686-teclast_x98plus2\|1680-teclast-x3-plus\)\.fw' drivers/platform/x86/silead_dmi.c
+    defsnc 'static[ ]const[ ]struct[ ]xvcu_pll_cfg[ ]xvcu_pll_cfg\[\][ ]=' drivers/soc/xilinx/xlnx_vcu.c
+    defsnc 'u16[ ]const[ ]crc_ccitt_false_table\[256\][ ]=' lib/crc-ccitt.c
+    defsc 'static[ ]const[ ]struct[ ]aic32x4_rate_divs[ ]aic32x4_divs\[\][ ]=' sound/soc/codecs/tlv320aic32x4.c
+    defsnc 'static[ ]char[ ]const[ ][*][ ]const[ ]compressor_ratio_text\[\][ ]=' sound/soc/codecs/tscs42xx.c
+    defsnc '[\t]const[ ]u8[ ]norm_addrs\[\][ ]=' sound/soc/codecs/tscs42xx.c
+    # The firmware file name is supplied by the user.
+    accept '[\t]err[ ]=[ ]request_firmware_direct[(][&]fw[,][ ]flash->data[,]\([^\n]*[\n]\+[^\n}]\)*err[ ]=[ ]nfp_nsp_write_flash[(]nsp[,][ ]fw[)]' drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
+    accept '[\t]*\(rc[ ]=[ ]\)\?wil_request_firmware[(]wil[,][ \n\t]*\(wil->wil_fw_name\|WIL_BOARD_FILE_NAME\)[,][ \n\t]*\(true\|false\)[)][;]' drivers/net/wireless/ath/wil6210/main.c
+    accept '[\t]retval0[ ]=[ ]report_missing_free_firmware[^\n]*[\n][\t]retval[ ]=[ ]request_firmware_direct[(]' include/linux/firmware.h
+    accept '[\t]retval0[ ]=[ ]report_missing_free_firmware[^\n]*[\n][\t]retval[ ]=[ ]request_firmware_into_buf[(][&]xfw[,][ ]NONFREE_FIRMWARE' include/linux/firmware.h
+
+    # New in 4.17
+    defsnc 'static[ ]const[ ]u8[ ]sbox\[256\][ ]=' crypto/sm4_generic.c
+    defsnc 'static[ ]const[ ]u32[ ]ck\[\][ ]=' crypto/sm4_generic.c
+    defsc 'static[ ]const[ ]struct[ ]cipher_testvec[ ]speck\(128\|64\)_\(xts_\)\?\(enc\|dec\)_tv_template\[\][ ]=' crypto/testmgr.h
+    accept '[ ][*][ ]request_firmware_into_buf[(][)][ ]or[ ]request_firmware_nowait[(][)][ ]with' drivers/base/firmware_loader/main.c
+    defsnc 'static[ ]const[ ]struct[ ]clk_div_table[ ]mcu_div_table\[\][ ]=' drivers/clk/clk-stm32mp1.c
+    defsnc 'static[ ]const[ ]struct[ ]profile_mode_setting[ ]smu7_profiling\[6\][ ]=' drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c
+    defsnc 'static[ ]const[ ]u32[ ]sun4i_frontend_vert_coef\[32\][ ]=' drivers/gpu/drm/sun4i/sun4i_frontend.c
+    defsnc 'static[ ]const[ ]u32[ ]sun4i_frontend_horz_coef\[64\][ ]=' drivers/gpu/drm/sun4i/sun4i_frontend.c
+    defsnc 'static[ ]const[ ]struct[ ]lv0104cs_mapping[ ]lv0104cs_calibscales\[\][ ]=' drivers/iio/light/lv0104cs.c
+    defsnc '[\t]static[ ]const[ ]u8[ ]rf_init1_cdata1\[40\][ ]=' drivers/media/dvb-frontends/cxd2880/cxd2880_tnrdmd.c
+    defsnc '[\t]static[ ]const[ ]u8[ ]rf_init1_cdata3\[80\][ ]=' drivers/media/dvb-frontends/cxd2880/cxd2880_tnrdmd.c
+    defsnc '[\t]static[ ]const[ ]u8[ ]rf_init1_cdata5\[50\][ ]=' drivers/media/dvb-frontends/cxd2880/cxd2880_tnrdmd.c
+    defsnc 'static[ ]struct[ ]regval[ ]ov2685_1600x1200_regs\[\][ ]=' drivers/media/i2c/ov2685.c
+    defsnc 'static[ ]const[ ]struct[ ]regval[ ]ov5695_\(global\|2592x1944\|1920x1080\|1296x972\|1280x720\|640x480\)_regs\[\][ ]=' drivers/media/i2c/ov5695.c
+    defsnc 'u_short[ ]ebc_plain_map\[NR_KEYS\][ ]=' drivers/s390/char/defkeymap.c
+    defsnc 'static[ ]const[ ]int16_t[ ]g_pyramid\[8\]\[8\][ ]=' drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/tdf/tdf_1.0/ia_css_tdf.host.c
+    accept 'MODULE_FIRMWARE[(]["]aica_firmware\.bin["][)][;]' sound/sh/aica.c
+    accept '[\t]err[ ]=[ ]request_firmware[(][&]fw_entry[,][ ]["]aica_firmware\.bin["][,]' sound/sh/aica.c
+    defsnc '[\t]static[ ]const[ ]u8[ ]norm_addrs\[\][ ]=' sound/soc/codecs/tscs42xx.c
+    accept '[\t]FW=["][$]FWPATH[/]test-firmware\.bin["]' tools/testing/selftests/firmware/fw_lib.sh
+    accept '\([/][*][ ]0x1[ ]\[\^\\000\][*]\[\^[/]\\000\][/][/][&][ ][*][/][ ]\)\?0x1B[,][ ]0x5E[,][ ]0x78[,][ ]0x3D[,][ ]0x00[,][ ]0x00[,][ \n]0x00[,][ ]0x18[,][ ][0x1-9A-F, \n]*' 'security/apparmor/\(null\|stacksplit\)dfa.in'
+    blobname 'rtl_bt[/]rtl\(8723d\|8821c\)_\(config\|fw\)\.bin' drivers/bluetooth/btrtl.c
+    blobname 'amdgpu[/]vega12_smc\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
+    blobname 'amdgpu[/]vega12_uvd\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
+    blobname 'amdgpu[/]vega12_vce\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c
+    blobname 'i915[/]cnl_dmc_ver1_07\.bin' drivers/gpu/drm/i915/intel_csr.c
+    defsnc 'static[ ]const[ ]struct[ ]af9013_reg_mask_val[ ]demod_init_tab\[\][ ]=' drivers/media/dvb-frontends/af9013_priv.h
+    defsnc 'static[ ]const[ ]struct[ ]af9013_reg_mask_val[ ]tuner_init_tab_\(env77h11d5\|mt2060\(_2\)\?\|mxl500\(3d\|5\)\|qt1010\|mc44s803\|unknown\|tda18271\)\[\][ ]=' drivers/media/dvb-frontends/af9013_priv.h
+    blobname '\(vpu[/]\)\?vpu_fw_imx51\.bin' drivers/media/platform/coda/coda-common.c
+    blobname 'v4l-codahx4-imx51\.bin' drivers/media/platform/coda/coda-common.c
+    blobname 's5p-mfc-v10\.fw' drivers/media/platform/s5p-mfc/s5p_mfc.c
+    blobname 'example[ ]file[ ]wl1251-nvs\.bin[,][^*]*[*][/]' drivers/net/wireless/ti/wl1251/main.c
+    blobname '["]brcm[/]["]' drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.h
+    blobname 'brcmfmac43\(143\|241b[045]\|29\|3[0459]\|340\|362\|430\(a0\)\?\|455\|5[46]\|73\)-sdio' drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
+    blobname 'brcmfmac43\(602\|50\(c2\)\?\|56\|570\|5[89]\|65[bc]\|66[bc]\|71\)-pcie' drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
+    blobname 'brcmfmac43\(143\|236b\|242a\|569\|73\)' drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c
+    accept '[\t]struct[ ]brcmf_fw_name[ ]fwnames\[\][ ]=[ ][{][\n][\t][\t][{][ ]["]\.bin["]' 'drivers/net/wireless/broadcom/brcm80211/brcmfmac/\(pcie\|sdio\|usb\)\.c'
+    # We require a semicolon after MODULE_FIRMWARE, which this
+    # in-macro occurrence does not have, so take the semicolon from
+    # the previous in-macro declaration.
+    blobname '[;][ ]\\[\n]MODULE_FIRMWARE[(]BRCMF_FW_DEFAULT_PATH[^)]*[)]' drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.h
+
+    # Adjust for catching firmware_request
+    accept 'static[ ]int[ ]coda_firmware_request[(]' drivers/media/platform/code/coda-common.c
+    accept '[\t]*ret[ ]=[ ]coda_firmware_request[(]' drivers/media/platform/code/coda-common.c
+    accept '[\t]struct[ ]gb_bootrom_get_firmware_request[ ][*]firmware_request[;]' drivers/staging/greybus/bootrom.c
+    accept '[\t]*\(if[ ][(]op->request->payload_size[ ]!=[ ]\)\?sizeof[(][*]firmware_request[)]' drivers/staging/greybus/bootrom.c
+    accept '[\t]firmware_request[ ]=[ ]op->request->' drivers/staging/greybus/bootrom.c
+    accept '[\t]\(offset\|size\)[ ]=[ ]le32_to_cpu[(]firmware_request->' drivers/staging/greybus/bootrom.c
+    accept '[\t]struct[ ]gb_fw_download_\(find\|fetch\|release\)_firmware_request[ ][*]request[;]' drivers/staging/greybus/fw-download.c
+
+    # New in 4.18 (-rc6)
+    blobname 'amdgpu[/]vega\(m\|20\)_smc\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
+    blobname 'amdgpu[/]vega\(m\|20\)_uvd\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
+    blobname 'amdgpu[/]vega\(m\|20\)_vce\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c
+    blobname 'amdgpu[/]vegam_\(ce\|pfp\|me\|mec\|mec2\|rlc\)\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v8_0.C
+    blobname 'amdgpu[/]\(vega\(10\|12\|20\)\|raven\)_\(ce\|pfp\|me\|mec\|mec2\|rlc\)\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v9_0.C
+    blobname 'amdgpu[/]vega\(10\|12\|20\)_\(sos\|asd\)\.bin' drivers/gpu/drm/amd/amdgpu/psp_v3_1.C
+    blobname 'amdgpu[/]vegam_sdma1\?\.bin' drivers/gpu/drm/amd/amdgpu/sdma_v3_0.C
+    blobname 'amdgpu[/]\(vega\(10\|12\|20\)\|raven\)_sdma1\?\.bin' drivers/gpu/drm/amd/amdgpu/sdma_v4_0.C
+    blobname 'amdgpu[/]vega\(m\|10\|10_acg12\|20\)_smc\.bin' drivers/gpu/drm/amd/amdgpu/smumgr.c
+    blobna 'https:[/][/]git\.kernel\.org[/][^"\n]*firmware\.git[/]tree[/]i915' drivers/gpu/drm/i915/intel_uc_fw.h
+    blobna 'You[ ]can[ ]use[ ][^"\n]*to[ ]get[ ]the[ ]firmware\.\?' drivers/media/usb/dvb-usb/dvb-usb-firmware.c
+    blob '[ ][*][ ]Firmware[ ]is:[\n][ ][*][	]Derived[ ]from[ ]proprietary[^*]*\([*]\+[^/*][^*]*\)*notice[ ]is[ ]accompanying[ ]it\.[\n][ ][*][/]' drivers/net/tg3.c
+    blobname 'gsl\(3692-jumper-ezpad-6-pro\|3680-\(pov-mobii-wintab-p800w-v20\|onda-v891w-v1\)\)\.fw' drivers/platform/x86/silead_dmi.c
+    blobname 'ctefx-\(sbz\|r3di\)\.bin' sound/pci/hda/patch_ca0132.c
+    defsnc 'static[ ]const[ ]unsigned[ ]int[ ]float_\(vol_db\|zero_to_one\|xbass_xover\)_lookup\[\][ ]=' sound/pci/hda/patch_ca0132.c
+    blobna '[\t][/][*][\n][\t][ ][*][ ]Use[ ]default[ ]ctefx\.bin[ ]if[^*]*\([*]\+[^/*][^*]*\)*[*][/]' sound/pci/hda/patch_ca0132.c
+    defsnc 'static[ ]struct[ ]hda_verb[ ]sbz_init_verbs\[\][ ]=' sound/pci/hda/patch_ca0132.c
+    accept '\([ ]*:functions:[ ]\)\?firmware_request_\(nowarn\|cache\)\([(][)]\)\?' Documentation/driver-api/firmware/request_firmware.rst
+    accept 'this[ ]can[ ]be[ ]done[ ]with[ ]firmware_request_cache[(][)][ ]' Documentation/driver-api/firmware/request_firmware.rst
+    accept '[ ]*[.][.][.][\n][ ]*9[ ]*176[ ]*0[ ]*1[ ]*186[ 0-9\n]*' Documentation/vm/zsmalloc.rst
+    defsnc '\.Lmorus1280_\(const\|counter\):' arch/x86/crypto/morus1280-avx2-asm.S
+    defsnc 'static[ ]const[ ]struct[ ]cipher_testvec[ ]\(\(des3_ede\|bf\)_cbc\|tf_xts\|serpent\|tnepres\|serpent_xts\|speck128\|speck128_xts\|speck64_xts\|cast6_xts\|aes\|aes_cbc\|aes_xts\|aes_ctr_rfc3686\|tea\|xtea\|anubis\|anubis_cbc\|xeta\|camellia_cbc\|camellia_xts\|salsa20_stream\|chacha20\|cts_mode\)_tv_template\[\][ ]=' crypto/testmgr.h
+    accept '[\t ]*mechanism[ ]is[ ]request_firmware_direct[(][)][.]' drivers/base/firmware_loader/Kconfig
+    accept '[ ][*][ ]request_firmware[(][)][ ]-[ ]send[ ]firmware[ ]request' drivers/base/firmware_loader/main.c
+    accept 'request_firmware[(]const[ ]struct[ ]firmware[ ][*][*]firmware_p[,]' drivers/base/firmware_loader/main.c
+    accept '[ ][*][ ]firmware_request_nowarn[(][)][ ]-[ ]request[ ]for[ ]an[ ]optional[ ]fw[ ]module' 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_nowarn[(]const[ ]struct[ ]firmware[ ][*][*]firmware[,]' drivers/base/firmware_loader/main.c
+    accept '[\t]*ret[ ]=[ ]_request_firmware[(]firmware[,][ ]name[,][ ]device' drivers/base/firmware_loader/main.c
+    accept 'EXPORT_SYMBOL_GPL[(]firmware_request_\(nowarn\|cache\)[)]' drivers/base/firmware_loader/main.c
+    accept '[ ][*][ ]request_firmware_direct[(][)][ ]-[ ]load[ ]firmware[ ]directly' drivers/base/firmware_loader/main.c
+    accept '[ ][*][ ]firmware_request_cache[(][)][ ]-[ ]cache[ ]firmware[ ]for[ ]suspend' drivers/base/firmware_loader/main.c
+    accept 'int[ ]firmware_request_cache[(]struct[ ]device[ ][*]device[,]' drivers/base/firmware_loader/main.c
+    accept '[ ][*][ ]request_firmware_into_buf[(][)][ ]-[ ]load[ ]firmware[ ]into[ ]a[ ]previously[ ]allocated[ ]buffer' drivers/base/firmware_loader/main.c
+    accept '[ ][*][ ]request_firmware_nowait[(][)][ ]-[ ]asynchronous[ ]version[ ]of[ ]request_firmware' drivers/base/firmware_loader/main.c
+    accept '[ ][*][ \t]*Asynchronous[ ]variant[ ]of[ ]request_firmware[(][)][ ]for[ ]user[ ]contexts:' drivers/base/firmware_loader/main.c
+    accept 'int[\n]request_firmware_nowait[(][\n][\t]struct[ ]module[ ][*]module' drivers/base/firmware_loader/main.c
+    accept '[\t]INIT_WORK[(][&]fw_work->work[,][ ]request_firmware_work_func[)]' drivers/base/firmware_loader/main.c
+    defsnc 'static[ ]struct[ ]clk_div_table[ ]nand_div_table\[\][ ]=' drivers/clk/actions/owl-s900.c
+    defsc 'static[ ]struct[ ]clk_factor_table[ ]sd_factor_table\[\][ ]=' drivers/clk/actions/owl-s900.c
+    defsnc '[\t][}][ ]id\[\][ ]=' drivers/crypto/caam/ctrl.c
+    defsc 'static[ ]const[ ]struct[ ]IP_BASE[ ]\(ATHUB\|CLK\|DCE\|DF\|FUSE\|GC\|HDP\|MMHUB\|MP[01]\|NBIO\|OSSSYS\|SDMA[01]\|SMUIO\|THM\|UMC\|UVD\|VCE\|XDMA\|RSMU\)_BASE[ ]*=' drivers/gpu/drm/amd/include/vega20_ip_offset.h
+    defsc 'vegam_power_tune_data_set_array\[POWERTUNE_DEFAULT_SET_MAX\][ ]=' drivers/gpu/drm/amd/powerplay/smumgr/vegam_smumgr.c
+    defsnc 'gv100_disp_core_mthd_head[ ]=' drivers/gpu/drm/nouveau/nvkm/engine/disp/coregv100.c
+    defsnc 'gv100_disp_wndw_mthd_base[ ]=' drivers/gpu/drm/nouveau/nvkm/engine/disp/wndwgv100.c
+    defsc 'gf100_grctx_alpha_beta_map\[17\]\[32\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf100.c
+    defsnc 'gv100_grctx_init_sw_veid_bundle_init_0\[\][ ]=' drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgv100.c
+    defsnc 'static[ ]const[ ]struct[ ]dvb_pll_desc[ ]dvb_pll_tda665x_earth_pt1[ ]=' drivers/media/dvb-frontends/dvb-pll.c
+    defsnc 'static[ ]const[ ]struct[ ]imx258_reg[ ]mode_\(4208x3118\|2104_1560\|1048_780\)_regs\[\][ ]=' drivers/media/i2c/imx258.c
+    defsc 'static[ ]const[ ]struct[ ]reg_value[ ]ov7251_setting_vga_[369]0fps\[\][ ]=' drivers/media/i2c/ov7251.c
+    defsnc 'static[ ]const[ ]u8[ ]va1j5jf8007[st]_2[05]mhz_configs\[\]\[2\][ ]=' drivers/media/pci/pt1/pt1.c
+    defsnc 'static[ ]const[ ]struct[ ]iro[ ]iro_arr\[59\][ ]=' drivers/net/ethernet/qlogic/qed/qed_hsi.h
+    defsnc 'static[ ]const[ ]int[ ]pfuze3000_sw1a\[\][ ]=' drivers/regulator/pfuze100-regulator.c
+    accept 'struct[ ]gb_\(fw_download_\(find\|fetch\|release\)\|bootrom_get\)_firmware_request[ ][{]' drivers/staging/greybus/greybus_protocols.h
+    accept 'int[ ]firmware_request_nowarn[(]const[ ]struct[ ]firmware[ ][*][*]fw' include/linux/firmware.h
+    accept 'static[ ]inline[ ]int[ ]firmware_request_nowarn[(]const[ ]struct[ ]firmware[ ][*][*]fw' include/linux/firmware.h
+    accept 'int[ ]firmware_request_cache[(]struct[ ]device[ ][*]device' include/linux/firmware.h
+    accept '[\t]retval[ ]=[ ]firmware_request_nowarn[(][&]xfw[,][ ]NONFREE_FIRMWARE[,]' include/linux/firmware.h
+    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt1305_reg\[\][ ]=' sound/soc/codecs/rt1305.c
+    defsnc 'static[ ]char[ ]const[ ][*][ ]const[ ]comp_rat_txt\[\][ ]=' sound/soc/codecs/tscs454.c
+    accept '[ ]*[{]["]pid["]:21800[,]["]fd["]:5[,]["]prog_id["]:9[,]["]fd_type["]:["]uprobe["][,]["]filename["]:["][/]home[/]yhs[/]a\.out["][,]["]offset["]:1159[}]\]' tools/bpf/bpftool/Documentation/bpftool-perf.rst
+    accept '[#][ ]a[ ]file[ ]whose[ ]name[ ]is[ ]that[ ]of[ ]the[ ]specified[ ]litmus[ ]test[,][ ]but[ ]with[ ]["]\.out["]' tools/memory-model/scripts/checkalllitmus.sh
+    accept '[#][ ]with[ ]["]\.out["][ ]appended\.' tools/memory-model/scripts/checkalllitmus.sh
+    accept 'static[ ]struct[ ]bpf_test[ ]tests\[\][ ]=[ ][{][\n]\([^}][^\n]*[\n][\n]*\)*[}][;]' tools/testing/selftests/bpf/test_verifier.c
+    # Sources are in cwsr_trap_handler_gfx[89].asm.
+    defsnc 'static[ ]const[ ]uint32_t[ ]cwsr_trap_gfx[89]_hex\[\][ ]=' drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h
+    blobname 'amd[/]sev\.fw' drivers/crypto/ccp/psp-dev.c
+    blobname 'chipone[/]icn8505-\(%s\|[^.",)]*\)\.fw' drivers/input/touchscreen/chipone_icn8505.c
+    accept '[\t]*return[ ]firmware_request_cache[(]dev->dev[,][ ]MT7601U_FIRMWARE[)]' drivers/net/wireless/mediatek/mt7601u/mcu.c
+
+    # New in 4.19-rc7.
+    accept '[\t]*reg[ ]=[ ][<]\(0x\(40\)\?[08][ ]0xd[02][01][0-9a-f]0000[ ]0x0[ ]0x10000[\n\t ]*\)*[>][;]' 'Documentation/devicetree/bindings/crypto/hisilicon,hip07-sec\.txt\|arch/arm64/boot/dts/hisilicon/hip07\.dtsi'
+    defsnc 'const[ ]u8[ ]sha384_zero_message_hash\[SHA384_DIGEST_SIZE\][ ]=' crypto/sha512_generic.c
+    defsnc 'const[ ]u8[ ]sha512_zero_message_hash\[SHA512_DIGEST_SIZE\][ ]=' crypto/sha512_generic.c
+    defsnc 'static[ ]const[ ]char[ ]vmac64_string1\[144\][ ]=' crypto/testmgr.h
+    defsc 'static[ ]struct[ ]clk_factor_table[ ]lcd_factor_table\[\][ ]=' drivers/clk/actions/owl-s700.c
+    defsnc 'static[ ]int[ ]avs_map\[\][ ]=' drivers/cpufreq/armada-37xx-cpufreq.c
+    defsnc 'static[ ]const[ ]u32[ ]a6xx_registers\[\][ ]=' drivers/gpu/drm/msm/adreno/a6xx_gpu.c
+    defsnc '[\t]static[ ]const[ ]uint32_t[ ]off_tbl\[QSEED3_FILTERS\]\[QSEED3_LUT_REGIONS\]\[2\][ ]=' drivers/gpu/drm/msm/disp/dpu1/dpu_hw_util.c
+    defsnc 'static[ ]const[ ]struct[ ]reg_value[ ]ov2680_setting_30fps_\(QUXGA_800_600\|UXGA_1600_1200\)\[\][ ]=' drivers/media/i2c/ov2680.c
+    defsnc 'static[ ]const[ ]uint8_t[ ]zigzag\[64\][ ]=' drivers/media/platform/vicodec/vicodec-codec.c
+    defsnc 'static[ ]const[ ]int[ ]quant_table\(_p\)\?\[\][ ]=' drivers/media/platform/vicodec/vicodec-codec.c
+    defsnc '[\t]static[ ]const[ ]u8[ ]demod_init\[\]\[2\][ ]=' drivers/media/usb/dvb-usb-v2/gl861.c
+    defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]cs47l35_reva_16_patch\[\][ ]=' drivers/mfd/cs47l35-tables.c
+    defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]cs47l85_rev[ac]_\(16\|32\)_patch\[\][ ]=' drivers/mfd/cs47l85-tables.c
+    defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]cs47l90_reva_16_patch\[\][ ]=' drivers/mfd/cs47l90-tables.c
+    defsnc 'static[ ]const[ ]u16[ ]rtl8366rb_init_jam_\(ver_[0123]\|f5d8235\)\[\][ ]=' drivers/net/dsa/rtl8366rb.c
+    defsnc '[\t]static[ ]const[ ]int[ ]mt76x0_tx_pwr_ch_list\[\][ ]=' drivers/net/wireless/mediatek/mt76/mt76x0/phy.c
+    defsnc 'static[ ]const[ ]unsigned[ ]int[ ]madera_pin_single_group_pins\[\][ ]=' drivers/pinctrl/cirrus/pinctrl-madera-core.c
+    defsnc 'static[ ]const[ ]int[ ]adp5061_vmax\[36\][ ]=' drivers/power/supply/adp5061.c
+    defsnc 'static[ ]const[ ]unsigned[ ]int[ ]sw2_sw4_val_tbl\[\][ ]=' drivers/regulator/cpcap-regulator.c
+    defsnc '[}][ ]segdist_codes\[\][ ]=' drivers/slimbus/stream.c
+    accept '#define[ ]PIOLED_GAMMA[\t]["]\([0234][ ]\|["][ ][\\][\n\t ]*["]\)*["]' drivers/staging/fbtft/fbtft_device.c
+    defsnc 'static[ ]const[ ]struct[ ]cp210x_rate[ ]cp210x_an205_table1\[\][ ]=' drivers/usb/serial/cp210x.c
+    defsnc 'static[ ]const[ ]u8[ ]\(precedence\|diffserv[843]\|besteffort\)\[\][ ]=' net/sched/sch_cake.c
+    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt5682_reg\[\][ ]=' sound/soc/codecs/rt5682.c
+    defsnc 'static[ ]struct[ ]hda_verb[ ]ca0132_init_verbs1\[\][ ]=' sound/pci/hda/patch_ca0132.c
+    blobname 'imx[/]sdma[/]sdma-imx31\.bin' arch/arm/boot/dts/imx31.dtsi
+    blobname 'imx[/]sdma[/]sdma-imx6q\.bin' arch/arm/boot/dts/imx6sll.dtsi
+    blobname 'mediatek[/]mt7622pr2h\.bin' drivers/bluetooth/btmtkuart.c
+    blobname 'qca[/]crnv%02x\.bin' drivers/bluetooth/btqca.c
+    blobname 'rtl_bt[/]rtl8723[bd]s_fw\.bin' drivers/bluetooth/btrtl.c
+    blobname '%s\(-%s\)\?\.bin' drivers/bluetooth/btrtl.c
+    blobname 'cf-fsi-fw\.bin' drivers/fsi/fsi-master-ast-cf.c
+    blobname 'amdgpu[/]\(bonaire\|hawaii\)_\(k_\)\?smc\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
+    blobname 'amdgpu[/]\(bonaire\|kabini\|kaveri\|hawaii\|mullins\)_uvd\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
+    blobname 'amdgpu[/]\(bonaire\|kabini\|kaveri\|hawaii\|mullins\)_vce\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c
+    blobname 'amdgpu[/]%s_smc\.bin' 'drivers/gpu/drm/amd/amdgpu/[cs]i_dpm\.c'
+    blobname 'amdgpu[/]si58_mc\.bin' drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c
+    blobname 'a630_\(sqe\.fw\|gmu\.bin\)' drivers/gpu/drm/msm/adreno/adreno_device.c
+    blobname 'qcom[/]venus-5\.2[/]venus\.mdt' drivers/media/platform/qcom/venus/core.c
+    blobname 'mellanox[/]mlxsw_spectrum-\(["][ ]__stringify[(]MLXSW_SP1_FWREV_[^)]*[)][ \\\n\t]*["]\.\)*mfa2' drivers/net/ethernet/mellanox/mlxsw/spectrum.c
+    blobname 'wil6436\(_ftm\)\?\.fw' drivers/net/wireless/ath/wil6210/wil6210.h
+    blobna '[/][*][ ]brcmfmac436\(02\|6b\)-pcie\.\(ap\.\)\?bin[ ]from[ ]linux-firmware\.git[ ]commit[ ][0-9a-f]*[ ][*][/]' drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c
+    blobname 'mediatek[/]mt7610u\.bin' drivers/net/wireless/mediatek/mt76/mt76x0/usb.h
+    blobname 'mediatek[/]mt7662u\(_rom_patch\)\?\.bin' drivers/net/wireless/mediatek/mt76/mt76x2.h
+    blobname 'gsl3680-chuwi-vi10\.fw' drivers/platform/x86/touchscreen_dmi.c
+    blobname 'gsl1680-connect-tablet9\.fw' drivers/platform/x86/touchscreen_dmi.c
+    blobname 'gsl3692-cube-knote-i1101\.fw' drivers/platform/x86/touchscreen_dmi.c
+    blobname 'gsl1680-onda-v820w-32g\.fw' drivers/platform/x86/touchscreen_dmi.c
+    blobname 'gsl3676-onda-v891w-v3\.fw' drivers/platform/x86/touchscreen_dmi.c
+    blobname 'keystone-dsp%d-fw' drivers/remoteproc/keystone_remoteproc.c
+    blobname 'mba\.mbn' drivers/remoteproc/qcom_q6v5_pil.c
+    blobname 'IPQ8074[/]q6_fw\.mdt' drivers/remoteproc/qcom_q6v5_wcss.c
+    blobname '%s-%s-%s\.bin' sound/soc/codecs/wm_adsp.c
+    accept '[\t]*rc[ ]=[ ]wil_request_firmware[(]wil[,][ ]board_file[,][ ]true[)][;]' drivers/net/wireless/ath/wil6210/main.c
+    blobna '[ ]\(Important[ ]Notes\|Obtaining[ ]and[ ]Creating\)[^\n]*\([\n]#\([\n]#\([\n]#[ ]*For[ ]the\)\?\)\?[ ][^\n]*\)\+' Documentation/sound/cards/multisound.sh
+
+    # New in 4.20 up to -rc6.
+    initnc '\.Lcts_permute_table:' arch/arm64/crypto/aes-modes.S
+    defsnc '[\t]static[ ]const[ ]unsigned[ ]char[ ]default_colors\[\][ ]__initconst[ ]=' arch/powerpc/kernel/prom_init.c
+    defsc 'static[ ]const[ ]struct[ ]cipher_testvec[ ]aes_lrw_tv_template\[\][ ]=' crypto/testmgr.h
+    blobname 'rtl_bt[/]rtl8822cu_fw\.bin' drivers/bluetooth/btrtl.c
+    blobname 'amdgpu[/]\(picasso\|raven2\)_vcn\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
+    blobname 'amdgpu[/]\(vega20\|%s\)_sos\.bin' drivers/gpu/drm/amd/amdgpu/psp_v11_0.c
+    blobname 'amdgpu[/]raven_dmcu\.bin' drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+    blobname 'i915[/]icl_dmc_ver1_07\.bin' drivers/gpu/drm/i915/intel_csr.c
+    defsnc 'static[ ]const[ ]struct[ ]vadc_map_pt[ ]adcmap_100k_104ef_104fb_1875_vref\[\][ ]=' drivers/iio/adc/qcom-vadc-common.c
+    defsc 'static[ ]const[ ]struct[ ]reg_8[ ]imx274_start_1\[\][ ]=' drivers/media/i2c/imx274.c
+    defsnc 'static[ ]const[ ]struct[ ]imx319_reg[ ]\(imx319_global\|mode_\(3264x2448\|3280x2464\|1936x1096\|1920x1080\|1640x\(1232\|922\)\|1296x736\|1280x720\)\)_regs\[\][ ]=' drivers/media/i2c/imx319.c
+    defsnc 'static[ ]const[ ]struct[ ]imx355_reg[ ]\(imx355_global\|mode_\(326[48]x2448\|3280x2464\|19\(40\|36\)x1096\|192[40]x1080\|1640x\(1232\|922\)\|1\(300\|296\)x736\|128[40]x720\|820x616\)\)_regs\[\][ ]=' drivers/media/i2c/imx355.c
+    blobname 'lantiq[/]xrx200_phy\(22f\|11g\)_a\(14\|2[21]\)\.bin' drivers/net/dsa/lantiq_gswip.c
+    defsnc 'static[ ]const[ ]struct[ ]iro[ ]iro_arr\[60\]' drivers/net/ethernet/qlogic/qed/qed_hsi.h
+    blobname 'mscc_vsc8584_revb_int8051_fb48\.bin' drivers/net/phy/mscc.c
+    blobname 'mscc_vsc8574_revb_int8051_29e8\.bin' drivers/net/phy/mscc.c
+    defsnc '[\t]const[ ]struct[ ]reg_val[ ]\(init_eee\|pre_init1\)\[\][ ]=' drivers/net/phy/mscc.c
+    defsnc '[\t][}][ ]chan_map\[\][ ]=' drivers/net/wireless/mediatek/mt76/mt76x0/eeprom.c
+    blobname 'mediatek[/]mt76[15]0e\.bin' drivers/net/wireless/mediatek/mt76/mt76x0/pci_mcu.c
+    defsc 'static[ ]const[ ]struct[ ]pre_pll_config[ ]pre_pll_cfg_table\[\][ ]=' drivers/phy/rockchip/phy-rockhip-inno-hdmi.c
+    defsc 'static[ ]const[ ]struct[ ]post_pll_config[ ]post_pll_cfg_table\[\][ ]=' drivers/phy/rockchip/phy-rockhip-inno-hdmi.c
+    defsc 'static[ ]const[ ]struct[ ]phy_config[ ]rk3[23]28_phy_cfg\[\][ ]=' drivers/phy/rockchip/phy-rockhip-inno-hdmi.c
+    blobname 'gsl3676-onda-v80-plus-v3\.fw' drivers/platform/x86/touchscreen_dmi.c
+    blobname 'gsl1680-trekstor-primebook-c11\.fw' drivers/platform/x86/touchscreen_dmi.c
+    blobname 'gsl1680-trekstor-primetab-t13b\.fw' drivers/platform/x86/touchscreen_dmi.c
+    blobname 'cdsp\.mdt' drivers/remoteproc/qcom_q6v5_pas.c
+    defsnc '[\t]unsigned[ ]char[ ]inq\[36\][ ]=' drivers/scsi/myrb.c
+    defsnc 'static[ ]const[ ]u8[ ]\(non_\)\?intra_quantization_matrix_default\[64\][ ]=' drivers/staging/media/sunxi/cedrus/cedrus_mpeg2.c
+    blobname 'ctefx-desktop\.bin' sound/pci/hda/patch_ca0132.c
+    defsnc 'static[ ]const[ ]unsigned[ ]int[ ]lpf[123]_default_tap\[\][ ]=' sound/soc/meson/axg-pdm.c
+    blobname 'eboard\.bin' 'drivers/net/wireless/ath/ath10k/\(hw\.h\|core\.c\)'
+    blobname 'iwlwifi-\(Qu\(Qnj\)\?-b0-hr-b0\|su-z0\|Qu-b0-jf-b0\)-' drivers/net/wireless/intel/iwlwifi/cfg/22000.c
+    blobname 'modem\.b%02d' drivers/remoteproc/qcom_q6v5_mss.c
+    # New in 4.20-rc7.
+    blobname 'amdgpu[/]polaris1[01]_k2_smc\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
+    blobname 'amdgpu[/]polaris12_k_smc\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
+
+    # New in 5.0-rc5.
+    defsnc '__visible[ ]const[ ]u32[ ]crypto_[fi][tl]_tab\[4\]\[256\][ ]__cacheline_aligned[ ]=' crypto/aes_generic.c
+    defsnc 'static[ ]const[ ]u8[ ]Tau\[64\][ ]=' crypto/streebog_generic.c
+    defsnc 'static[ ]const[ ]u8[ ]Pi\[256\][ ]=' crypto/streebog_generic.c
+    defsnc 'static[ ]const[ ]unsigned[ ]long[ ]long[ ]Ax\[8\]\[256\][ ]=' crypto/streebog_generic.c
+    defsnc 'static[ ]const[ ]struct[ ]hash_testvec[ ]hmac_streebog\(256\|512\)_tv_template\[\][ ]=' crypto/testmgr.h
+    defsc 'static[ ]const[ ]struct[ ]cipher_testvec[ ]xchacha\(20\|12\)_tv_template\[\][ ]=' crypto/testmgr.h
+    defsnc 'static[ ]const[ ]struct[ ]profile_mode_setting[ ]smu7_profiling\[7\][ ]=' drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c
+    defsnc 'static[ ]const[ ]uint32_t[ ]vpp_filter_coefs_bicubic\[\][ ]=' drivers/gpu/drm/meson/meson_vpp.c
+    defsc 'static[ ]const[ ]unsigned[ ]int[ ]a\(200\|220\|225\)_registers\[\][ ]=' drivers/gpu/drm/msm/adreno/a2xx_gpu.c
+    defsc 'static[ ]const[ ]u32[ ]a6xx_\(ps_cluster_rac\|vbif_registers\|gmu_[gc]x_registers\)\[\][ ]=' drivers/gpu/drm/msm/adreno/a6xx_gpu-state.h
+    defsc 'static[ ]const[ ]struct[ ]cmd_set[ ]qcom_2k_panel_magic_cmds\[\][ ]=' drivers/gpu/drm/panel/panel-truly-nt35597.c
+    defsnc 'static[ ]const[ ]struct[ ]dw_hdmi_mpll_config[ ]sun50i_h6_mpll_cfg\[\][ ]=' drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
+    defsnc 'static[ ]const[ ]struct[ ]dw_hdmi_curr_ctrl[ ]sun50i_h6_cur_ctr\[\][ ]=' drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
+    defsnc '[\t]mipi_dbi_command[(]mipi[,][ ]HX8357D_SETGAMMA[,]' drivers/gpu/drm/tinydrm/hx8357d.c
+    defsnc 'static[ ]const[ ]int[ ]rm3100_samp_rates\[RM3100_SAMP_NUM\]\[3\][ ]=' drivers/iio/magnetometer/rm3100-core.c
+    defsc 'static[ ]const[ ]struct[ ]reg_8[ ]mode_\(4096x2304\|1920x1080\|table_common\)\[\][ ]=' drivers/media/i2c/imx214.c
+    defsnc 'static[ ]const[ ]struct[ ]reg_value[ ]ov5640_setting_\(VGA_640_480\|XGA_1024_768\|QVGA_320_240\|QCIF_176_144\|NTSC_720_480\|PAL_720_576\|720P_1280_720\|1080P_1920_1080\|QSXGA_2592_1944\)\[\][ ]=' drivers/media/i2c/ov5640.c
+    defsnc 'static[ ]const[ ]u32[ ]aspeed_video_jpeg_quant\[ASPEED_VIDEO_JPEG_QUANT_SIZE\][ ]=' drivers/media/platform/aspeed-video.c
+    defsnc 'static[ ]const[ ]u32[ ]aspeed_video_jpeg_dct\[ASPEED_VIDEO_JPEG_NUM_QUALITIES\][\n\t ]*\[ASPEED_VIDEO_JPEG_DCT_SIZE\][ ]=' drivers/media/platform/aspeed-video.c
+    defsnc '[\t]static[ ]u8[ ]rss_key\[AQ_CFG_RSS_HASHKEY_SIZE\][ ]=' drivers/net/ethernet/aquantia/atlantic/aq_nic.c
+    defsnc 'static[ ]const[ ]u16[ ]mlxsw_sp_acl_bf_crc_tab\[256\][ ]=' drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_bloom_filter.c
+    defsc '[\t]*ipu3_css_bds_configs\[IMGU_BDS_CONFIG_LEN\][ ]=' drivers/staging/media/ipu3/ipu3-tables.c
+    defsnc 'const[ ]s16[ ]ipu3_css_gdc_lut\[4\]\[256\][ ]=' drivers/staging/media/ipu3/ipu3-tables.c
+    defsnc 'const[ ]struct[ ]ipu3_uapi_bnr_static_config[ ]ipu3_css_bnr_defaults[ ]=' drivers/staging/media/ipu3/ipu3-tables.c
+    defsnc 'const[ ]struct[ ]ipu3_uapi_gamma_corr_lut[ ]ipu3_css_gamma_lut[ ]=' drivers/staging/media/ipu3/ipu3-tables.c
+    defsnc '[\t]*ipu3_css_tcc_gain_pcwl_lut[ ]=' drivers/staging/media/ipu3/ipu3-tables.c
+    defsnc 'const[ ]struct[ ]imgu_abi_anr_config[ ]ipu3_css_anr_defaults[ ]=' drivers/staging/media/ipu3/ipu3-tables.c
+    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
+    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
+    blobname 'leia_\(pm4\|pfp\)_470\.fw' drivers/gpu/drm/msm/adreno/adreno_device.c
+    blobname 'nvidia[/]tegra194[/]vic\.bin' drivers/gpu/drm/tegra/vic.c
+    blobname 'qtn[/]\(fmac\|uboot\)_qsr1000\.img' drivers/net/wireless/quantenna/qtnfmac/qtn_hw_ids.h
+    accept '\(static[ ]inline[ ]void[ ]\|[\t]*\)pqi_request_firmware_feature[(]' drivers/scsi/smartpqi/smartpqi_init.c
+    blobname 'intel[/]ipu3-fw\.bin' drivers/staging/media/ipu3/ipu3-css-fw.h
+    blobname 'intel[/]dsp_fw_icl\.bin' sound/soc/intel/common/soc-acpi-intel-icl-match.c
+    # SOF stands for Sound Open Firmware, and it is Free Software.
+    # blobname 'sof-icl\(\.ri\|-rt274\.tplg\)' sound/soc/intel/common/soc-acpi-intel-icl-match.c
+    blobname 'iwl-dbg-tlv\.ini' drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
+    accept '\(static[ ]int[ ]\|[\t]*\)brcmf_fw_request_firmware[(]' drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
+    blobna 'snprintf[(]version[,][ ]ETHTOOL_FWVERS_LEN[,][ ]["][ ]storm[ ]%d\.%d\.%d\.%d["]\([,][ \t\n]*BCM_5710_FW_\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION\)\+[)]' drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c
+    # In case the command matched by the above is changed and it then
+    # fails to match, catch the snprintf format string, since the FW
+    # macros will be caught and dropped by other much earlier patterns.
+    blobname '[ ]storm[ ]%d\.%d\.%d\.%d' drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c
+    # These are probably older, we did not check for .ri and .tplg before.
+    # blobname 'intel[/]sof-apl\(\.ri\|-\(rt298\|da7219\|pcm512x\|wm8804\|tdf8532\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-bxt-match.c
+    # blobname 'intel[/]sof-byt\(\.ri\|-\(rt5670\|rt5640\|rt5651\|da7213\|rt5645\|max98090\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-byt-match.c
+    # blobname 'intel[/]sof-cht\(\.ri\|-\(rt5645\|rt5670\|max98090\|nau8824\|da7213\|es8316\|rt5640\|rt5651\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-cht-match.c
+    # blobname 'intel[/]sof-cnl\(\.ri\|-rt274\.tplg\)' sound/soc/intel/common/soc-acpi-intel-cnl-match.c
+    # blobname 'intel[/]sof-glk\(\.ri\|-\(alc298\|da7219\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-glk-match.c
+    # blobname 'intel[/]sof-hda-generic\.tplg' sound/soc/intel/common/soc-acpi-intel-hda-match.c
+    # blobname 'intel[/]sof-hsw\(\.ri\|\.tplg\)' sound/soc/intel/common/soc-acpi-intel-hsw-bdw-match.c
+    # blobname 'intel[/]sof-bdw\(\.ri\|-\(rt286\|rt5677\|rt5640\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-hsw-bdw-match.c
+    accept '[\t][\t]pr_err[(]["]%s:[ ]request_firmware[ ]error' drivers/net/wireless/quantenna/qtnfmac/pcie/topaz_pcie.c
+
+    # New in 5.0.7.
+    accept '[\t]*[/]bin[/]bash[ ]["]tests[/][$][{]testname[}]\.sh["][ ][<][ ]["]tests[/][$][{]testname[}]\.vg\.out["]' tools/lib/lockdep/run_tests.sh
+
+    # New in 5.1-rc6.
+    initnc '.Lbyteshift_table:' 'arch/arm/crypto/crct10dif-\(ce-core\|pcl-asm_64\)\.S'
+    defsc 'static[ ]const[ ]struct[ ]aead_testvec[ ]hmac_sha\(1\|256\|512\)_aes_cbc_tv_temp\[\][ ]=' crypto/testmgr.h
+    defsc 'static[ ]const[ ]struct[ ]aead_testvec[ ]hmac_sha\(1\|224\|256\|384\|512\)_des_cbc_tv_temp\[\][ ]=' crypto/testmgr.h
+    defsc 'static[ ]const[ ]struct[ ]aead_testvec[ ]hmac_sha\(1\|224\|256\|384\|512\)_des3_ede_cbc_tv_temp\[\][ ]=' crypto/testmgr.h
+    defsc 'static[ ]const[ ]struct[ ]aead_testvec[ ]\(aes_\(gcm_rfc4106\|ccm_rfc4309\)\|rfc7539\(\|esp\)\)_tv_template\[\][ ]=' crypto/testmgr.h
+    initnc '\t\.entries[ ]=' drivers/clk/tegra/clk-tegra124-dfll-fcpu.c
+    accept '[	][	]*gf100_gr_init_fw[(]gr->fecs\.falcon[,][ ][&]gr->fuc409c[,][ ][&]gr->fuc409d[)][;]' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c
+    accept '[	][	]*gf100_gr_init_fw[(]gr->gpccs\.falcon[,][ ][&]gr->fuc41ac[,][ ][&]gr->fuc41ad[)][;]' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c
+    defsnc 'static[ ]const[ ]struct[ ]kingdisplay_panel_cmd[ ]init_code\[\][ ]=' drivers/gpu/drm/panel/panel-kingdisplay-kd097d04.c
+    defsnc 'static[ ]const[ ]struct[ ]ov8856_reg[ ]mode_\(3280x2464\|1640x1232\)_regs\[\][ ]=' drivers/media/i2c/ov8856.c
+    defsnc 'static[ ]const[ ]u8[ ]hclge_hash_key\[\][ ]=' drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
+    defsnc 'static[ ]const[ ]u8[ ]hclgevf_hash_key\[\][ ]=' drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
+    defsnc 'static[ ]const[ ]u32[ ]max77651_sbb1_regulator_volt_table\[\][ ]=' drivers/regulator/max77650-regulator.c
+    defsnc 'static[ ]const[ ]unsigned[ ]int[ ]pv88090_buck1_limits\[\][ ]=' drivers/regulator/pv88090-regulator.c
+    defsc '\t*imgu_css_bds_configs\[IMGU_BDS_CONFIG_LEN\][ ]=' drivers/staging/media/ipu3/ipu3-tables.c
+    defsnc 'const[ ]s16[ ]imgu_css_gdc_lut\[4\]\[256\][ ]=' drivers/staging/media/ipu3/ipu3-tables.c
+    defsc 'const[ ]struct[ ]ipu3_uapi_bnr_static_config[ ]imgu_css_bnr_defaults[ ]=' drivers/staging/media/ipu3/ipu3-tables.c
+    defsnc 'const[ ]struct[ ]ipu3_uapi_gamma_corr_lut[ ]imgu_css_gamma_lut[ ]=' drivers/staging/media/ipu3/ipu3-tables.c
+    defsnc '\t*imgu_css_tcc_gain_pcwl_lut[ ]=' drivers/staging/media/ipu3/ipu3-tables.c
+    defsnc 'const[ ]struct[ ]imgu_abi_anr_config[ ]imgu_css_anr_defaults[ ]=' drivers/staging/media/ipu3/ipu3-tables.c
+    defsnc 'static[ ]struct[ ]channel_list[ ]channel_array\[\][ ]=' drivers/staging/rtl8192e/dot11d.c
+    accept '\t*sprintf[(]fname[,][ ]["]hbm\.%d\.out["]' samples/bpf/hbm.c
+    accept '\tsnd_card_ro_proc_new[(]hdspm-[>]card[,][ ]["]ports\.out["]' sound/pci/rme9652/hdspm.c
+    defsnc 'static[ ]const[ ]struct[ ]cs35l36_pll_config[ ]cs35l36_pll_sysclk\[\][ ]=' sound/soc/codecs/cs35l36.c
+    defsnc 'static[ ]const[ ]u8[ ]table_msbc_silence\[SCO_PACKET_180\][ ]=' sound/soc/mediatek/common/mtk-btcvsd.c
+    accept '[#][ ]that[ ]of[ ]the[ ]specified[ ]litmus[ ]test[,][ ]but[ ]with[ ]["]\.out["][ ]appended' tools/memory-model/scripts/checkalllitmus.sh
+    accept '\t\.data[ ]=[ ][{]\([\n\t ]*0\(\|x08\|x06\|x10\)*[,]\)*\([ ]0x\(bf\|48\|d6\|43\)[,]\)*[ ]0xd6[,]' tools/testing/selftests/bpf/verifier/ld_abs.c
+    blobname 'habanalabs[/]goya[/]goya-\(u-boot\.bin\|fit\.itb\)' drivers/misc/habanalabs/goya/goya.c
+    blobname 'mrvl[/]sd8977_uapsta\.bin' 'drivers/bluetooth/btmrvl_sdio\.c\|drivers/net/wireless/marvell/mwifiex/sdio\.h'
+    blobname 'mediatek[/]mt766[38]pr2h\.bin' drivers/bluetooth/btmtkuart.c
+    blobname 'mt76\(03\|28\)_e[12]\.bin' drivers/net/wireless/mediatek/mt76/mt7603/mt7603.h
+    blobname 'gsl3676-chuwi-hi8-air\.fw' drivers/platform/x86/touchscreen_dmi.c
+    blobname 'gsl1680-chuwi-hi10-air\.fw' drivers/platform/x86/touchscreen_dmi.c
+    blobname 'gsl3692-pov-mobii-wintab-p1006w-v10\.fw' drivers/platform/x86/touchscreen_dmi.c
+    # blobname 'sof-apl\(\.ri\|-\(rt298\|da7219\|pcm512x\|wm8804\|tdf8532\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-bxt-match.c
+    # blobname 'sof-byt\(\.ri\|-\(rt5670\|rt5640\|rt5651\|da7213\|es8316\|rt5645\|max98090\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-byt-match.c
+    # blobname 'sof-cht\(\.ri\|-\(rt5645\|rt5670\|rt5645\|max98090\|nau8824\|da7213\|es8316\|rt5640\|rt5651\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-cht-match.c
+    # blobname 'sof-cnl\(\.ri\|-rt274\.tplg\)' sound/soc/intel/common/soc-acpi-intel-cnl-match.c
+    # blobname 'sof-glk\(\.ri\|-\(alc298\|da7219\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-glk-match.c
+    # blobname 'sof-hda-generic\.tplg' sound/soc/intel/common/soc-acpi-intel-hda-match.c
+    # blobname 'sof-hsw\(\.ri\|\.tplg\)' sound/soc/intel/common/soc-acpi-intel-hsw-bdw-match.c
+    # blobname 'sof-bdw\(\.ri\|-\(rt286\|rt5677\|rt5640\)\.tplg\)' sound/soc/intel/common/soc-acpi-intel-hsw-bdw-match.c
+    # blobname 'sof-icl\(\.ri\|-rt274\.tplg\)' sound/soc/intel/common/soc-acpi-intel-icl-match.c
+    blobna '[/][*][ ]brcmfmac4366c-pcie\.\(ap\.\)\?bin[ ]from[ ]linux-firmware\.git[ ]commit[ ][0-9a-f]*[ ][*][/]' drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c
+    blobname 'iwlwifi-[^ ]*-[ab]0-' drivers/net/wireless/intel/iwlwifi/cfg/22000.c
+    blobname 'iwlwifi-\(\(QuZ-a0-hr\|QuQnj-b0-jf\|so-a0-\(jf\|hr\)\)-b0\|\(cc\|\(so\|ty\)-a0-gf\)-a0\)-' drivers/net/wireless/intel/iwlwifi/cfg/22000.c
+
+    # New in 5.1.2, 5.0.16, 4.19.43, 4.14.119, and 4.9.176.
+    accept '[ ][ ]the[ ]CPUID[ ]to[ ]the[ ]guest[.][ ]If[ ]the[ ]host[ ]has[ ]updated[ ]microcode[ ]the[ ]protection' 'Documentation/\(admin-guide/\)\?hw-vuln/mds\.rst'
+    accept 'instruction[ ]in[ ]combination[ ]with[ ]a[ ]microcode[ ]update[.][ ]The[ ]microcode[ ]clears' Documentation/x86/mds.rst
+    accept '[ \t]*scenarios[ ]where[ ]the[ ]host[ ]has[ ]the[ ]updated[ ]microcode[ ]but' Documentation/x86/mds.rst
+
+    # New in 5.2.
+    blobname 'nvidia[/]%s[/]%s\(-%d\)\?\.bin' drivers/gpu/drm/nouveau/nvkm/core/firmware.c
+    accept '\(63\|31\|56\|24\|39\|32\|[0437][ ]\)\([ ]\([0-9 ][0-9 ]\)\)*[ ]\(56\|63\|32\|39\|24\|31\|[ ]\?[0437]\)\([\n]\(63\|31\|56\|24\|39\|32\|[0437][ ]\)\([ ]\([0-9 ][0-9 ]\)\)*[ ]\(56\|63\|32\|39\|24\|31\|[ ]\?[0437]\)\)*' Documentation/packing.txt
+    blobname 'amd-ucode[/]microcode_amd[*]\.bin' Documentation/x86/microcode.rst
+    accept '[ ][ ]CONFIG_EXTRA_FIRMWARE=["][/][*][(]DEBLOBBED[)][*][/][ ][/][*][(]DEBLOBBED[)][*][/]["]' Documentation/x86/microcode.rst
+    blobname 'imx[/]sdma[/]sdma-imx7d\.bin' arch/arm64/boot/dts/freescale/imx8mq.dtsi
+    # Still very suspicious, but it doesn't look like code, and the
+    # license, if it can be trusted, makes it acceptable for magic
+    # data numbers.
+    defsc 'static[ ]uint32_t[ ]onyx_images\[\]\[PCXU_IMAGE_SIZE[/]sizeof[(]uint32_t[)]\][ ]__ro_after_init[ ]=' arch/parisc/kernel/perf_images.h
+    defsc 'static[ ]uint32_t[ ]cuda_images\[\]\[PCXW_IMAGE_SIZE[/]sizeof[(]uint32_t[)]\][ ]__ro_after_init[ ]=' arch/parisc/kernel/perf_images.h
+    defsc '[\t]struct[ ]prng_parm[ ]prng[ ]=' arch/s390/boot/kaslr.c
+    defsc '[\t]u8[ ][*]pg[,][ ]pblock\[80\][ ]=' arch/s390/crypto/prng.c
+    defsnc '__visible[ ]const[ ]u32[ ]crypto_[fi][tl]_tab\[4\]\[256\][ ]____cacheline_aligned[ ]=' crypto/aes_generic.c
+    blobname 'mrvl[/]sd8987_uapsta\.bin' 'drivers/\(bluetooth/btmrvl_sdio\.c\|net/wireless/marvell/mwifiex/sdio\.h\)'
+    blobname 'mediatek[/]mt766[38]pr2h\.bin' drivers/bluetooth/btmtksdio.c
+    blobname 'amdgpu[/]%s_kicker_rlc\.bin' drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
+    defsnc 'static[ ]struct[ ]profile_mode_setting[ ]smu7_profiling\[7\][ ]=' drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c
+    blobname 'a630_zap\.mdt' drivers/gpu/drm/msm/adreno/adreno_device.c
+    accept '[\t]dsi_generic_write_seq[(]dsi[,][ ]ST7703_CMD_SET\(GIP[12]\|GAMMA\)\([, \t\n]*0x[0-9A-F][0-9A-F]\)*[)][;]' drivers/gpu/drm/panel/panel-rocktech-jh057n00900.c
+    blobname 'intel[/]%s' drivers/hid/intel-ish-hid/ishtp-fw-loader.c
+    defsnc 'const[ ]unsigned[ ]int[ ]wm831x_isinkv_values\[WM831X_ISINK_MAX_ISEL[ ][+][ ]1\][ ]=' drivers/mfd/wm831x-core.c
+    # File name is supplied through ethtool.
+    accept '[\t]*status[ ]=[ ]request_firmware[(][&]ddp_config[,][ ]profile_name[,]' drivers/net/ethernet/intel/i40e/i40e_ddp.c
+    defsnc 'static[ ]const[ ]u16[ ]iwl_\(ext\|uhb\)_nvm_channels\[\][ ]=' drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c
+    blobname 'brcmfmac43012-sdio' drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
+    blobname 'mt7615_\(cr4\|n9\|rom_patch\)\.bin' drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h
+    defsnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_3853\[\][ ]=' drivers/net/wireless/ralink/rt2x00/rt2800lib.c
+    accept '[\t]fw->firmware[ ]=[ ]firmware[;]' drivers/net/wireless/realtek/rtw88/main.c
+    defsnc 'static[ ]const[ ]u32[ ]db_invert_table\[12\]\[8\][ ]=' drivers/net/wireless/realtek/rtw88/phy.c
+    blobname 'rtw88[/]rtw8822b_fw\.bin' drivers/net/wireless/realtek/rtw88/rtw8822b.c
+    defsnc 'static[ ]const[ ]u32[ ]rtw8822b_\(mac\|agc\|bb\(\|_pg_type[25]\)\|rf_[ab]\)\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822b_table.c
+    defsnc 'static[ ]const[ ]u8[ ]rtw8822b_txpwr_lmt_type[25]\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822b_table.c
+    blobname 'rtw88[/]rtw8822c_fw\.bin' drivers/net/wireless/realtek/rtw88/rtw8822c.c
+    defsnc 'static[ ]const[ ]u32[ ]rtw8822c_\(agc\|bb\(\|_pg_type0\)\|rf_[ab]\|array_mp_cal_init\)\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822c_table.c
+    defsnc 'static[ ]const[ ]u8[ ]rtw8822c_txpwr_lmt_type0\[\][ ]=' drivers/net/wireless/realtek/rtw88/rtw8822c_table.c
+    blobname 'gsl3692-jumper-ezpad-6-pro-b\.fw' drivers/platform/x86/touchscreen_dmi.c
+    blobname 'gsl1680-myria-my8307\.fw' drivers/platform/x86/touchscreen_dmi.c
+    defsnc 'static[ ]const[ ]unsigned[ ]int[ ]max77651_sbb1_regulator_volt_table\[\][ ]=' drivers/regulator/max77650-regulator.c
+    defsnc 'static[ ]const[ ]unsigned[ ]int[ ]isink_cur\[\][ ]=' drivers/regulator/wm8350-regulator.c
+    blobname 'ql2800_fw\.bin' drivers/scsi/qla2xxx/qla_os.c
+    accept 'static[ ]const[ ]struct[ ]tegra_xusb_soc[ ]tegra186_soc[ ]=[ ][{][\n][\t][.]firmware[ ]=' drivers/usb/host/xhci-tegra.c
+    blobname 'nvidia[/]tegra186[/]xusb\.bin' drivers/usb/host/xhci-tegra.c
+    blobname 'ccg_\(boot\|primary\|secondary\)\.cyacd' drivers/usb/typec/ucsi/ucsi_ccg.c
+    defsnc 'static[ ]const[ ]struct[ ]utf8data[ ]utf8nfdi\(cf\|\)data\[\][ ]=' fs/unicode/utf8data.h_shipped
+    defsc 'static[ ]const[ ]unsigned[ ]char[ ]utf8data\[64256\][ ]=' fs/unicode/utf8data.h_shipped
+    accept '[\t]*\.sof_fw_filename[ ]=[ ]["]\(intel[/]\)\?sof-[^" ;]*\.ri["]' sound/soc/intel/common/soc-acpi-intel-'\(b[xy]t\|cht\|cnl\|icl\|glk\|hda\|hsw-bdw\|kbl\|skl\)-match\.c'
+    accept '[\t]*\.sof_tplg_filename[ ]=[ ]["]\(intel[/]\)\?sof-[^" ;]*\.tplg["]' sound/soc/intel/common/soc-acpi-intel-'\(b[xy]t\|cht\|cnl\|icl\|glk\|hda\|hsw-bdw\|kbl\|skl\)-match\.c'
+    accept '[\t]*tplg_filename[ ]=[ ]devm_kasprintf[(]sdev->dev[,][ ]GFP_KERNEL[,][\n\t ]*["]%s-idisp\.tplg["][,][ ]split_ext[)]' sound/soc/sof/intel/hda.c
+    accept '[\t]ret[ ]=[ ]request_firmware[(][&]plat_data->fw[,][ ]fw_filename[,][ ]sdev->dev[)]' sound/soc/sof/loader.c
+    accept '[\t]*\.\(nocodec\|sof\)_fw_filename[ ]=[ ]["]sof-[^" ;]*\.ri["]' sound/soc/sof/sof-'\(acpi\|pci\)-dev\.c'
+    accept '[\t]*\.\(nocodec\|sof\)_tplg_filename[ ]=[ ]["]sof-[^" ;]*\.tplg["]' sound/soc/sof/sof-'\(acpi\|pci\)-dev\.c'
+    accept '[\t]ret[ ]=[ ]request_firmware[(][&]fw[,][ ]file[,][ ]sdev->dev[)]' sound/soc/sof/topology.c
+    # blobname 'sof-byt-rt5682\.tplg' sound/soc/intel/common/soc-acpi-intel-byt-match.c
+    # blobname 'sof-cht-rt5682\.tplg' sound/soc/intel/common/soc-acpi-intel-cht-match.c
+    # blobname 'sof-cml-rt5682\(-max98357a\)\?\.tplg' sound/soc/intel/common/soc-acpi-intel-cnl-match.c
+    # blobname 'sof-glk-rt5682\.tplg' sound/soc/intel/common/soc-acpi-intel-glk-match.c
+    # blobname 'sof-icl-rt5682\.tplg' sound/soc/intel/common/soc-acpi-intel-icl-match.c
+    # blobname '%s-idisp\.tplg' sound/soc/sof/intel/hda.c
+    # blobname 'sof-\(hsw\|bdw\|byt\|cht\)\(\.ri\|\(-nocodec\)\?\.tplg\)' sound/soc/sof/sof-acpi-dev.c
+    # blobname 'sof-\(apl\|glk\|cnl\|icl\|skl\|kbl\)\(\.ri\|\(-nocodec\)\?\.tplg\)' sound/soc/sof/sof-pci-dev.c
+
+    # New in 5.2.1, 5.1.18, and 4.19.58.
+    accept '[ ][ ][ ]the[ ]latest[ ]updated[ ]microcode\.' Documentation/admin-guide/hw-vuln/spectre.rst
+
+    # New in 5.2.3, 5.1.20, and 4.19.61.
+    defsnc 'static[ ]const[ ]u32[ ]runnable_avg_yN_inv\[\][ ]__maybe_unused[ ]=' kernel/sched/sched-pelt.h
+
+    # New in 5.3.
+    accept 'int[ ]rtl_fw_request_firmware[(]' drivers/net/ethernet/realtek/r8169_firmware.c
+    accept '[\t]if[ ][(]rtl_fw_request_firmware[(]' drivers/net/ethernet/realtek/r8169_main.c
+    defsnc 'static[ ]const[ ]struct[ ]phy_reg[ ]rtl8168d_1_phy_reg_init_0\[\][ ]=' drivers/net/ethernet/realtek/r8169_main.c
+    defsnc '[ ][ ]const[ ]char[ ]parity\[256\][ ]=' Documentation/driver-api/mtd/nand_ecc.rst
+    defsc 'static[ ]const[ ]struct[ ]si5341_reg_default[ ]si5341_reg_defaults\[\][ ]=' drivers/clk/clk-si5341.c
+    defsnc 'static[ ]const[ ]uint16_t[ ]filter_\([56789]\|1[012]\)tap_16p_\(upscale\|117\|150\|183\)\[\(45\|54\|63\|72\|81\|9[09]\|108\)\][ ]=' drivers/gpu/drm/amd/display/dc/dcn20/dcn20_dwb_scl.c
+    defsnc 'const[ ]qp_table[ \t]\+qp_table_4\(2[02]\|44\)_\(8\|1[02]\)bpc_m\(in\|ax\)[ ]=' drivers/gpu/drm/amd/display/dc/dsc/qp_tables.h
+    defsnc 'static[ ]const[ ]struct[ ]IP_BASE[ ]\(DCN\|RSMU\|VCN\)_BASE[ \t]\+=' drivers/gpu/drm/amd/include/navi10_ip_offset.h
+    defsnc 'rdma_dim_prof\[RDMA_DIM_PARAMS_NUM_PROFILES\][ ]=' drivers/infiniband/core/cq.c
+    defsnc 'static[ ]const[ ]unsigned[ ]char[ ]applespi_scancodes\[\][ ]=' drivers/input/keyboard/applespi.c
+    defsc 'const[ ]u32[ ]isc_gamma_table\[GAMMA_MAX[ ][+][ ]1\]\[GAMMA_ENTRIES\][ ]=' drivers/media/platform/atmel/atmel-isc.c
+    defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]cs47l92_reva_\(16\|32\)_patch\[\][ ]=' drivers/mfd/cs47l92-tables.c
+    defsc 'static[ ]const[ ]unsigned[ ]char[ ]hantro_jpeg_header\[JPEG_HEADER_SIZE\][ ]=' drivers/staging/media/hantro/hantro_jpeg.c
+    defsnc 'static[ ]const[ ]u8[ ]zigzag\[64\][ ]=' drivers/staging/media/hantro/hantro_mpeg2.c
+    defsnc 'static[ ]u64[ ]intervals[0124]\[\][ ]__initdata[ ]=' kernel/irq/timings.c
+    defsnc 'static[ ]struct[ ]etab[ ]Tab\[\][ ]=' lib/reed_solomon/test_rslib.c
+    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt1011_reg\[\][ ]=' sound/soc/codecs/rt1011.c
+    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt1308_reg\[\][ ]=' sound/soc/codecs/rt1308.c
+    for n in ptwrite cbr mwait pwre exstop pwrx context_switches; do
+	defsnc "$n"'_file[ \t]*=[ ]open_output_file[(]["]'"$n"'_table\.bin["][)]' tools/perf/scripts/python/export-to-postgresql.py
+    done
+    blobname 'nvm_00440302\.bin' Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt
+    blobname 'crnv21\.bin' Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt
+    accept 'bpp\([ ]\+[0-9]\+x[0-9]\+\)*[\n][ =]*\([\n][ ]*[0-9]\+\([ ]*0x[0-9A-F]*\)*\)*' Documentation/fb/matroxfb.rst
+    accept '[ ][ ]pct[ ]confidence[ ]steady[ ]dynamic[ ][(]compensation[)]\([\n][ ]*[0-9]\([ ]\+[0123]\)\+\)\+[\n][ ]*[.]*\([\n][ ]*[34][0-9]\([ ]\+[0123]\)\+\)\+' Documentation/thermal/intel_powerclamp.rst
+    blobname 'amdgpu[/]navi10_vcn\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
+    blobname 'amdgpu[/]%s_ta\.bin' drivers/gpu/drm/amd/amdgpu/psp_v11_0.c
+    blobname 'i915[/]\(["][ ][\\][\n][\t]__stringify[(]KEY##_GUC_FW_\(PREFIX\|MAJOR\|MINOR\|PATCH\)[)][ ]["][^"]*\)\+' drivers/gpu/drm/i915/intel_guc_fw.c
+    blobname 'a540_\(gpmu\.fw2\|zap\.mdt\)' drivers/gpu/drm/msm/adreno/adreno_device.c
+    blobname 'dvb-tuner-si2157-a30-01\.fw' drivers/media/tuners/si2157_priv.h
+    accept 'static[ ]struct[ ]dvb_usb_device_properties[\n]cxusb_bluebird_\(lgh064f\|dee1601\|lgz201\|dtt7579\|nano2_needsfirmware\)_properties[ ]=[ ][{][\n]\([	]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[	]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/cxusb.c
+    blobname 'v4l-pvrusb2-160xxx-01\.fw' drivers/media/usb/pvrusb2/pvrusb2-devattr.c
+    blobname 'gsl1680-chuwi-hi10plus\.fw' drivers/platform/x86/touchscreen_dmi.c
+    blobname '%s%pUL%s["][,][\n \t]*["]intel[/]dsp_fw_["][,][ ]guid[,][ ]["]\.bin' sound/soc/intel/skylake/skl-sst.c
+    blobname 'qcom[/]db845c[/]\(adsp\|cdsp\)\.mdt' arch/arm64/boot/dts/qcom/sdm845-db845c.dts
+    accept '[\t]rpi->firmware[ ]=[ ]' drivers/clk/bcm/clk-raspberrypi.c
+    blobname 'display_hdcp_srm\.bin' drivers/gpu/drm/drm_hdcp.c
+    accept '[ ][*][ ]SRM[ ]should[ ]be[ ]presented[ ]in[ ]the[ ]name[ ]of[ ]["][^"]*["]' drivers/gpu/drm/drm_hdcp.c
+    accept '[\t]s6e63m0_dcs_write_seq_static[(]ctx[,][ ]0xb[579]\([, \t\n]*0x[0-9a-f][0-9a-f]\)*[)][;]' drivers/gpu/drm/panel/panel-samsung-s6e63m0.c
+    # The link to "source" for this and other firmware files in
+    # LibreELEC meson-firmware is broken, but I tracked it down and
+    # it's just a binary blob encoded as an array initializer.
+    blobname 'meson[/]vdec[/]gxl_mpeg12\.bin' drivers/staging/media/meson/vdec/vdec_platform.c
+    accept '[\t]echo[ ]-n[ ]["]Batched[ ]request_firmware\(_direct\|_nowait\)\?[(]' tools/testing/selftests/firmware/fw_filesystem.sh
+    # The firmware file name is supplied by the user.
+    accept '[\t]err[ ]=[ ]request_firmware_direct[(][&]fw[,][ ]file_name[,]\([^\n]*[\n]\+[^\n}]\)*return[ ]mlx5_firmware_flash[(]dev[,][ ]fw[,]' drivers/net/ethernet/mellanox/mlx5/core/devlink.c
+    accept '[\t]err[ ]=[ ]request_firmware_direct[(][&]fw[,][ ]flash->data[,]\([^\n]*[\n]\+[^\n}]\)*err[ ]=[ ]mlx5_firmware_flash[(]mdev[,][ ]fw[,]' drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c
+    # This firmware file name is supplied by the user,
+    # but there's another in the same source file (way above) that is hardcoded.
+    accept '[\t]err[ ]=[ ]request_firmware_direct[(][&]firmware[,][ ]\(fw_filename\|file_name\)[,]\([^\n]*[\n]\+[^\n}]\)*err[ ]=[ ]mlxsw_sp_firmware_flash[(]mlxsw_sp[,][ ]firmware[,]' drivers/net/ethernet/mellanox/mlxsw/spectrum.c
+    blobname 'al5e\(_b\)\?\.fw' drivers/staging/media/allegro-dvt/allegro-core.c
+    # Sources are in cwsr_trap_handler_gfx10.asm.
+    defsnc 'static[ ]const[ ]uint32_t[ ]cwsr_trap_gfx10_hex\[\][ ]=' drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h
+    blobname 'amdgpu[/]%s_mes\.bin' drivers/gpu/drm/amd/amdgpu/mes_v10_1.c
+    accept 'static[ ]int[ ]allegro_firmware_request_nowait[(]' drivers/staging/media/allegro-dvt/allegro-core.c
+    accept '[\t]ret[ ]=[ ]allegro_firmware_request_nowait[(]' drivers/staging/media/allegro-dvt/allegro-core.c
+
+    # New in 5.3.4 and 5.2.19
+    defsnc '[\t]static[ ]const[ ]struct[ ]hda_alc298_mbxinit[ ]dac_init\[\][ ]=' sound/pci/hda/patch_realtek.c
+    blobname 'mediatek[/]mt7615_\(cr4\|n9\|rom_patch\)\.bin' drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h
+
+    # 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
+
+    # 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
+
+    # Trisquel changes for 5.4
+    blobname 'rtl_nic[/]rtl8168fp-[13]\.fw' drivers/net/ethernet/realtek/r8169_main.c
+    blobname 'rtw88[/]rtw8822c_wow_fw\.bin' /drivers/net/wireless/realtek/rtw88/rtw8822c.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 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
 
-  */patch-4.[12].* | */*drm-qxl-validate-monitors-config-modes.patch)
-    defsnc '[}][ ]common_modes\[\][ ]=' drivers/gpu/drm/qxl/qxl_display.c
-    ;;
+    # 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\)'
 
-  */*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'
-    ;;
+    # New in 5.9 final, 5.8.15, and 5.4.71.
+    defsc 'static[ ]struct[ ]font_data[ ]fontdata_ter16x32[ ]=' lib/fonts/font_ter16x32.c
 
-  */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
-    accept '[	]ret[ ]=[ ]_request_firmware_prepare[(]' drivers/base/firmware_class.c
-    # False positive in patch-3.17.6 and newer.
-    initnc '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]static[ ]const[ ]struct[ ]reg_default[ ]rt5670_reg\[\][ ]=[ ][{][*][/][;]' sound/soc/codecs/rt5670.c
-    ;;
+    # New in some 5.8-rc, and 5.4.76.
+    blobname '%s-tplg\.bin' sound/soc/intel/skylake/skl-topology.c
 
-  */patch-3.13*)
-    # Introduced in 3.13.2.
-    accept '[\t][\t][\t]err[ ]=[ ]request_firmware[(][&]firmware[,][ \t\n]*rtlpriv->cfg' drivers/net/wireless/rtlwifi/core.c
-    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm5110_sysclk_revd_patch\[\][ ]=' sound/soc/codecs/wm5110.c
-    initnc '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]static[ ]const[ ]struct[ ]reg_default[ ]wm5110_s[*][/][;]' sound/soc/codecs/wm5110.c
-    # New in 3.13.7.
-    accept '[\t][{]0x00009e[1234][048c]\([,][ ]0x[0-9a-f]*\)*[}]\([\n][\t][{]0x00009e[1234][048c]\([,][ ]0x[0-9a-f]*\)*[}]\)*' drivers/net/wireless/ath/ath9k/ar9462_2p0_initvals.h
-    ;;
+    # New in 5.9.7 and 5.4.76.
+    defsc 'static[ ]const[ ]struct[ ]font_data[ ]fontdata_ter16x32[ ]=' lib/fonts/font_ter16x32.c
 
-  */patch-3.12*)
-    # Introduced in 3.12.10.
-    accept '[\t][\t][\t]err[ ]=[ ]request_firmware[(][&]firmware[,][ \t\n]*rtlpriv->cfg' drivers/net/wireless/rtlwifi/core.c
-    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm5110_sysclk_revd_patch\[\][ ]=' sound/soc/codecs/wm5110.c
-    # New in 3.13
-    defsnc 'static[ ]const[ ]u32[ ]hawaii_\(golden_registers\|mgcg_cgcg_init\)\[\][ ]=' drivers/gpu/drm/radeon/cik.c
-    defsnc 'static[ ]const[ ]u32[ ]hawaii_io_mc_regs\[HAWAII_IO_MC_REGS_SIZE\]\[2\][ ]=' drivers/gpu/drm/radeon/cik.c
-    blobname 'dvb-demod-drxk-01\.fw' drivers/media/video/em28xx/em28xx-dvb.c
-    blobname '\(ath10k[/]QCA988X[/]hw[12]\.0[/]\)\?firmware-2\.bin' drivers/net/wireless/ath/ath10k/hw.h
-    blobname 'brcm[/]brcmfmac43\(143\|241b[04]\|29\|3[045]\)-sdio\.bin' drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
-    blobname 'iwlwifi-7265-' drivers/net/wireless/iwlwifi/pcie/7000.c
-    accept '[\t][\t]brightness-levels[ ][=][ ][<][0-9 \t\n]*[>][;]' arch/arm/boot/dts/imx28-tx28.dts
-    accept '[\t]echo[ ]["]mic[/]uos\.img["][ ]' Documentation/mic/mpssd/micctrl
-    accept '[\t]mdev->firmware[ ]=[ ]kmalloc' drivers/misc/mic/host/mic_sysfs.c
-    accept '[\t]rc[ ]=[ ]request_firmware[(][&]fw[,][ \t\n]*mdev->\(ramdisk\|firmware\)[,][ ]mdev->sdev->parent[)][;]' drivers/misc/mic/host/mic_x100.c
-    accept '[\t]*["]\(ramdisk\|firmware\)[ ]request_firmware[ ]failed' drivers/misc/mic/host/mic_x100.c
-    defsnc 'static[ ]const[ ]struct[ ]dsi_clock_table[ ]dsi_clk_tbl\[\][ ]=' drivers/gpu/drm/i915/intel_dsi_pll.c
-    defsnc 'uint32_t[ ]nv108_pwr_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nv108.fuc.h
-    defsnc 'uint32_t[ ]nva3_pwr_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nva3.fuc.h
-    defsnc 'uint32_t[ ]nvc0_pwr_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvc0.fuc.h
-    defsnc 'uint32_t[ ]nvd0_pwr_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvd0.fuc.h
-    defsnc 'static[ ]const[ ]struct[ ]ci_pt_defaults[ ]defaults_hawaii_\(xt\|pro\)[ ]=' drivers/gpu/drm/radeon/ci_dpm.c
-    accept '[\t]["]edid[/]\(1024x768\|1280x1024\|1600x1200\|1680x1050\|1920x1080\)\.bin["]' drivers/gpu/drm/drm_edid_load.c
-    defsnc 'static[ ]const[ ]u8[ ]generic_edid\[GENERIC_EDIDS\]\[128\][ ]=' drivers/gpu/drm/drm_edid_load.c
-    defsnc '[\t]unsigned[ ]char[ ]buf\[\][ ]=' drivers/hid/hid-sony.c
-    blobname 'dvb-fe-cx24117\.fw' drivers/media/dvb-frontends/cx24117.c
-    blobname 'vpdma-1b8\.bin' drivers/media/platform/ti-vpe/vpdma.c
-    defsnc 'static[ ]const[ ]u8[ ]ov361x_start_\(2048\|1600\|1024\|640\|320\|160\)\[\]\[2\][ ]=' drivers/media/usb/gspca/ov534_9.c
-    defsnc 'static[ ]const[ ]u8[ ]tuning_blk_pattern_[48]bit\[\][ ]=' drivers/mmc/host/dw_mmc.c
-    defsnc 'static[ ]struct[ ]nand_ecclayout[ ]oob_8192_ecc[48][ ]=' drivers/mtd/nand/fsl_ifc_nand.c
-    defsnc '[\t]static[ ]u8[ ]PN9Data\[\][ ]=' drivers/net/wireless/ath/ath9k/main.c
-    blobname 'wlan[/]prima[/]WCNSS_qcom_wlan_nv\.bin' drivers/net/wireless/ath/wcn36xx/wcn36xx.h
-    defsnc 'static[ ]s32[ ]expected_tpt_\(siso\|mimo2\)_[248]0MHz\[4\]\[IWL_RATE_COUNT\][ ]=' drivers/net/wireless/iwlwifi/mvm/rs.c
-    blobname 'rtlwifi[/]rtl8188eufw\.bin' drivers/staging/rtl8188eu/hal/rtl8188e_hal_init.c
-    defsnc 'static[ ]unsigned[ ]char[ ]\(sbox\|dot[23]\)_table\[256\][ ]=' drivers/staging/vt6656/aes_ccmp.c
-    defsnc 'static[ ]const[ ]unsigned[ ]char[ ]TKIP_Sbox_\(Lower\|Upper\)\[256\][ ]=' drivers/staging/vt6656/tkip.c
-    defsnc 'static[ ]u32[ ]\(al2230_txvga_data\|w89rf242_txvga_old_mapping\)\[\]\[2\][ ]=' drivers/staging/winbond/reg.c
-    defsnc '[}][ ]test2\[\][ ]=' lib/random32.c
-    defsnc 'static[ ]const[ ]struct[ ]hda_verb[ ]hp_bnb13_eq_verbs\[\][ ]=' sound/pci/hda/patch_sigmatel.c
-    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]aic3x_reg\[\][ ]=' sound/soc/codecs/tlv320aic3x.c
-    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.
-    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
-    defsnc 'static[ ]const[ ]u32[ ]ar9485Modes_green_spur_ob_db_tx_gain_1_1\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9485_initvals.h
-    accept '[ ][*][ ]4\.[ ]save[ ]as[ ]["]iNVM_xxx\.bin["]' drivers/net/wireless/iwlwifi/mvm/nvm.c
-    accept '[	 ]*data->firmware[ ]=[ ]firmware[;]' drivers/staging/btmtk_usb/btmtk_usb.c
-    defsnc 'static[ ]u8[ ][ ]*ZEBRA_AGC\[\][ 	]=' drivers/staging/rtl8187se/r8185b_init.c
-    defsnc '[}][ ]test\[\][ ]=' lib/crc32.c
-    accept '[\t]\.firmware[\t]=[ ]' drivers/bluetooth/btmrvl_sdio.c
-    accept '[	][	]card->firmware[ ]=[ ]data->firmware[;]'  drivers/bluetooth/btmrvl_sdio.c
-    # Matches specific for the patch from 3.12.
-    accept '[\t]*err[ ]=[ ]request_firmware[(][&]fw[,][ ]name[,][ ][&]pdev' drivers/gpu/drm/drm_edid_load.c
-    accept '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]_request_firmware[(]const[ ]struct[ ]firmware' drivers/base/firmware_class.c
-    initnc '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]static[ ]const[ ]u32[ ]ar9462_2p1_baseband_pos[*][/][;]' drivers/net/wireless/ath/ath9k/ar9462_2p1_initvals.h
-    initnc '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]static[ ]const[ ]u32[ ]ar9485Modes_\(high_power_\|green_ob_db\|high_ob_db_\|green_spur_\)[*][/][;]' drivers/net/wireless/ath/ath9k/ar9485_initvals.h
-    initnc '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]static[ ]const[ ]u32[ ]ar9485_1_1_baseband_pos[*][/][;]' drivers/net/wireless/ath/ath9k/ar9485_initvals.h
-    initnc '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]static[ ]const[ ]u32[ ]ar9565_1p0_baseband_pos[*][/][;]' drivers/net/wireless/ath/ath9k/ar9565_1p0_initvals.h
-    initnc '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]static[ ]const[ ]u16[ ]bios_to_linux_keycode\[2[*][/][;]' drivers/platform/x86/dell-wmi.c
-    # Matches for the reversed patch present in earlier releases.
-    defsnc 'const[ ]char[ ]_[zs]b_findmap\[\][ ]=' arch/s390/kernel/bitmap.c
-    defsc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_3053\[\][ ]=' drivers/net/wireless/rt2x00/rt2800lib.c
-    defsnc 'unsigned[ ]char[ ]\(sbox\|dot[23]\)_table\[256\][ ]=' drivers/staging/vt6655/aes_ccmp.c
-    defsnc 'static[ ]u8[ ]adav80x_default_regs\[\][ ]=' sound/soc/codecs/adav80x.c
-    # Matches specific for the reversed patch.
-    initc '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]static[ ]u8[ ]MAC_REG_TABLE\[\]\[2\][ ]=[\t][{][*][/][;]' drivers/staging/rtl8187se/r8185b_init.c
-    ;;
 
-  */patch-3.11*)
-    accept '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]int[ ]_request_firmware_load[(]' drivers/base/firmware_class.c
-    # Already present in 3.11, but modified in 3.12:
-    initnc 'static[ ]const[ ]__u16[ ]t10_dif_crc_table\[256\][ ]=' lib/crc-t10dif.c
-    defsnc '\(static[ ]\)\?const[ ]struct[ ]lcnphy_tx_gain_tbl_entry[ \n]dot11lcnphy_[25]GHz_\(extPA_\)\?gaintable_rev0\[128\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phytbl_lcn\.c'
-    defsnc 'static[ ]const[ ]\(yytype_u\?int\(8\|16\)\|\(unsigned[ ]\)\?\(short\([ ]int\)\?\|char\)\)[ ]yy[^[]*\[\][ ]='
-    accept 'P[13]\([\n]#[^\n]*\)*[\n]*\([\n][0-9 ]*\)\+' drivers/video/logo/*.ppm
-    # New in 3.12.
-    blobname 's5p-mfc-v7\.fw' drivers/media/platform/s5p-mfc/s5p_mfc.c
-    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
-    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
-    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
-    defsnc 'static[ ]const[ ]u8[ ]zero_message_\(hash\|hmac\)_sha256\[SHA256_DIGEST_SIZE\][ ]=' drivers/crypto/ux500/hash/hash_core.c
-    defsnc 'static[ ]const[ ]unsigned[ ]int[ ]a3xx_registers\[\][ ]=' drivers/gpu/drm/msm/adreno/a3xx_gpu.c
-    blobname 'a3[03]0_p\(m4\|fp\)\.fw' drivers/gpu/drm/msm/adreno/a3xx_gpu.c
-    defsnc 'static[ ]const[ ]struct[ ]ci_pt_defaults[ ]defaults_\(bonaire\|saturn\)_\(xt\|pro\)[ ]=' drivers/gpu/drm/radeon/ci_dpm.c
-    defsnc 'static[ ]const[ ]u32[ ]sumo_rlc_save_restore_register_list\[\][ ]=' drivers/gpu/drm/radeon/evergreen.c
-    defsnc 'static[ ]const[ ]struct[ ]kv_lcac_config_values[ ]cpl_local_cac_cfg_kv\[\][ ]=' drivers/gpu/drm/radeon/kv_dpm.c
-    defsnc 'static[ ]const[ ]u32[ ]tn_rlc_save_restore_register_list\[\][ ]=' drivers/gpu/drm/radeon/ni.c
-    defsnc 'static[ ]struct[ ]imx_i2c_clk_pair[ ]\(imx\|vf610\)_i2c_clk_div\[\][ ]=' drivers/i2c/busses/i2c-imx.c
-    defsnc 'static[ ]const[ ]u16[ ]apds9300_lux_ratio\[\][ ]=' drivers/iio/light/apds9300.c
-    accept '[	]ar->firmware[ ]=[ ]\(NULL\|ath10k_fetch_fw_file\)' drivers/net/wireless/ath/ath10k/core.c
-    defsnc 'static[ ]const[ ]u16[ ]dot11lcn_sw_ctrl_tbl_4313_ipa_rev0_combo\[\][ ]=' drivers/net/wireless/brcm80211/brcmsmac/phy/phytbl_lcn.c
-    accept '[	][	]adapter->firmware[ ]=[ ]NULL' drivers/net/wireless/mwifiex/main.c
-    defsc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_3053\[\][ ]=' drivers/net/wireless/rt2x00/rt2800lib.c
-    defsnc 'static[ ]const[ ]int[ ]bq24190_\(ccc_ichg\|cvc_vreg\)_values\[\][ ]=' drivers/power/bq24190_charger.c
-    blobname '[(]i\.e\.[ ]["]asfep\.bin["][)][ ][*][/]' drivers/staging/dgap/downlod.c
-    blobname '[(]["][/]etc[/]dgap[/]xrfep\.bin["][)][;][ ][*][/]' drivers/staging/dgap/downlod.c
-    blobname '["][/]lib[/]firmware[/]dgap[/]["]' drivers/staging/dgap/downld.c
-    blobname '\(fx\|cx\|cxp\|ibm\(cx\|en\)\|xr\|sx\|pci\)\(bios\|fep\|con\|host\)\.bin' drivers/staging/dgap/downld.c
-    defsnc 'static[ ]const[ ]struct[ ]msi3101_gain[ ]msi3101_gain_lut_\(120\|245\|1000\)\[\][ ]=' drivers/staging/media/msi3101/sdr-msi3101.c
-    defsnc 'static[ ]struct[ ]ch_freq[ ]ch_freq_map\[\][ ]=' drivers/staging/rtl8188eu/core/rtw_rf.c
-    defsnc 'static[ ]\(const\)\?[ ]\?u8[ ]sbox_table\[256\][ ]=' drivers/staging/rtl8188eu/core/rtw_security.c
-    defsnc 'static[ ]const[ ]unsigned[ ]short[ ]Sbox1\[2\]\[256\][ ]=' drivers/staging/rtl8188eu/core/rtw_security.c
-    defsnc 'const[ ]u32[ ]T[ed]0\[256\][ ]=' drivers/staging/rtl8188eu/core/rtw_security.c
-    defsnc 'const[ ]u8[ ]Td4s\[256\][ ]=' drivers/staging/rtl8188eu/core/rtw_security.c
-    defsnc 'static[ ]u32[ ]array_\(agc_tab\|phy_reg\)_\(1t\|pg\)_8188e\[\][ ]=' drivers/staging/rtl8188eu/hal/HalHWImg8188E_BB.c
-    defsnc 'static[ ]u32[ ]array_MAC_REG_8188E\[\][ ]=' drivers/staging/rtl8188eu/hal/HalHWImg8188E_MAC.c
-    defsnc 'static[ ]u32[ ]Array_RadioA_1T_8188E\[\][ ]=' drivers/staging/rtl8188eu/hal/HalHWImg8188E_RF.c
-    defsnc '[	]u8[	]channel_all\[ODM_TARGET_CHNL_NUM_2G_5G\][ ]=' drivers/staging/rtl8188eu/hal/HalPhyRf.c
-    defsnc 'static[ ]const[ ]u16[ ]dB_Invert_Table\[8\]\[12\][ ]=' drivers/staging/rtl8188eu/hal/odm.c
-    blobname 'rtl8188E[/\\]*rtl8188efw\.bin' drivers/staging/rtl8188eu/include/rtl8188e_hal.h
-    defsnc 'static[ ]const[ ]unsigned[ ]long[ ]K\[64\][ ]=' drivers/staging/rtl8188eu/include/rtw_security.h
-    defsnc '[	]static[ ]const[ ]struct[ ]msm_baud_map[ ]table\[\][ ]=' drivers/tty/serial/msm_serial.c
-    defsnc 'static[ ]u8[ ]hx8369_seq_gamma_curve_related\[\][ ]=' drivers/video/backlight/hx8357.c
-    defsnc 'static[ ]const[ ]wchar_t[ ]t2_\(0[012345]\|1[def]\|2[14cd]\|a[67]\|ff\)\[256\][ ]=' fs/cifs/winucase.c
-    accept '[	]*\(\(el\)\?if[ ]\[[ ]-f\|cp[ ]-v[ ]--\)[ ]["][$][{]objtree[}][/]arch[/]mips[/]boot[/]\(compressed[/]\)\?vmlinux\.bin["]' scripts/package/buildtar
-    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]pcm1681_reg_defaults\[\][ ]=' sound/soc/codecs/pcm1681.c
-    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8997_sysclk_reva_patch\[\][ ]=' sound/soc/codecs/wm8997.c
-    ;;
+    # New in 5.10, 5.9.15, and 5.4.84.
+    blobname 'gsl1680-irbis-tw118\.fw' drivers/net/wireless/intel/iwlwifi/fw/pnvm.c
 
-  */patch-3.10*)
-    # Matches for the reversed patch.
-    accept '[	]*interrupts[ ]=[ ]<\(0[ ]1[0-4][0-9][ ]0x04[ 	\n]*\)*>[;]' 'arch/arm/boot/dts/tegra[23]0\.dtsi'
-    defsnc 'static[ ]const[ ]struct[ ]phy_reg[ ]exynos4_sataphy_\(cmu\|\(com\)\?lane\)\[\][ ]=' arch/arm/mach-exynos4/dev-ahci.c
-    accept '[	]return[ ]_request_firmware[(]firmware_p[,]' drivers/base/firmware_class.c
-    defsnc 'static[ ]const[ ]int[ ]__initconst[ ]armada_370_xp_\(nb\|h\|dram\)clk_ratios\[32\]\[2\][ ]=' drivers/clk/mvebu/clk-core.c
-    defsnc 'static[ ]const[ ]struct[ ]mV_pos[ ]__cpuinitconst[ ]\(vrm85\|mobilevrm\)_mV\[32\][ ]=' drivers/cpufreq/longhaul.h
-    defsnc 'static[ ]const[ ]unsigned[ ]char[ ]__cpuinitconst[ ]mV_\(vrm85\|mobilevrm\)\[32\][ ]=' drivers/cpufreq/longhaul.h
-    defsnc 'static[ ]const[ ]struct[ ]wrpll_tmds_clock[ ]wrpll_tmds_clock_table\[\][ ]=' drivers/gpu/drm/i915/intel_ddi.c
-    defsnc 'static[ ]int[ ]types\[0x80\][ ]=' drivers/gpu/drm/nouveau/nv50_vram.c
-    defsnc '[ ]*static[ ]const[ ]u8[ ]arp_req\[36\][ ]=' drivers/staging/csr/sme_sys.c
-    defsnc '[	]unsigned[ ]char[ ]regs\[128\][ ]=' drivers/staging/solo6x10/solo6010-tw28.c
-    # Matches of changes from 3.10 adjusted for patch.
-    accept '[	]-[ ]request_firmware[(][)][ ]hotplug[ ]interface[ ]info.' Documentation/00-INDEX
-    accept '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]int[ ]_request_firmware' drivers/base/firmware_class.c
-    accept '[	]return[ ]_request_firmware_load[(]fw_priv[,]' drivers/base/firmware_class.c
-    accept '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?_request_firmware' drivers/base/firmware_class.c
-    accept 'request_firmware\(_nowait\)\?[(]' drivers/base/firmware_class.c
-    accept '[	]ret[ ]=[ ]_request_firmware[(]' drivers/base/firmware_class.c
-    accept '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?request_firmware_nowait[(]' drivers/base/firmware_class.c
-    initnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?uint32_t[ ]nvc0_grgpc_\(data\|code\)\[\][ ]=[ ][{]\([*][/][;]\)\?' drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvc0.fuc.h
-    initnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?uint32_t[ ]nve0_grgpc_\(data\|code\)\[\][ ]=[ ][{]\([*][/][;]\)\?' drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnve0.fuc.h
-    initnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?uint32_t[ ]nvc0_grhub_\(data\|code\)\[\][ ]=[ ][{]\([*][/][;]\)\?' drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvc0.fuc.h
-    initnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?uint32_t[ ]nve0_grhub_\(data\|code\)\[\][ ]=[ ][{]\([*][/][;]\)\?' drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnve0.fuc.h
-    initnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]const[ ]u32[ ]ar9462_2p0_baseband_pos\([*][/][;]\)\?' drivers/net/wireless/ath/ath9k/ar9462_2p0_initvals.h
-    accept '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?int[ ]request_firmware_nowait[(]' include/linux/firmware.h
-    accept 'static[ ]inline[ ]int[ ]request_firmware\?[(]' include/linux/firmware.h
-    # Present in 3.10, modified in 3.11 patch:
-    accept 'EXPORT_SYMBOL[(]request_firmware\(_nowait\)\?[)][;]' drivers/base/firmware_class.c
-    defsnc 'static[ ]const[ ]int[ ]__initconst[ ]\(dove\|kirkwood\)_cpu_ddr_ratios\[16\]\[2\][ ]=' drivers/clk/mvebu/clk-core.c
-    accept '[	][	]priv->firmware[ ]=[ ]true[;]' drivers/gpu/drm/nouveau/core/engine/graph/nvc0.c
-    accept '[	]bp->firmware[ ]=[ ]NULL[;]' drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
-    accept '[	][	]card->firmware[ ]=[ ]data->firmware[;]'  drivers/bluetooth/btmrvl_sdio.c
-    defsnc '[	]BYTE[ ]data_ptr\[36\][ ]=' 'drivers/staging/keucr/\(ms\|s[dm]\)scsi\.c'
-    defsnc 'omap4430_adc_to_temp\[OMAP4430_ADC_END_VALUE[ ]-[ ]OMAP4430_ADC_START_VALUE[ ][+][ ]1\][ ]=' drivers/staging/oma-thermal/omap4-thermal.c
-    defsnc 'omap4460_adc_to_temp\[OMAP4460_ADC_END_VALUE[ ]-[ ]OMAP4460_ADC_START_VALUE[ ][+][ ]1\][ ]=' drivers/staging/oma-thermal/omap4-thermal.c
-    accept 'P[13]\([\n]#[^\n]*\)*[\n]*\([\n][0-9 ]*\)\+' drivers/video/logo/logo_linux_clut224.ppm
-    defsnc '[}][ ]nec_8048_init_seq\[\][ ]=' drivers/video/omap2/displays/panel-nec-nl8048hl11-01b.c
-    defsnc '[	][	]degrade_factor\[CPU_LOAD_IDX_MAX\]\[DEGRADE_SHIFT[ ][+][ ]1\][ ]=' kernel/sched.c
-    # New in 3.11.
-    blobname 'imx[/]sdma[/]sdma-imx6sl\.bin' arch/arm/boot/dts/imx6sl.dtsi
-    initnc '[	]linux,keymap[ ]=[ ]<' 'arch/arm/boot/dts/nspire-\(clp\|cx\|tp\)\.dts'
-    blobname '\(kernel[/]x86[/]microcode[/]\)\?AuthenticAMD\.bin' arch/x86/kernel/microcode_amd_early.c
-    initnc '[	 ]*FMC:[ ]poor[ ]dump[ ]of[ ]sdb[ ]first[ ]level:' Documentation/fmc/parameters.txt
-    accept 'static[ ]int[\n ]cache_firmware[(]const[ ]char[ ][*]fw_name[)][\n][{]\([\n]\+[^\n}][^\n]*\)*ret[ ]=[ ]request_firmware[(][^\n]*\([\n]\+[^\n}][^\n]*\)*[\n]\+[}][\n]' drivers/base/firmware_class.c
-    defsnc 'static[ ]const[ ]int[ ]__initconst[ ]a370_\(nb\|h\|dram\)clk_ratios\[32\]\[2\][ ]=' drivers/clk/mvebu/armada-370.c
-    defsnc 'static[ ]const[ ]int[ ]__initconst[ ]axp_\(nb\|h\|dram\)clk_ratios\[32\]\[2\][ ]=' drivers/clk/mvebu/armada-xp.c
-    defsnc 'static[ ]const[ ]struct[ ]mV_pos[ ]\(vrm85\|mobilevrm\)_mV\[32\][ ]=' drivers/cpufreq/longhaul.h
-    defsnc 'static[ ]const[ ]unsigned[ ]char[ ]mV_\(vrm85\|mobilevrm\)\[32\][ ]=' drivers/cpufreq/longhaul.h
-    accept '[][ 0-9.]*fake-fmc-carrier:[ ]Mezzanine[ ]0:[ ]eeprom[ ]["]fdelay-eeprom\.bin["]' Documentation/fmc/fmc-fakedev.txt
-    accept '[][ 0-9.]*spec[ ][024:.]*[ ]got[ ]file[ ]["]fmc[/]spec-init\.bin["]' Documentation/fmc/fmc-write-eeprom.txt
-    defsnc 'static[ ]char[ ]ff_eeimg\[FF_MAX_MEZZANINES\]\[FF_EEPROM_SIZE\][ ]=' drivers/fmc/fmc-fakedev.c
-    accept '[	]ret[ ]=[ ]request_firmware[(][&]fw[,][ ]gw[,][ ][&]fmc->dev[)][;]' drivers/fmc/fmc-fakedev.c
-    accept '[	][	]ret[ ]=[ ]request_firmware[(][&]fw[,][ ]ff_eeprom\[i\][,][ ][&]ff->dev[)][;]' drivers/fmc/fmc-fakedev.c
-    accept '[	]if[ ][(][!]strcmp[(]last4[,][ ]["]\.bin["][)][)]' drivers/fmc/fmc-write-eeprom.c
-    accept '[	]err[ ]=[ ]request_firmware[(][&]fw[,][ ]s[,][ ]dev[)][;]' drivers/fmc/fmc-write-eeprom.c
-    defsnc 'nvc0_grctx_init_\(icmd\|9097\|902d\|90c0\|unk40xx\|unk46xx\|unk78xx\|gpc_[01]\|tpc\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc0.c
-    defsnc 'nvc1_grctx_init_\(icmd\|9097\|gpc_0\|tpc\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc1.c
-    defsnc 'nvc3_grctx_init_tpc\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc3.c
-    defsnc 'nvc8_grctx_init_\(icmd\|tpc\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc8.c
-    defsnc 'nvd7_grctx_init_\(unk40xx\|unk58xx\|gpc_0\|tpc\|unk\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxnvd7.c
-    defsnc 'nvd9_grctx_init_\(icmd\|90c0\|unk40xx\|unk58xx\|gpc_0\|tpc\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxnvd9.c
-    defsnc 'nve4_grctx_init_\(icmd\|a097\|unk40xx\|unk46xx\|unk58xx\|unk64xx\|rop\|gpc_0\|tpc\|unk\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxnve4.c
-    defsnc 'nvf0_grctx_init_\(unk40xx\|unk64xx\|unk88xx\|gpc_0\|tpc\|unk\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/ctxnvf0.c
-    defsnc 'uint32_t[ ]nvd7_grgpc_code\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvd7.fuc.h
-    defsnc 'uint32_t[ ]nvf0_grgpc_code\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvf0.fuc.h
-    defsnc 'uint32_t[ ]nvd7_grhub_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvd7.fuc.h
-    defsnc 'uint32_t[ ]nvf0_grhub_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvf0.fuc.h
-    defsnc 'nvc0_graph_init_\(regs\|[gt]pc\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nvc0.c
-    defsnc 'nvc1_graph_init_[gt]pc\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nvc1.c
-    defsnc 'nvc3_graph_init_tpc\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nvc3.c
-    defsnc 'nvc8_graph_init_[gt]pc\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nvc8.c
-    defsnc 'nvd7_graph_init_[gt]pc\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nvd7.c
-    defsnc 'nvd9_graph_init_[gt]pc\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nvd9.c
-    defsnc 'nve4_graph_init_\(regs\|[gt]pc\|unk\|unk88xx\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nve4.c
-    defsnc 'nvf0_graph_init_[gt]pc\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nvf0.c
-    defsnc '[	][}][ ]magic\[\][ ]=[ ][{][\n][	][	][{][ ]0x020520[,]' drivers/gpu/drm/nouveau/core/engine/graph/nvf0.c
-    blobname 'nouveau[/]nv84_xuc%03x' drivers/gpu/drm/nouveau/core/engine/graph/xtensa.c
-    defsnc 'nv50_fb_memtype\[0x80\][ ]=' drivers/gpu/drm/nouveau/core/subdev/fb/nv50.c
-    defsnc 'static[ ]const[ ]u32[ ]\(barts\|caicos\|turks\)_\(\(cgcg_cgls\|sysls\)_\(default\|disable\|enable\)\|mgcg_default\)\[\][ ]=' drivers/gpu/drm/radeon/btc_dpm.c
-    defsnc 'u32[ ]btc_valid_sclk\[40\][ ]=' drivers/gpu/drm/radeon/btc_dpm.c
-    defsnc 'static[ ]const[ ]u32[ ]\(bonaire\|spectre\|kalindi\)_\(golden_registers\|mgcg_cgcg_init\)\[\][ ]=' drivers/gpu/drm/radeon/cik.c
-    defsnc 'static[ ]const[ ]u32[ ]bonaire_io_mc_regs\[BONAIRE_IO_MC_REGS_SIZE\]\[2\][ ]=' drivers/gpu/drm/radeon/cik.c
-    blobname 'radeon[/]\(BONAIRE\|KAVERI\|KABINI\|%s\)_\(pfp\|[mc]ec\?\|rlc\|s\?mc\|sdma\)\.bin' drivers/gpu/drm/radeon/cik.c
-    defsnc 'static[ ]u32[ ]sumo_rlc_save_restore_register_list\[\][ ]=' drivers/gpu/drm/radeon/evergreen.c
-    defsnc 'static[ ]u32[ ]tn_rlc_save_restore_register_list\[\][ ]=' drivers/gpu/drm/radeon/ni.c
-    blobname 'radeon[/]\(BARTS\|BTC\|TURKS\|CAICOS\|%s\)_\(pfp\|m[ec]\|rlc\|smc\)\.bin' 'drivers/gpu/drm/radeon/[ns]i\.c'
-    defsnc 'static[ ]const[ ]struct[ ]ni_cac_weights[ ]cac_weights_cayman_\(xt\|pro\|le\)[ ]=' drivers/gpu/drm/radeon/ni_dpm.c
-    blobname 'radeon[/]\(R\([67]0\|V6[1237]\|S7[1378]\)[05]\|CEDAR\|REDWOOD\|JUNIPER\|CYPRESS\|SUMO2\?\|%s\)_\(pfp\|[mc]e\|rlc\|s\?mc\)\.bin' drivers/gpu/drm/radeon/r600.c
-    defsnc 'static[ ]const[ ]u32[ ]cayman_\(\(cgcg_cgls\|sysls\)_\(default\|disable\|enable\)\|mgcg_default\)\[\][ ]=' drivers/gpu/drm/radeon/ni_dpm.c
-    blobname 'radeon[/]BONAIRE_uvd\.bin' drivers/gpu/drm/radeon/radeon_uvd.c
-    blobname 'radeon[/]\(TAHITI\|PITCARIN\|VERDE\|OLAND\|HAINAN\|%s\)_\(pfp\|[mc]e\|rlc\|s\?mc\)\.bin' drivers/gpu/drm/radeon/si.c
-    defsnc 'static[ ]struct[ ]dll_speed_setting[ ]dll_speed_table\[16\][ ]=' drivers/gpu/drm/radeon/rv740_dpm.c
-    defsnc 'static[ ]const[ ]u8[ ]\(rv7[7314]0\|cedar\|redwood\|juniper\|cypress\|barts\|turks\|caicos\|cayman\)_smc_int_vectors\[\][ ]=' drivers/gpu/drm/radeon/rv770_smc.c
-    defsnc 'static[ ]const[ ]struct[ ]si_dte_data[ ]dte_data_\(tahiti\(_le\|_pro\)\?\|new_zealand\|aruba_pro\|malta\|pitcairn\|curacao_\(xt\|pro\)\|neptune_xt\|cape_verde\|venus_\(xtx\?\|pro\)\|oland\|mars_pro\|sun_xt\)[ ]=' drivers/gpu/drm/radeon/si_dpm.c
-    defsnc 'static[ ]const[ ]u32[ ]trinity_\(mgcg_shls_default\|sysls_\(default\|disable\|enable\)\|override_mgpg_sequences\)\[\][ ]=' drivers/gpu/drm/radeon/trinity_dpm.c
-    defsnc 'static[ ]const[ ]unsigned[ ]char[ ]hex_table\[256\][ ]=' drivers/md/dm-switch.c
-    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm5102_revb_patch\[\][ ]=' drivers/mfd/wm5102-tables.c
-    blobname 'c\(b\|t2\?\)fw-3\.2\.1\.0\.bin' 'drivers/\(net/ethernet/brocade/bna/cna\.h\|scsi/bfa/bfad\.c\)'
-    blobname 'rtl_nic[/]rtl8411-2\.fw' drivers/net/ethernet/realtek/r8169.c
-    blobname 'ath10k[/]QCA988X[/]hw[12]\.0' drivers/net/wireless/ath/ath10k/hw.h
-    blobname '\(ath10k[/]QCA988X[/]hw[12]\.0[/]\)\?\(firmware\|otp\|board\)\.bin' drivers/net/wireless/ath/ath10k/hw.h
-    defsnc 'static[ ]const[ ]u32[ ]ar9462_modes_mix_ob_db_tx_gain_table_2p0\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9462_2p0_initvals.h
-    defsnc 'static[ ]const[ ]u32[ ]ar9462_2p0_5g_xlna_only_rxgain\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar9462_2p0_initvals.h
-    defsnc 'static[ ]const[ ]u32[ ]ar9462_2p1_\(\(mac\|baseband\|radio\)_core\|common_\(mixed_\|wo_xlna_\|5g_xlna_only_\)\?rx_gain\)\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar9462_2p1_initvals.h
-    defsnc 'static[ ]const[ ]u32[ ]ar9462_2p1_\(\(mac\|baseband\)_postamble\|modes_\(low\|high\|mix\)_ob_db_tx_gain\)\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9462_2p1_initvals.h
-    blobname '\(boot_cw1x60\|\(wsm\|sdd\)_\(cw1x60\|22\|20\|11\|10\)\)\.bin' drivers/net/wireless/cw1200/fwio.h
-    accept '[ ][*][ ]4\.[ ]save[ ]as[ ]["]iNVM_xxx\.bin["]' drivers/net/wireless/iwlwifi/mvm/nvm.c
-    accept 'static[ ]const[ ]struct[ ]mwifiex_sdio_device[ ]mwifiex_sdio_sd[^ ]*[ ]=[ ][{][\n][ 	]*\.firmware[ ]=' drivers/net/wireless/mwifiex/sdio.h
-    blobname 'sdd_sagrad_1091_1098\.bin' 'drivers/net/wireless/cw1200/cw1200_sdio\.c\|include/linux/platform_data/net-cw1200\.h'
-    accept '[/][*][ ]An[ ]example[^*]*[\n][	 ]*\.sdd_file[ ]=[ ]["]sdd_\(sagrad_1091_1098\|myplatform\)\.bin["][,]' include/linux/platform_data/net-cw1200.h
-    defsnc 'static[ ]unsigned[ ]const[ ]score_pins\[BYT_NGPIO_SCORE\][ ]=' drivers/pinctrl/pinctrl-baytrail.c
-    defsnc 'static[ ]unsigned[ ]const[ ]sus_pins\[BYT_NGPIO_SUS\][ ]=' drivers/pinctrl/pinctrl-baytrail.c
-    defsnc 'static[ ]const[ ]unsigned[ ]int[ ]bsc_data32_pins\[\][ ]=' drivers/pinctrl/pinctrl-baytrail.c
-    blobname 'mt76\(50\|62\)\.bin' drivers/staging/btmtk_usb/btmtk_usb.c
-    accept '[	 ]*data->firmware[ ]=[ ]firmware[;]' drivers/staging/btmtk_usb/btmtk_usb.c
-    accept '[	]\[CODE_IMX\(27\|53\)\][ ]=[ ][{][\n][	][	]\.firmware[ ]*=' drivers/media/platform/coda.c
-    blobname 'exynos4_\(fimc_is_fw\|s5k6a3_setfile\)\?\.bin' drivers/media/platform/exynos4-is/fimc-is.h
-    accept '[ 	]*ret[ ]=[ ]process_sigma_firmware[(]client[,][ ]ADAU1701_FIRMWARE[)][;]' sound/soc/codecs/adau1701.c
-    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt5640_reg\[RT5640_VENDOR_ID2[ ][+][ ]1\][ ]=' sound/soc/codecs/rt5640.c
-    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]ssm2518_reg_defaults\[\][ ]=' sound/soc/codecs/ssm2518.c
     ;;
 
-  */patch-3.9*)
-    initnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]const[ ]u32[ ]ar9485_1_1_baseband_pos\([*][/][;]\)\?' drivers/net/wireless/ath/ath9k/ar9485_initvals.h
-    accept '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]int[ ]_request_firmware_load\(struct[*][/][;]\)\?' drivers/base/firmware_class.c
+  */*freedo*.patch | */*logo*.patch)
+    accept 'P[13]\([\n]#[^\n]*\)*[\n]*\([\n][0-9 ]*\)\+' drivers/video/logo/logo_libre_clut224.ppm
     ;;
 
-  */patch-3.8*)
-    # Present in 3.8 but patched in stable releases.
-    defsnc '\(static[ ]\)\?const[ ]u16[ ]dot11lcn_sw_ctrl_tbl_\(4313_\)\?\(bt_\)\?\(epa_\)\?\(p250_\)\?rev0\(_combo\)\?\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phytbl_lcn\.c\)'
-    # ath9k firmware is now Free Software.
-    accept '[	]err[ ]=[ ]request_firmware_nowait[(]THIS_MODULE[,][ ]1[,][ ]name[,][ ]sc->dev[,][ ]GFP_KERNEL[,][\n][ 	]*[&]ec[,][ ]ath9k_eeprom_request_cb[)][;]' drivers/net/wireless/ath/ath9k/init.c
-    accept '[#]define[ ]FIRMWARE_AR7010_1_1[ 	]*["]htc_7010\.fw["]' drivers/net/wireless/ath/ath9k/hif_usb.c
-    accept '[#]define[ ]FIRMWARE_AR9271[ 	]*["]htc_9271\.fw["]' drivers/net/wireless/ath/ath9k/hif_usb.c
-    accept 'MODULE_FIRMWARE[(]FIRMWARE_AR7010_1_1[)][;]' drivers/net/wireless/ath/ath9k/hif_usb.c
-    accept 'MODULE_FIRMWARE[(]FIRMWARE_AR9271[)][;]' drivers/net/wireless/ath/ath9k/hif_usb.c
-    accept '[	]ret[ ]=[ ]request_firmware_nowait[(]THIS_MODULE[,][ ]true[,][ ]hif_dev->fw_name[,][\n][ 	]*[&]hif_dev->udev->dev[,][ ]GFP_KERNEL[,][\n][ 	]*hif_dev[,][ ]ath9k_hif_usb_firmware_cb[)][;]' drivers/net/wireless/ath/ath9k/hif_usb.c
-    accept '[	]ret[ ]=[ ]request_firmware[(][&]hif_dev->firmware[,][ ]hif_dev->fw_name[,][\n][ 	]*[&]hif_dev->udev->dev[)][;]' drivers/net/wireless/ath/ath9k/hif_usb.c
-    accept '[	][	]ret[ ]=[ ]request_firmware[(][&]fw[,][ ]hif_dev->fw_name[,][\n][ 	]*[&]hif_dev->udev->dev[)][;]' drivers/net/wireless/ath/ath9k/hif_usb.c
-    # Present in 3.8
-    accept '[	]-[ ]request_firmware[(][)][ ]hotplug[ ]interface[ ]info.' Documentation/00-INDEX
-    defsnc 'static[ ]struct[ ]nand_ecclayout[ ]qi_lb60_ecclayout_[12]gb[ ]=' arch/mips/jz4740/board-qi_lb60.c
-    defsnc 'static[ ]struct[ ]comp_testvec[ ]\(deflate\|lzo\)_\(de\)\?comp_tv_template\[\][ ]=' 'crypto/\(tcrypt\|testmgr\).h'
-    defsc 'static[ ]const[ ]struct[ ]minimode[ ]est3_modes\[\][ ]=' drivers/gpu/drm/drm_edid_modes.h
-    defsnc 'static[ ]const[ ]u32[ ]ar955x_1p0_\(radio\|baseband\|mac\)_postamble\[\]\[5\][ ]' drivers/net/wireless/ath/ath9k/ar955x_1p0_initvals.h
-    defsnc 'static[ ]const[ ]u32[ ]ar955x_1p0_modes_\(no_\)\?xpa_tx_gain_table\[\]\[9\][ ]=' drivers/net/wireless/ath/ath9k/955x_1p0_initvals.h
-    defsnc 'static[ ]struct[ ]pinmux_cfg_reg[ ]pinmux_config_regs\[\][ ]=' 'arch/sh/kernel/cpu/sh2a/pinmux-sh7203\.c\|arch/arm/mach-shmobile/pfc-sh73[67]7\.c'
-    accept '#define[ ]CONFIG_PATH[ ]*["][/]etc[/]vntconfiguration[.]dat["]' drivers/staging/vt6655/device_cfg.h
-    # For 3.8-to-3.9 patch:
-    accept '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?\(static[ ]\(void\|int\)[ ]\)\?_\?request_firmware\(_load\|_work_func\)\?[(]' drivers/base/firmware_class.c
-    accept '[	]ret[ ]=[ ]_request_firmware_prepare[(]' drivers/base/firmware_class.c
-    accept '[ 	]*return[ ]_request_firmware[(]firmware_p,' drivers/base/firmware_class.c
-    initnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]const[ ]struct[ ]reg_val[ ]tuner_init_f\(c0011\[\][ ]=\)\?\(\([ ][{]\)\?[*][/][;]\)\?' drivers/media/dvb/frontends/af9033_priv.h
-    initnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]struct[ ]regdata[ ]mb86a20s_init\[\][ ]=\([ ]\?[{]\?[*][/][;]\)\?' drivers/media/dvb/frontends/mb86a20s.c
-    accept '[	]\.firmware[ ]=[ ]\(DW210[24]\|DW3101\|S630\)_FIRMWARE' drivers/media/usb/dvb-usb/dw2102.c
-    accept '[	]\(p1100\|s660\|p7500\)->firmware[ ]=[ ]\(P1100\|S660\|P7500\)_FIRMWARE' drivers/media/usb/dvb-usb/dw2102.c
-    defsnc 'static[ ]const[ ]u32[ ]ar9485Modes_green_ob_db_tx_gain_1_1\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9485_initvals.h
-    initnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]const[ ]u32[ ]ar955x_1p0_\(radio\|baseband\|mac\)_pos\(tamble\[\]\[5\][ ]=\)\?\([ ]\?[{]\?[*][/][;]\)\?' drivers/net/wireless/ath/ath9k/ar955x_1p0_initvals.h
-    defsnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]const[ ]u32[ ]ar955x_1p0_modes_\(no_\)\?xpa_tx\(_gain_table\[\]\[9\][ ]=\)\?\([ ]\?[{]\?[*][/][;]\)\?' drivers/net/wireless/ath/ath9k/955x_1p0_initvals.h
-    initnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?u16[ ]MCS_DATA_RATE\[2\]\[2\]\[77\][ ]=\([*][/][;]\)\?' 'drivers/staging/\(rtl8192su/ieee80211/rtl819x_HTProc\.c\|rtl8192u/r819xU_firmware\.c\)'
-    accept '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]int[ ]do_mod_firmware_load[(]' sound/sound_firmware.c
-    # New in 3.9
-    blobname 'imx[/]sdma[/]sdma-imx6q\.bin' arch/arm/boot/dts/imx6qdl.dtsi
-    accept '[	]*nvidia,emc-registers[ ]=[ 	]*<\(0x[0-9a-f]*[ 	\n]*\)*>[;]' arch/arm/boot/dts/tegra20-colibri-512.dtsi
-    blobname 'kernel[/]x86[/]microcode[/]GenuineIntel\.bin' arch/x86/kernel/microcode_intel_early.c
-    accept '[0-9][0-9]*[	][0-3][	][0-3][	]0\([\n][0-9][0-9]*[	][0-3][	][0-3][	]0\)*' Documentation/thermal/intel_powerclamp.txt
-    accept '[	]return[ ]_request_firmware_load[(]fw_priv[,]' drivers/base/firmware_class.c
-    accept 'static[ ]int[\n]_request_firmware_prepare[(]struct[ ]firmware[ ][*][*]\?firmware_p' drivers/base/firmware_class.c
-    accept '[/][*][ ]called[ ]from[ ]request_firmware[(][)][ ]and[ ]request_firmware_work_func[(][)][ ][*][/]' drivers/base/firmware_class.c
-    accept '[	]_request_firmware[(][&]fw[,][ ]fw_work->name' drivers/base/firmware_class.c
-    accept '[	]put_device[(]fw_work->device[)][;][ ][/][*][ ]taken[ ]in[ ]request_firmware_nowait[(][)][ ][*][/]' drivers/base/firmware_class.c
-    defsnc 'static[ ]const[ ]u16[ ]x[48]_vectors\[\][ ]=' drivers/edac/amd64_edac.c
-    defsnc 'static[ ]const[ ]struct[ ]hdmiphy_config[ ]hdmiphy_v14_configs\[\][ ]=' drivers/gpu/drm/exynos/exynos_hdmi.c
-    defsnc 'static[ ]const[ ]u32[ ]oland_io_mc_regs\[TAHITI_IO_MC_REGS_SIZE\]\[2\][ ]=' drivers/gpu/drm/radeon/si.c
-    defsnc 'static[ ]const[ ]u8[ ]sixaxis_rdesc_fixup2\?\[\][ ]=' drivers/hid/hid-sony.c
-    defsnc 'static[ ]const[ ]struct[ ]reg_val[ ]tuner_init_fc0012\[\][ ]=' drivers/media/dvb-frontends/af9033_priv.h
-    defsnc '\(static[ ]\)\?struct[ ]linear_segments[ ]cnr_\(to_db\|\(64\|16\)qam\|qpsk\)_table\[\][ ]=' drivers/media/dvb-frontends/mb86a20s.c
-    blobname 'SlimISP_\(%\.2s\|..\)\.bin' drivers/media/i2c/s5c73m3/s5c73m3-core.c
-    defsc 'static[ ]const[ ]struct[ ]i2c_rv[ ]ov965x_init_regs\[\][ ]=' drivers/media/i2c/ov9650.c
-    accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]vp7049_properties[ ]=[ ][{][\n]\([	]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[	]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/m920x.c
-    blobname 'dvb-usb-vp7049-0\.95\.fw' drivers/media/dvb/dvb-usb/m920x.c
-    # The blob name is just the chip name, so no point in deblobbing;
-    # more so considering the number of false positives this would
-    # bring about.
-    # blobname 'lp5521' drivers/leds/leds-lp5521.c
-    # blobname 'lp55231\?' drivers/leds/leds-lp5523.c
-    blobname 'lattice-ecp3\.bit' drivers/misc/lattice-ecp3-config.c
-    defsnc '[	]*static[ ]const[ ]uint8_t[ ]rss_key\[UPT1_RSS_MAX_KEY_SIZE\][ ]=' drivers/net/vmxnet3/vmxnet3_drv.c
-    defsnc 'static[ ]const[ ]u32[ ]ar9300Modes_\(mixed_ob_db\|type5\)_tx_gain_table_2p2\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h
-    defsnc 'static[ ]const[ ]u32[ ]ar9340Modes_low_ob_db_and_spur_tx_gain_table_1p0\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9340_initvals.h
-    defsnc 'static[ ]const[ ]u32[ ]ar9485Modes_green_spur_ob_db_tx_gain_1_1\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9485_initvals.h
-    defsnc 'static[ ]const[ ]u32[ ]ar9580_1p0_type6_tx_gain_table\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9580_1p0_initvals.h
-    blobname 'iwlwifi-\(7260\|3160\)-' drivers/net/wireless/iwlwifi/pcie/7000.c
-    blobname 'mrvl[/]pcie8897_uapsta\.bin' drivers/net/wireless/mwifiex/pcie.h
-    accept 'static[ ]const[ ]struct[ ]mwifiex_pcie_device[ ]mwifiex_pcie\(8766\|8897\)[ ]=[ ][{][\n][	]\.firmware[ 	]*=' drivers/net/wireless/mwifiex/pcie.h
-    accept '[	][	]card->pcie\.firmware[ ]=' drivers/net/wireless/mwifiex/pcie.c
-    accept '[	][	]\.per_chan_pwr_limit_arr_11abg[ 	]*=[ ][{][	 0xf,\n]*' drivers/net/wireless/ti/wl18xx/main.c
-    blobname 'ti-connectivity[/]wl18xx-fw-2\.bin' drivers/net/wireless/ti/wl18xx/main.c
-    blobname '%s-dsp%d-%s\.\(wmfw\|bin\)' sound/soc/codecs/wm_adsp.c
-    defsnc 'static[ ]const[ ]struct[ ]reg_addr[ ]\(idle_\)\?reg_addrs\[\][ ]=' drivers/net/ethernet/broadcom/bnx2x/bnx2x_dump.h
-    blobname '83xx_fw\.bin' drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
-    defsnc 'static[ ]const[ ]unsigned[ ]int[ ]dump_num_registers\[NUM_CHIPS\]\[NUM_PRESETS\][ ]=' drivers/net/ethernet/broadcom/bnx2x/bnx2x_dump.h
-    defsnc 'static[ ]int[ ]pm2xxx_charger_voltage_map\[\][ ]=' drivers/power/pm2301_charger.c
-    accept '[ ][*][ ]comedi[ ]drivers\.[ ]The[ ]request_firmware[(][)][ ]hotplug' drivers/staging/comedi/comedi.h
-    blobname 'rp2\.fw' drivers/tty/serial/rp2.c
-    defsnc 'static[ ]const[ ]unsigned[ ]char[ ]seq_\(w\|rgb\)_gamma\[\][ ]=' drivers/video/backlight/lms501kf03.c
-    defsnc '[#]include[ ]<video[/]mmp_disp\.h>[\n]*static[ ]u16[ ]init\[\][ ]=' drivers/video/mmp/panel/tpo_tj032md01bw.c
-    defsnc 'static[ ]struct[ ]tegra_clk_pll_freq_table[ ]pll_[mpadcu]_freq_table\[\][ ]=' 'drivers/clk/tegra/clk-tegra[23]0\.c'
-    blobname 'ctefx\.bin' sound/pci/hda/patch_ca0132.c
-    defsnc 'static[ ]unsigned[ ]int[ ]\(voice_focus\|mic_svm\|equalizer\)_vals_lookup\[\][ ]=' sound/pci/hda/patch_ca0132.c
-    defsnc 'static[ ]struct[ ]hda_verb[ ]ca0132_init_verbs0\[\][ ]=' sound/pci/hda/patch_ca0132.c
-    defsnc 'static[ ]const[ ]int[ ]dmic_comp\[6\]\[6\][ ]=' sound/soc/codecs/max98090.c
-    # Reverse 3.8-to-3.9 patch:
-    accept '0x102c[ ][ ][ ][ ][ ]0x6151[\n]'"$blobpat*" Documentation/video4linux/et61x251.txt
-    accept '0x041e[ ][ ][ ][ ][ ]0x4017[\n]'"$blobpat*" Documentation/video4linux/zc0301.txt
-    defsnc 'static[ ]struct[ ]clk_pll_\(freq_\)\?table[ ]tegra_pll_[adpxm]_\(freq_\)\?table\[\][ ]=' arch/arm/mach-tegra/tegra2_clocks.c
-    defsnc 'static[ ]struct[ ]clk_pll_freq_table[ ]tegra_pll_[cu]_freq_table\[\][ ]=' arch/arm/mach-tegra/tegra30_clocks.c
-    accept '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?\(static[ ]\(void\|int\)[ ]\)\?_\?request_firmware\(_cleanup\|_prepare\)\?[(]' drivers/base/firmware_class.c
-    accept '[	]*\(\(fw_priv\|ret\)[ ]=[ ]\)\?_\?request_firmware_\(load\|prepare\|cleanup\)' drivers/base/firmware_class.c
-    defsnc '[	]static[ ]u_short[ ]geometry_table\[\]\[[45]\][ ]=' drivers/block/xd.c
-    defsnc 'static[ ]const[ ]u8[ ]hdmiphy_conf\(27\(_027\)\?\|74\(_175\|_25\)\|148_5\)\[32\][ ]=' drivers/media/video/s5p-tv/hdmiphy_drv.c
-    defsnc 'static[ ]const[ ]u8[ ]hdmiphy_conf74_176\[32\][ ]=' drivers/gpu/drm/exynos/exynos_hdmi.c
-    accept '[	]\.firmware[ ]=[ ]["][/][*][(]DEBLOBBED[)][*][/]["]' drivers/media/usb/dvb-usb/dw2102.c
-    accept '[	]\(p1100\|s660\)->firmware[ ]=' drivers/media/dvb/dvb-usb/dw2102.c
-    accept '[	]p7500->firmware[ ]=' drivers/media/dvb/dvb-usb/dw2102.c
-    defsnc '[	]#define[ ]WakeupSeq[ ][ ][ ][ ][{]' drivers/net/ethernet/i825xx/eepro.c
-    defsnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?\(static[ ]\)\?\(const[ ]\)\?\(struct[ ]\)\?\(SiS\|XGI\)_[ME]CLKData\(Struct\)\?[ ]XGI\(340\|27\)\(\(New\)\?_[ME]CLKData\[\][ ]*=\|N\)\?\([ ]\?[{]\?[*][/][;]\)\?' drivers/staging/xgifb/vb_table.h
-    defsnc '\(static[ ]\)\?\(const[ ]\)\?\(UCHAR\|unsigned[ ]char\)[ ]XGI340_CR6[BE]\[8\]\[4\][ ]*=' drivers/staging/xgifb/vb_table.h
-    ;;
-
-  */drm-qxl-driver.patch)
-    defsnc '[	][}][ ]common_modes\[\][ ]=' drivers/gpu/drm/qxl/qxl_display.c
-    ;;
-
-  */patch-3.7*)
-    # Removed chunks matched by entries that don't appear in the patch context.
-    initnc '[	]0x019806b8[,][\n][	]0x1427f116[,]' drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvc0.fuc.h
-    initnc '[	]0xf1160198[,][\n][	]0xb6041427[,]' drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnve0.fuc.h
-    # Present in 3.7 and removed in the patch (for --reverse-patch).
-    defsnc 'static[ ]struct[ ]pinmux_cfg_reg[ ]pinmux_config_regs\[\][ ]=' 'arch/sh/kernel/cpu/sh2a/pinmux-sh7203\.c\|arch/arm/mach-shmobile/pfc-sh73[67]7\.c'
-    defsnc 'const[ ]u32[ ]cast5_s[1234]\[256\][ ]=' crypto/cast5_generic.c
-    defsnc 'const[ ]u32[ ]cast6_s[1234]\[256\][ ]=' crypto/cast6_generic.c
-    defsnc 'unsigned[ ]char[ ]\(QUALITY\|STRENGTH\)_MAP\[\][ ]=' drivers/staging/rtl8187se/r8180_core.c
-    defsnc 'static[ ]const[ ]u16[ ]rtl8225\(bcd\|z2\)_rxgain\[\][ ]=' 'drivers/net/wireless/rtl818x/rtl818[07]/rtl8225\.c'
-    defsnc '\(static[ ]const[ ]\)\?u\(8\|16\|32\)[ ]\(rtl8225\(z2\)\?_\(threshold\|gain_\(a\|bg\)\|chan\|rxgain\|agc\|tx_\(gain_cck\|power\)_ofdm\|tx_power_cck\(_ch14\)\?\)\|ZEBRA2_CCK_OFDM_GAIN_SETTING\)\[\][ ]\?=' drivers/staging/rtl8187se/r8180_rtl8225z2.c
-    defsnc '[	]static[ ]unsigned[ ]char[ ]table_alaw2ulaw\[\][ ]=' drivers/staging/telephony/ixj.c
-    defsnc '[	]static[ ]unsigned[ ]char[ ]table_ulaw2alaw\[\][ ]=' drivers/staging/telephony/ixj.c
-    # Chunks matched by other entries that don't appear in the patch context.
-    initnc '[	][{][ ]19200000[,][ ]216000000[,]' arch/arm/mach-tegra/tegra20_clocks_data.c
-    initnc '[	]0x16019806[,][\n][	]0x041427f1[,]' drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvc0.fuc.h
-    initnc '[	]0x98069221[,][\n][	]0x27f11601[,]' drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnve0.fuc.h
-    initnc '[	][{]0x0000a284\([,][ ]0x00000000\)*\([,][ ]0x00000150\)*[}][,]' drivers/net/wireless/ath/ath9k/ar9462_2p0_initvals.h
-    initnc '[	][{]0x0000a574\([,][ ]0x9c1fff0b\)*\([,][ ]0x5e001eeb\)*[}][,]' drivers/net/wireless/ath/ath9k/ar9485_initvals.h
-    initnc '[	][{]0x0000a580[,][ ]0x00000000[}][,]' drivers/net/wireless/ath/ath9k/ar9485_initvals.h
-    initnc '[	][{]0x0000a584\([,][ ]0x00000000\)*\([,][ ]0x00000150\)*[}][,]' drivers/net/wireless/ath/ath9k/ar9485_initvals.h
-    initnc '[	][{]0x0000a0b4\([,][ ]0x00000000\)*\([,][ ]0x00000150\)*[}][,]' drivers/net/wireless/ath/ath9k/ar9485_initvals.h
-    initnc '[	][{]0x0000982c\([,][ ]0x05eea6d4\)*[}][,]' drivers/net/wireless/ath/ath9k/ar9485_initvals.h
-    accept '[	][	]err[ ]=[ ]request_firmware_nowait[(]THIS_MODULE,[ ]true,[ ]patch\[dev\],' sound/pci/hda/hda_intel.c
-    initnc '[	][{][ ]184[,][ ]0x00[ ][}][,]' sound/soc/codecs/lm49453.c
-    # Already present in 3.7.
-    defsnc '\(static[ ]\)\?unsigned[ ]char[ ]\(__attribute__[ ][(][(]aligned[(]16[)][)][)][ ]\)\?bootlogo_bits\[\][ ]=' arch/m68k/platform/68328/bootlogo.h
-    accept '[	]-[ ]calls[ ]request_firmware[(]' Documentation/firmware_class/README
-    accept 'request_firmware\(_nowait\)\?[(]' drivers/base/firmware_class.c
-    defsnc '[	][}][ ]regs\[\][ ]=' drivers/media/video/em28xx/em28xx-dvb.c
-    defsnc 'static[ ]const[ ]u32[ ]ar9300Modes_\(\(low\(est\)\?\|high\)_ob_db\|high_power\)_tx_gain_table_2p[02]\[\]\[5\][ ]=' 'drivers/net/wireless/ath/ath9k/ar9003_\(2p[02]_\)\?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
-    defsnc 'static[ ]const[ ]u32[ ]ar9485\(\(C\|_c\)ommon_\(wo_xlna_\)\?rx_gain\)\?_1_[01]\(_\(radio\|baseband\|mac\)_core\)\?\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar9485_initvals.h
-    defsnc '\(static[ ]\)\?const[ ]u16[ ]dot11lcn_sw_ctrl_tbl_\(4313_\)\?\(bt_\)\?\(epa_\)\?\(p250_\)\?rev0\(_combo\)\?\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phytbl_lcn\.c\)'
-    defsnc 'static[ ]const[ ]u32[ ]ofdmswing_table\[OFDM_TABLE_SIZE\][ ]=' drivers/net/wireless/rtlwifi/rtl8192ce/dm.c
-    defsnc 'static[ ]const[ ]u8[ ]cckswing_table_ch\(1ch13\|14\)\[CCK_TABLE_SIZE\]\[8\][ ]=' drivers/net/wireless/rtlwifi/rtl8192ce/dm.c
-    defsnc 'static[ ]u8[ ]reserved_page_packet\[TOTAL_RESERVED_PKT_LEN\][ ]=' 'drivers/net/wireless/rtlwifi/rtl8192[cd]e/fw.c'
-    defsnc '[	][}][ ]hw_config\[\][ ]=' drivers/nfc/pn544_hci.c
-    accept 'FIRMWARE[ ]LOADER[ ][(]request_firmware[)]' MAINTAINERS
-    blobname '\(comedi[/]\)\?jr3pci\.idm\(["]\.[\n][ ][*][/]\)\?' drivers/staging/comedi/drivers/jr3_pci.c
-    blobname '\([/]lib[/]firmware[/]\)\?\(gdm72xx[/]\)\?gdms\(krn\|rfs\)\.bin' drivers/staging/gdm72xx/sdio_boot.c
-    defsnc '[}][ ]sisfb_ddc[sf]modes\[\][ ]\(__devinitdata[ ]\)\?=' drivers/video/sis/sis_main.h
-    defsnc 'static[ ]\(const[ ]\)\?struct[ ]lms283gf05_seq[ ]disp_\(init\|pwdn\)seq\[\][ ]=' drivers/video/backlight/lms283gf05.c
-    blobname 'cxgb4[/]t4fw\.bin' 'drivers/\(net/cxgb4/cxgb4_main\.c\|scsi/csiostor/csio_hw\.h\)'
-    defsnc '\(static[ ]\)\?\(const[ ]\)\?\(struct[ ]\)\?XGI_[ME]CLKData\(Struct\)\?[ ]XGI\(3[34]0\|27\)\(New\)\?_[ME]CLKData\[\][ ]*=' drivers/staging/xgifb/vb_table.h
-    defsnc '\(static[ ]\)\?\(const[ ]\)\?\(UCHAR\|unsigned[ ]char\)[ ]XGI340_CR6[BE]\[8\]\[4\][ ]*=' drivers/staging/xgifb/vb_table.h
-    defsnc '\(static[ ]\)\?\(const[ ]\)\?\(UCHAR\|unsigned[ ]char\)[ ]XGI340_CR6F\[8\]\[32\][ ]*=' drivers/staging/xgifb/vb_table.h
-    defsnc '\(static[ ]\)\?\(const[ ]\)\?\(struct[ ]\)\?XGI_StStruct[ ]XGI330_SModeIDTable\[\][ ]*=' drivers/staging/xgifb/vb_table.h
-    defsnc '\(static[ ]\)\?\(const[ ]\)\?\(struct[ ]\)\?XGI_ExtStruct[ ][ ]\?XGI330_EModeIDTable\[\][ ]*=' drivers/staging/xgifb/vb_table.h
-    defsnc '\(static[ ]\)\?\(const[ ]\)\?\(struct[ ]\)\?\(XGI\|SiS\)_StandTable\(Struct\|_S\)[ ]XGI330_StandTable\(\[\]\)\?[ ]*=' drivers/staging/xgifb/vb_table.h
-    defsnc '\([/][*]\)\?\(static[ ]\)\?\(const[ ]\)\?\(struct[ ]\)\?\(XGI330\|SiS\)_LCDData\(Struct\)\?[ ][ ]\?XGI_\(\(St2\?\|Ext\)LCD\(1024x768\|1280x1024\)\|NoScaling\)Data\[\][ ]*=' drivers/staging/xgifb/vb_table.h
-    defsnc '\(static[ ]\)\?\(const[ ]\)\?\(struct[ ]\)\?\(XGI330\|SiS\)_LVDSData\(Struct\)\?[ ][ ]\?XGI\(330\)\?_LVDS\(320x480\|800x600\|1024x768\|1280x\(1024\|768[NS]\?\)\|1400x1050\|640x480\)Data_[12]\[\][ ]*=' drivers/staging/xgifb/vb_table.h
-    defsnc '\(static[ ]\)\?\(const[ ]\)\?\(struct[ ]\)\?XGI_ModeResInfo\(Struct\|_S\)[ ]XGI330_ModeResInfo\[\][ ]*=' drivers/staging/xgifb/vb_table.h
-    defsnc 'static[ ]struct[ ]XGI_ExtStruct[ ]XGI330_EModeIDTable\[\][ ]=' drivers/staging/xgifb/vb_table.h
-    defsnc 'static[ ]\(const[ ]\)\?struct[ ]SiS_MCLKData[ ]XGI\(340\|27\)New_MCLKData\[\][ ]=' drivers/staging/xgifb/vb_table.h
-    defsnc 'static[ ]\(const[ ]\)\?struct[ ]SiS_ModeResInfo_S[ ]XGI330_ModeResInfo\[\][ ]=' drivers/staging/xgifb/vb_table.h
-    defsnc 'static[ ]struct[ ]SiS_StandTable_S[ ]XGI330_StandTable[ ]=' drivers/staging/xgifb/vb_table.h
-    defsnc '\(static[ ]\)\?const[ ]int[ ]lp8788_dldo1239_vtbl\[\][ ]=' drivers/regulator/lp8788-ldo.c
-    defsnc 'static[ ]int[ ]\(__devinit[ ]\)\?azx_probe[(][^)]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*request_firmware[^\n]*' sound/pci/hda/hda_intel.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
-    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
-    defsnc 'static[ ]const[ ]int[ ]__initconst[ ]\(dove\|kirkwood\)_cpu_ddr_ratios\[16\]\[2\][ ]=' drivers/clk/mvebu/clk-core.c
-    defsnc 'static[ ]const[ ]int[ ]h_coef_8t\[GSC_COEF_RATIO\]\[GSC_COEF_ATTR\]\[GSC_COEF_H_8T\][ ]=' drivers/gpu/drm/exynos/exynos_drm_gsc.c
-    defsnc 'static[ ]const[ ]int[ ]v_coef_4t\[GSC_COEF_RATIO\]\[GSC_COEF_ATTR\]\[GSC_COEF_V_4T\][ ]=' drivers/gpu/drm/exynos/exynos_drm_gsc.c
-    defsnc 'static[ ]const[ ]struct[ ]atl1c_platform_patch[ ]plats\[\][ ]=' drivers/net/ethernet/atheros/atl1c/atl1c_main.c
-    defsnc 'u32[ ]RTL8723EPHY_REG_1TARRAY\[RTL8723E_PHY_REG_1TARRAY_LENGTH\][ ]=' drivers/net/wireless/rtlwifi/rtl8723ae/table.c
-    defsnc 'u32[ ]RTL8723EPHY_REG_ARRAY_PG\[RTL8723E_PHY_REG_ARRAY_PGLENGTH\][ ]=' drivers/net/wireless/rtlwifi/rtl8723ae/table.c
-    defsnc 'u32[ ]RTL8723E_RADIOA_1TARRAY\[Rtl8723ERADIOA_1TARRAYLENGTH\][ ]=' drivers/net/wireless/rtlwifi/rtl8723ae/table.c
-    defsnc 'u32[ ]RTL8723EMAC_ARRAY\[RTL8723E_MACARRAYLENGTH\][ ]=' drivers/net/wireless/rtlwifi/rtl8723ae/table.c
-    defsnc 'u32[ ]RTL8723EAGCTAB_1TARRAY\[RTL8723E_AGCTAB_1TARRAYLENGTH\][ ]=' drivers/net/wireless/rtlwifi/rtl8723ae/table.c
-    defsnc 'static[ ]struct[ ]abx500_v_to_cap[ ]cap_tbl\(_[AB]_thermistor\)\?\[\][ ]=' drivers/power/ab8500_bmdata.c
-    defsnc 'static[ ]u16[ ]rx51_temp_table2\[\][ ]=' drivers/power/rx51_battery.c
-    defsnc 'static[ ]const[ ]u32[ ]runnable_avg_yN_\(inv\|sum\)\[\][ ]=' kernel/sched/fair.c
-    defsnc '[	]static[ ]const[ ]u32[ ]base\[4\]\[10\][ ]=' net/wireless/util.c
-    defsnc 'static[ ]unsigned[ ]short[ ]init[1234]\[128\][ ]=' sound/isa/sb/emu8000.c
-    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8750_reg_defaults\[\][ ]=' sound/soc/codecs/wm8750.c
-    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8770_reg_defaults\[\][ ]=' sound/soc/codecs/wm8770.c
-    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8971_reg_defaults\[\][ ]=' sound/soc/codecs/wm8971.c
-    blobname 'nouveau[/]nv%02x_fuc%03x[dc]\?' drivers/gpu/drm/nouveau/core/core/falcon.c
-    blobname 'ar5523\.bin' drivers/net/wireless/ath/ar5523/ar5523.h
-    blobname 'rtlwifi[/]rtl8723\(ae\)\?fw\(_B\)\?\.bin' drivers/net/wireless/rtlwifi/rtl8723ae/sw.c
-    blobname '%s-dsp%d\.\(wmfw\|bin\)' sound/soc/codecs/wm_adsp.c
-    blobname 'fw-4\.bin' drivers/net/wireless/ath/ath6kl/core.h
-    accept '[	]hdsp->firmware[ ]=[ ]fw' sound/pci/rme9652/hdsp.c
-    ;;
-
-  */patch-3.6*)
-    # Present in patch for 3.6.4.
-    accept 'MODULE_FIRMWARE[(]["]keyspan_pda[/]\(keyspan_pda\|xircom_pgs\)\.fw["][)][;]' drivers/usb/serial/keyspan_pda.c
-    # Present in patch for 3.6.5.
-    defsnc 'static[ ]const[ ]u32[ ]ar9300Modes_high_power_tx_gain_table_2p2\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h
-    # Specific to the 3.7 patch
-    accept '[	]\.firmware[ 	]*=[ ]["][/][*][(]DEBLOBBED[)][*][/]["]'
-    accept '[	]\(p1100\|s660\|p7500\)->firmware[ ]=[ ]["][/][*][(]DEBLOBBED[)][*][/]["]'
-    accept '[	]-[ ]calls[ ]request_firmware[(]' Documentation/firmware_class/README
-    accept '[ ]7[)],[ ]kernel:[ ]request_firmware[(]' Documentation/firmware_class/README
-    accept '[	][ ]request_firmware[(][)][ ]returns[ ]non-zero' Documentation/firmware_class/README
-    accept '\(static[ ]\(int\|void\)[\n ]\)\?_request_firmware\(_prepare\|_cleanup\)\?[(]const[ ]struct[ ]firmware[ ][*][*]\?' drivers/base/firmware_class.c
-    accept '[	][	]_request_firmware_cleanup[(]firmware_p[)][;]' drivers/base/firmware_class.c
-    accept '[ ][*][	]Asynchronous[ ]variant[ ]of[ ]request_firmware[(][)]' drivers/base/firmware_class.c
-    accept 'request_firmware\(_nowait\)\?[(]' drivers/base/firmware_class.c
-    accept 'static[ ]inline[ ]int[ ]request_firmware\(_nowait\)\?[(]' include/linux/firmware.h
-    accept '[	][	]err[ ]=[ ]request_firmware_nowait[(]THIS_MODULE,[ ]true,[ ]patch\[dev\],' sound/pci/hda/hda_intel.c
-    accept '[	][{]0x00009e1c,[ ]0x0001cf9c,[ ]0x[0-9a-fx{},\n	 ]*' drivers/net/wireless/ath/ath9k/ar9462_2p0_initvals.h
-    accept '[;][/][*]@@[ ]-391,17[ ][+]407,17[ ]@@[*][/][;][\n]\([ ]*[123],\)*[\n]\(\([ ]*[ 1234][0-9],\)*[\n]\)*[\n]\(\([ ]*[ 1234][0-9],\)*[\n]\)*\([ ]*1,\)*' scripts/dtc/dtc-lexer.lex.c_shipped
-    accept '[;][/][*]@@[ ]-395,16[ ][+]423,16[ ]@@[*][/][;][\n][ ]*0,\([ ]*2,\)*[\n]\(\([ ]*[ 1234][0-9],\)*[\n]\)*\([ ]*2,\)*' scripts/dtc/dtc-parser.tab.c_shipped
-    accept '[;][/][*]@@[ ]-418,45[ ][+]446,68[ ]@@[*][/][;][\n]\([ ]*[2],\)*[\n]\(\([ ]*[ 12][0-9],\)*[\n]\)*\([ ]*[12][0-9],\)*[ ]*24' scripts/dtc/dtc-parser.tab.c_shipped
-    
-    # Already in 3.6, but changed or moved thus present in patch to 3.7:
-    initnc '[/][*][\n][ ][*][ ]\(cfa_coef\|gamma\|luma_enhance\|noise_filter\)_table\.h[\n][ ][*]\([^\n]*[\n][ ][*]\)*[/]' 'drivers/media/video/omap3isp/\(cfa_coef\|gamma\|luma_enhance\|noise_filter\)_table\.h'
-    accept '[ ][ ][ ][/][*][ ]\(SQCIF\|QSIF\|QCIF\|SIF\|CIF\|VGA\)[ ][*][/][\n][ ][ ][ ][{][\n][ ][ ][ ][ ][ ][ ][{]'"$blobpat*" drivers/media/video/pwc/pwc-nala.h
-    accept 'FIRMWARE[ ]LOADER[ ][(]request_firmware[)]' MAINTAINERS
-    accept '[	]INIT_WORK[(][&]fw_work->work[,][ ]request_firmware_work_func[)][;]' drivers/base/firmware_class.c
-    accept '[	 ]\+request_firmware[(][)][ ]will[ ]hit[ ]an[ ]OOPS' drivers/media/dvb/frontends/dib7000p.c
-    defsnc 'static[ ]struct[ ]clk_pll_\(freq_\)\?table[ ]tegra_pll_[adpxm]_\(freq_\)\?table\[\][ ]=' arch/arm/mach-tegra/tegra2_clocks.c
-    defsnc 'static[ ]struct[ ]clk_pll_freq_table[ ]tegra_pll_[cu]_freq_table\[\][ ]=' arch/arm/mach-tegra/tegra30_clocks.c
-    defsnc 'const[ ]u64[ ]camellia_sp\(10011110\|22000222\|03303033\|00444404\|02220222\|30333033\|44044404\|11101110\)\[256\][ ]=' arch/x86/crypto/camellia_glue.c
-    defsnc 'static[ ]const[ ]u32[ ]s[1-7]\[256\][ ]=' crypto/cast5_generic.c
-    defsnc 'static[ ]const[ ]u32[ ]sb8\[256\][ ]=' crypto/cast5_generic.c
-    defsnc 'static[ ]const[ ]u32[ ]Tm\[24\]\[8\][ ]=' crypto/cast6_generic.c
-    defsnc 'static[ ]const[ ]u8[ ]Tr\[4\]\[8\][ ]=' crpto/cast6_generic.c
-    defsnc 'static[ ]struct[ ]cipher_testvec[ ]\(aes\|anubis\|bf\|camellia\|cts_mode\|des3_ede\|cast6\|salsa20_stream\|serpent\|tf\|tnepres\|xeta\|x\?tea\)\(_\(cbc\|ctr\(_rfc3686\)\?\|xts\)\)\?_\(enc\|dec\)_tv_template\[\][ ]=' 'crypto/\(tcrypt\|testmgr\).h'
-    accept '\([ ]request_firmware[(][)][ ]hotplug[ ]interface:[\n][ ]--*[\n].*[ ]\)\?-[ ]request_firmware_nowait[(][)][ ]is[ ]also[ ]provided[ ]for[ ]convenience' Documentation/firmware_class/README
-    accept '\(static[ ]\(int\|void\)[\n ]\)\?_request_firmware\(_prepare\|_cleanup\)\?[(]const[ ]struct[ ]firmware[ ][*][*]\?firmware\(_p\)\?[,)][^{]*[\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*[\n]\+[}][\n]' drivers/base/firmware_class.c
-    accept 'static[ ]int[ ]_request_firmware_load[(]struct[ ]firmware_priv[ ][*]fw_priv[,]' drivers/base/firmware_class.c
-    accept 'static[ ]void[ ]request_firmware_work_func[(]struct[ ]work_struct[ ][*]work[)]' drivers/base/firmware_class.c
-    accept 'EXPORT_SYMBOL[(]request_firmware\(_nowait\)\?[)][;]' drivers/base/firmware_class.c
-    accept '[	]fw_priv[ ]=[ ]_request_firmware_prepare[(][&]fw[,]' drivers/base/firmware_class.c
-    accept '[	][	]ret[ ]=[ ]_request_firmware_load[(]fw_priv[,]' drivers/base/firmware_class.c
-    accept '[	][	]_request_firmware_cleanup[(][&]fw[)][;]' drivers/base/firmware_class.c
-    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 'static[ ]int[ ]nv10_graph_ctx_regs[ ]\?\[\][ ]=' drivers/char/drm/nv10_graph.c
-    defsnc 'static[ ]int[ ]types\[0x80\][ ]=' drivers/gpu/drm/nouveau/nv50_vram.c
-    defsnc 'static[ ]const[ ]u8[ ]types\[256\][ ]=' drivers/gpu/drm/nouveau/nvc0_vram.c
-    defsnc 'static[ ]u8[ ]samsung_tbmu24112_inittab\[\][ ]=' drivers/media/common/b2c2/flexcop-fe-tuner.c
-    defsnc 'static[ ]u8[ ]alps_tdee4_stv0297_inittab\[\][ ]=' drivers/media/common/b2c2/flexcop-fe-tuner.c
-    defsnc '[}][ ]hps_h_coeff_tab[ ]\[\][ ]=' drivers/media/common/saa7146/saa7146_hlp.c
-    defsnc '[}][ ]hps_v_coeff_tab[ ]\[\][ ]=' drivers/media/common/saa7146/saa7146_hlp.c
-    defsnc 'static[ ]unsigned[ ]int[ ]bitrates\[3\]\[16\][ ]=' drivers/media/dvb-core/dvb_filter.c
-    defsnc 'static[ ]unsigned[ ]int[ ]ac3_bitrates\[32\][ ]=' drivers/media/dvb-core/dvb_filter.c
-    defsnc 'static[ ]u32[ ]ac3_frames\[3\]\[32\][ ]=' drivers/media/dvb-core/dvb_filter.c
-    defsnc 'static[ ]const[ ]unsigned[ ]short[ ]logtable\[256\][ ]=' drivers/media/dvb-core/dvb_math.c
-    defsnc 'static[ ]const[ ]struct[ ]af9013_coeff[ ]coeff_lut\[\][ ]=' drivers/media/dvb/frontends/af9013_priv.h
-    defsnc 'static[ ]\(const[ ]\)\?struct[ ]\(snr_table\|af9013_snr\)[ ]\(qpsk\|qam\(16\|64\)\)_snr_\(table\|lut\)\[\][ ]=' drivers/media/dvb/frontends/af9013_priv.h
-    defsnc 'static[ ]\(const[ ]\)\?struct[ ]\(regdesc\|af9013_reg_bit\)[ ]\(ofsm_init\|tuner_init_\(env77h11d5\|mt2060\(_2\)\?\|mxl500\(3d\|5\)\|qt1010\|mc44s803\|unknown\|tda18271\)\)\[\][ ]=' drivers/media/dvb/frontends/af9013_priv.h
-    defsnc '[	]struct[ ]reg_val_mask[ ]tab\[\][ ]=' 'drivers/media/dvb/frontends/\(cxd2820r_\(c\|t2\)\|af9033\)\.c'
-    defsnc 'static[ ]const[ ]struct[ ]coeff[ ]coeff_lut\[\][ ]=' drivers/media/dvb/frontends/af9033_priv.h
-    defsnc 'static[ ]const[ ]struct[ ]val_snr[ ]\(qpsk\|qam\(16\|64\)\)_snr_lut\[\][ ]=' drivers/media/dvb/frontends/af9033_priv.h
-    defsnc 'static[ ]const[ ]struct[ ]reg_val[ ]\(ofsm_init\|tuner_init_\(tua9001\|fc0011\|mxl5007t\|tda18218\)\)\[\][ ]=' drivers/media/dvb/frontends/af9033_priv.h
-    defsnc '\(static[ ]\)\?\(const[ ]\)\?struct[ ]au8522_register_config[ ]lpfilter_coef\[\][ ]=' drivers/media/dvb/frontends/au8522_decoder.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'
-    defsnc 'static[ ]u8[ ]stv0288_bsbe1_d01a_inittab\[\][ ]=' drivers/media/dvb/frontends/bsbe1-d01a.h
-    defsnc 'static[ ]\(const[ ]\)\?u8[ ]init_tab[ ]\?\[\][ ]=' 'drivers/media/dvb/frontends/cx2270\(0\|2\)\.c'
-    defsnc 'static[ ]const[ ]u16[ ]dib0090_defaults\[\][ ]=' drivers/media/dvb/frontends/dib0090.c
-    defsnc 'static[ ]const[ ]struct[ ]dib0090_pll[ ]dib0090_\(p1g_\)\?pll_table\[\][ ]=' drivers/media/dvb/frontends/dib0090.c
-    defsnc '[	]static[ ]u8[ ]sine\[\][ ]=' drivers/media/dvb/frontends/dib7000p.c
-    accept '[	]\+request_firmware[(][)][ ]will[ ]hit[ ]an[ ]OOPS' drivers/media/dvb/frontends/dib7000p.c
-    defsnc '\(static[ ]const[ ]\)\?u32[ ]fe_info\[44\][ ]=' drivers/media/dvb/frontends/dib9000.c
-    defsnc 'static[ ]u8[ ]ds3000_dvbs2\?_init_tab\[\][ ]=' drivers/media/dvb/frontends/ds3000.c
-    defsnc '[	]static[ ]const[ ]u16[ ]dvbs2_snr_tab\[\][ ]=' drivers/media/dvb/frontends/ds3000.c
-    defsnc 'static[ ]struct[ ]dvb_pll_desc[ ][^\n]*[ ]=[ ][{]' drivers/media/dvb/frontends/dvb-pll.c
-    defsnc 'static[ ]u8[ ]stv0288_earda_inittab\[\][ ]=' drivers/media/dvb/frontends/eds1547.h
-    defsnc 'static[ ]const[ ]struct[ ]reg_mod_vals[ ]reg_mod_vals_tab\[\][ ]=' drivers/media/dvb/frontends/hd29l2_priv.h
-    defsnc 'static[ ]struct[ ]adctable[ ]tab[1-8]\[\][ ]=' drivers/media/dvb/frontends/it913x-fe-priv.h
-    initnc '[}][ ]itd1000_\(lpf_pga\|fre_values\)\[\][ ]=' drivers/media/dvb/frontends/itd1000.c
-    defsnc 'static[ ]const[ ]struct[ ]cnr[ ]cnr_tab\[\][ ]=' drivers/media/dvb/frontends/mb86a16.c
-    defsnc 'static[ ]struct[ ]regdata[ ]mb86a20s_init\[\][ ]=' drivers/media/dvb/frontends/mb86a20s.c
-    defsnc '[	]struct[ ]rtl2830_reg_val_mask[ ]tab\[\][ ]=' drivers/media/dvb/frontends/rtl2830.c
-    defsnc '[	]static[ ]u8[ ]bw_params1\[3\]\[34\][ ]=' drivers/media/dvb/frontends/rtl2830.c
-    defsnc '[	]static[ ]u8[ ]bw_params\[3\]\[32\][ ]=' drivers/media/dvb/frontends/rtl2832.c
-    defsnc '[}][ ]init_tab\[\][ ]=' drivers/media/dvb-frontends/s5h1409.c
-    defsnc '[}][ ]vsb_snr_tab\[\][ ]=' drivers/media/dvb-frontends/s5h1409.c
-    defsnc '[}][ ]qam256_snr_tab\[\][ ]=' drivers/media/dvb-frontends/s5h1409.c
-    defsnc '[}][ ]qam64_snr_tab\[\][ ]=' drivers/media/dvb-frontends/s5h1409.c
-    defsnc 'static[ ]struct[ ]regdata[ ]s921_init\[\][ ]=' drivers/media/dvb/frontends/s921.c
-    defsnc 'static[ ]u8[ ]serit_sp1511lhb_inittab\[\][ ]=' drivers/media/dvb/frontends/si21xx.c
-    defsnc 'static[ ]\(const[ ]\)\?struct[ ]stb0899_tab[ ]stb0899_\(cn\|dvbs2\?rf\|quant\|est\)_tab\[\][ ]=' drivers/media/dvb/frontends/stb0899_drv.c
-    defsnc 'static[ ]const[ ]struct[ ]stb6100_lkup[ ]lkup\[\][ ]=' drivers/media/dvb/frontends/stb6100.c
-    defsnc 'static[ ]u8[ ]stv0288_inittab\[\][ ]=' drivers/media/dvb/frontends/stv0288.c
-    defsnc 'static[ ]u8[ ]tda10021_inittab\[0x40\]=' drivers/media/dvb/frontends/tda10021.c
-    initnc '[}][ ]snr_tab\[\][ ]=' drivers/media/dvb/frontends/tda10048.c
-    defsnc '[	]struct[ ]tda10071_reg_val_mask[ ]tab2\[\][ ]=' drivers/media/dvb/frontends/tda10071.c
-    defsnc '[	]static[ ]u8[ ]InitRegs\[\][ ]=' drivers/media/dvb/frontends/tda18271c2dd.c
-    defsnc 'static[ ]struct[ ]SMapI[ ]m_RF_Cal_Map\[\][ ]=' drivers/media/dvb/frontends/tda18271c2dd_maps.h
-    defsnc 'static[ ]struct[ ]SMap2[ ]m_\(Main\|Cal\)_PLL_Map\[\][ ]=' drivers/media/dvb/frontends/tda18271c2dd_maps.h
-    defsnc 'static[ ]struct[ ]SMap2\?[ ]*m_\(GainTaper\|RF_Cal_DC_Over_DT\|CID_Target\)_Map\[\][ ]=' drivers/media/dvb/frontends/tda18271c2dd_maps.h
-    defsnc 'static[ ]u8[ ]tda8083_init_tab[ ]\[\][ ]=' drivers/media/dvb/frontends/tda8083.c
-    defsnc 'static[ ]u8[ ]ves1820_inittab\[\][ ]=' drivers/media/dvb/frontends/ves1820.c
-    defsnc 'static[ ]u8[ ]init_1[89]93_w\?tab[ ]\?\[\][ ]=' drivers/media/dvb/frontends/ves1x93.c
-    defsnc '[	]static[ ]const[ ]u8[ ]biphase_tbl\[\][ ]='
-    initnc 'static[ ]struct[ ]regval_list[ ]ov7670_default_regs\[\][ ]=' drivers/media/i2c/ov7670.c
-    defsnc 'static[ ]struct[ ]s5k6aa_regval[ ]s5k6aa_analog_config\[\][ ]=' drivers/media/video/s5k6aa.c
-    initnc 'static[ ]u32[ ]reg_init_initialize\[\][ ]=' drivers/media/video/saa717x.c
-    initnc '[	][}][ ]vals\[\][ ]=' drivers/media/video/saa717x.c
-    defsnc 'static[ ]const[ ]struct[ ]regval_list[ ]ov2640_init_regs\[\][ ]=' drivers/media/video/ov2640.c
-    defsnc 'static[ ]struct[ ]regval_list[ ]ov5642_default_regs_\(init\|finalise\)\[\][ ]=' drivers/media/video/ov5642.c
-    defsnc 'static[ ]const[ ]struct[ ]ov9640_reg[ ]ov9640_regs_dflt\[\][ ]=' drivers/media/video/ov9640.c
-    defsnc 'static[ ]const[ ]struct[ ]ov9740_reg[ ]ov9740_defaults\[\][ ]=' drivers/media/video/ov9740.c
-    defsnc '\(const[ ]static\|static[ ]const\)[ ]struct[ ]rj54n1_reg_val[ ]bank_[4578]\[\][ ]=' drivers/media/video/rj54n1cb0c.c
-    defsnc 'static[ ]const[ ]u16[ ]vs6624_p1\[\][ ]=' drivers/media/video/vs6624.c
-    defsnc '[	]unsigned[ ]char[ ]saa7111_regs\[\][ ]=' drivers/media/parport/w9966.c
-    initnc 'static[ ]int[ ]miro_fmtuner\[\][ ][ ]=' drivers/media/video/bt8xx/bt-cards.c
-    initnc 'static[ ]int[ ]miro_tunermap\[\][ ]=' drivers/media/video/bt8xx/bt-cards.c
-    defsnc 'static[ ]u8[ ]SRAM_Table\[\]\[60\][ ]=' drivers/media/pci/bt8xx/bttv-driver.c
-    defsnc '[	]static[ ]u8[ ]init_bufs\[13\]\[5\][ ]=' drivers/media/pci/cx88/cx88-cards.c
-    defsnc 'static[ ]\(const[ ]\)\?u8[ ]samsung_smt_7020_inittab\[\][ ]=' drivers/media/video/cx88/cx88-dvb.c
-    initnc '[	]static[ ]const[ ]u8[ ]mpeg_hdr_data\[\][ ]=' drivers/media/video/cx18/cx18-vbi.c
-    defsnc 'u8[ ]lgtdqcs001f_inittab\[\][ ]=' drivers/media/dvb/mantis/mantis_vp1033.c
-    defsnc '[	]static[ ]u16[ ]jpeg_tables\[\]\[70\][ ]=' drivers/media/pci/meye/meye.c
-    defsnc '[	]static[ ]u16[ ]tables\[\][ ]=' drivers/media/pci/meye/meye.c
-    defsnc 'static[ ]u8[ ]ITUDecoderSetup\[4\]\[16\][ ]=' drivers/media/dvb/ngene/ngene-core.c
-    defsnc 'static[ ]const[ ]u8[ ]va1j5jf8007[ts]_\(2[05]mhz_\)\?prepare_bufs\[\]\[2\][ ]=' 'drivers/media/dvb/pt1/va1j5jf8007[st]\.c'
-    defsnc '[}][ ]mxb_saa7740_init\[\][ ]=' drivers/media/pci/saa7146/mxb.c
-    defsnc 'static[ ]u8[ ]nexusca_stv0297_inittab\[\][ ]=' drivers/media/dvb/ttpci/av7110.c
-    accept '[	]const[ ]char[ ]\*fw_name[ ]=[ ]["]av7110[/]bootcode\.bin["][;]' drivers/media/dvb/ttpci/av7110_hw.c
-    accept '[	]ret[ ]=[ ]request_firmware[(][^;]*[)][;][\n][	]if[ ][(]ret[)][ ][{][^}]*[}][\n][\n][	]mwdebi[(]av7110,[ ]DEBISWAB,[ ]DPRAM_BASE' drivers/media/dvb/ttpci/av7110_fw.c
-    accept 'MODULE_FIRMWARE[(]["]av7110[/]bootcode\.bin["][)][;]' drivers/media/dvb/ttpci/av7110_fw.c
-    defsnc 'static[ ]u16[ ]default_key_map[ ]\[256\][ ]=' drivers/media/pci/ttpci/av7110_ir.c
-    defsnc 'static[ ]u8[ ]saa7113_init_regs\[\][ ]=' drivers/media/pci/ttpci/av7110_v4l.c
-    defsnc 'static[ ]const[ ]u8[ ]saa7113_tab\[\][ ]=' drivers/media/dvb/ttpci/budget-av.c
-    defsnc 'static[ ]u8[ ]philips_sd1878_inittab\[\][ ]=' drivers/media/dvb/ttpci/budget-av.c
-    defsnc 'static[ ]u8[ ]philips_su1278_tt_inittab\[\][ ]=' drivers/media/dvb/ttpci/budget-ci.c
-    defsnc 'static[ ]u8[ ]dvbc_philips_tdm1316l_inittab\[\][ ]=' drivers/media/dvb/ttpci/budget-ci.c
-    defsnc 'static[ ]const[ ]char[ ]zr360[56]0_dqt\[0x86\][ ]=' 'drivers/media/video/zr36060\.c\|drivers/media/video/zoran/zr36060\.c'
-    defsnc 'static[ ]const[ ]char[ ]zr360[56]0_dht\[0x1a4\][ ]=' 'drivers/media/video/zr36060\.c\|drivers/media/video/zoran/zr36060\.c'
-    defsnc 'static[ ]const[ ]char[ ]zr360[56]0_dqt\[0x86\][ ]=' 'drivers/media/video/zr36060\.c\|drivers/media/video/zoran/zr36060\.c'
-    defsnc 'static[ ]const[ ]struct[ ]isprsz_coef[ ]filter_coefs[ ]=' drivers/media/video/omap3isp/ispresizer.c
-    defsnc 'static[ ]const[ ]unsigned[ ]char[ ]qtbl_\(lu\|chro\)minance\[4\]\[64\][ ]=' drivers/media/video/s5p-jpeg/jpeg-core.c
-    defsnc 'static[ ]const[ ]unsigned[ ]char[ ]hactblg0\[162\][ ]=' drivers/media/video/s5p-jpeg/jpeg-core.c
-    defsnc 'static[ ]const[ ]struct[ ]hdmiphy_conf[ ]hdmiphy_conf_\(s5pv210\|exynos4[24]1[02]\)\[\][ ]=' drivers/media/video/s5p-tv/hdmiphy_drv.c
-    defsnc 'static[ ]const[ ]u8[ ]filter_y_vert_tap4\[\][ ]=' drivers/media/video/s5p-tv/mixer_reg.c
-    initnc 'static[ ]u8[ ]mt2131_config1\[\][ ]=' drivers/media/common/tuners/mt2131.c # >= 2.6.26
-    initnc 'static[ ]u8[ ]mt2266_init2\[\][ ]=' drivers/media/common/tuners/mt2266.c # >= 2.6.26
-    defsnc '[	]static[ ]u8[ ]def_regs\[\][ ]=' drivers/media/common/tuners/tda18218.c
-    defsnc '[	]static[ ]unsigned[ ]char[ ]iso_regs\[8\]\[4\][ ]=' drivers/media/usb/cpia2/cpia2_usb.c
-    initnc '[	][	]u8[ ]buf,[ ]bufs\[\][ ]=' drivers/media/dvb/dvb-usb/cxusb.c
-    defsnc 'static[ ]struct[ ]dib0090_wbd_slope[ ]dib7090e_wbd_table\[\][ ]=' drivers/media/dvb/dvb-usb/dib0700_devices.c
-    defsnc '[	][}][ ]regs\[\][ ]=' drivers/media/video/em28xx/em28xx-dvb.c
-    defsnc 'static[ ]u8[ ]init_code\[\]\[2\][ ]=' drivers/media/dvb/dvb-usb/friio-fe.c
-    defsnc 'static[ ]u8[ ]opera1_inittab\[\][ ]=' drivers/media/usb/dvb-usb/opera1.c
-    defsnc 'static[ ]u8[ ]s7395_inittab\[\][ ]=' drivers/media/dvb/dvb-usb/lmedm04.h
-    defsnc '[	][}][ ]regs\[\][ ]=' drivers/media/video/em28xx/em28xx-dvb.c
-    defsnc 'static[ ]const[ ]__u8[ ]cx11646_fw1\[\]\[3\][ ]=' drivers/media/video/gspca/conex.c
-    defsnc 'static[ ]const[ ]__u8[ ]cx_inits_\(176\|320\|352\|640\)\[\][ ]=' drivers/media/video/gspca/conex.c
-    defsnc 'static[ ]const[ ]__u8[ ]cx_jpeg_init\[\]\[8\][ ]=' drivers/media/video/gspca/conex.c
-    defsnc 'static[ ]const[ ]__u8[ ]cxjpeg_\(640\|352\|320\|176\|qtable\)\[\]\[8\][ ]=' drivers/media/video/gspca/conex.c
-    defsnc 'static[ ]struct[ ]validx[ ]tbl_\(commm\?on\|init_\(at_startup\|post_alt\)\|sensor_settings_common\(_[ab]\|1\)\|big\(_[abc]\|[123]\)\|640\|800\)\[\][ ]=' 'drivers/media/video/gspca/gl860/gl860-\(mi2020\|mi1320\|ov9655\|ov2640\).c'
-    defsc 'static[ ]struct[ ]idxdata[ ]tbl_common\(_[a-e]\|5\|_\?3B\?\)\[\][ ]=' 'drivers/media/video/gspca/gl860/gl860-\(mi2020\|mi1320\|ov9655\|ov2640\)\.c'
-    defsnc 'static[ ]u8[ ][*]tbl_\(640\|800\|1280\)\[\][ ]=' 'drivers/media/video/gspca/gl860/gl860-\(mi1320\|ov9655\).c'
-    defsnc '[	]struct[ ]jlj_command[ ]start_commands\[\][ ]=' drivers/media/video/gspca/jeilinj.c
-    defsnc 'static[ ]const[ ]u8[ ]jpeg_head\[\][ ]=' drivers/media/video/gspca/jpeg.h
-    defsnc '[	][	]\(static[ ]\)\?const[ ]struct[ ]sensor_w_data[ ]\(cif\|vga\)_sensor[01]_init_data\[\][ ]=' drivers/media/video/gspca/mr97310a.c
-    defsnc 'static[ ]const[ ]u8[ ]\(nw80[012]\|spacecam2\?\|cvideopro\|dlink\|ds3303\|kr651\|kritter\|mustek\|proscope\|twinkle\|dvcv6\)_start\(_\([12]\|q\?vga\)\)\?\[\][ ]=' drivers/media/video/gspca/nw80x.c
-    defsnc 'static[ ]const[ ]struct[ ]ov_i2c_regvals[ ]norm_7660\[\][ ]=' drivers/media/video/ov519.c
-    initc '[	]\?static[ ]const[ ]struct[ ]ov_i2c_regvals[ ]norm_76[1247]0\[\][ ]=' drivers/media/video/gspca/ov519.c
-    defsnc '[	]const[ ]unsigned[ ]char[ ]\(y\|uv\)QuanTable51[18]\[\][ ]=' 'drivers/media/video/\(ov511\|gspca/ov519\)\.c'
-    defsnc '[	]static[ ]const[ ]struct[ ]ov_regvals[ ]bridge_ov7660\[2\]\[10\][ ]=' drivers/media/video/gspca/ov519.c
-    defsnc '[	]static[ ]const[ ]u8[ ]fr_tb\[2\]\[6\]\[3\][ ]=' drivers/media/video/gspca/ov519.c
-    defsnc '[	]static[ ]const[ ]struct[ ]ov_i2c_regvals[ ]\(brit\|contrast\|colors\)_7660\[\]\[\(6\|7\|31\)\][ ]=' drivers/media/video/gspca/ov519.c
-    defsnc 'static[ ]const[ ]u8[ ]\(bridge\|sensor\)_init\(_2\)\?\[\]\[2\][ ]=' drivers/media/video/gspca/ov534_9.c
-    defsnc 'static[ ]const[ ]u8[ ]\(ov965x\|ov971x\|ov562x\)_init\(_2\)\?\[\]\[2\][ ]=' drivers/media/video/gspca/ov534_9.c
-    defsnc 'static[ ]const[ ]u8[ ]bridge_start_\([qs]\?v\|x\)ga\[\]\[2\][ ]=' drivers/media/video/gspca/ov534_9.c
-    defsnc 'static[ ]const[ ]u8[ ]\(bridge\|sensor\)_init_7\(67\|72\)x\[\]\[2\][ ]=' drivers/media/video/gspca/ov534.c
-    defsnc '[	]*static[ ]u8[ ]color_tb\[\]\[6\][ ]=' drivers/media/video/gspca/ov534.c
-    initnc 'static[ ]const[ ]__u8[ ]pac207_sensor_init\[\]\[8\][ ]=' drivers/media/video/gspca/pac207.c
-    defsnc 'static[ ]const[ ]u8[ ]\(start\|page3\)_7302\[\][ ]=' drivers/media/video/gspca/pac7302.c
-    initnc 'static[ ]const[ ]__u8[ ]pac7311_jpeg_header\[\][ ]=' drivers/media/video/gspca/pac7311.c
-    defsnc 'static[ ]const[ ]__u8[ ]\(start\|page[34]\)_73\(02\|11\)\[\][ ]=' drivers/media/video/gspca/pac7311.c
-    defsnc '[	]struct[ ]init_command[ ]\(spy\|cif\|ms350\|genius\|vivitar\)_start_commands\[\][ ]=' drivers/media/video/gspca/sn9c2028.c
-    defsnc 'static[ ]const[ ]\(int\|s16\)[ ]hsv_\(red\|green\|blue\)_[xy]\[\][ ]=' drivers/media/video/gspca/sn9c20x.c
-    defsnc 'static[ ]const[ ]u16[ ]bridge_init\[\]\[2\][ ]=' drivers/media/video/gspca/sn9c20x.c
-    defsnc 'static[ ]const[ ]struct[ ]i2c_reg_u8[ ]\(soi968\|ov\(7670\|965[05]\)\|hv7131r\)_init\[\][ ]=' drivers/media/video/gspca/sn9c20x.c
-    defsnc 'static[ ]const[ ]struct[ ]i2c_reg_u16[ ]\(mt9v[01]1[12]\)_init\[\][ ]=' drivers/media/video/gspca/sn9c20x.c
-    initnc 'static[ ]const[ ]__u8[ ]init\(Hv7131\|Ov\(6650\|7630\(_3\)\?\)\|Pas\(106\|202\)\|Tas51[13]0\)\[\][ ]=' drivers/media/video/gspca/sonixb.c
-    initnc 'static[ ]const[ ]__u8[ ]\(hv7131\|ov\(6650\|7630\(_3\)\?\)\|pas\(106\|202\)\|tas51[13]0\)_sensor_init\(_com\)\?\[\]\[8\][ ]=' drivers/media/video/gspca/sonixb.c
-    defsnc 'static[ ]const[ ]u8[ ]\(adcm1700\|om6802\|po1030\)_sensor_\(init\|param1\)\[\]\[8\][ ]=' drivers/media/video/gspca/sonixj.c
-    defsnc 'static[ ]const[ ]u8[ ]\(gc0307\|po2030n\|soi768\)_sensor_\(init\|param1\)\[\]\[8\][ ]=' drivers/media/video/gspca/sonixj.c
-    defsnc 'static[ ]\(const[ ]\)\?\(__\)\?u8[ ]\(mt9v111\|sp80708\|hv7131[rd]\|mi0360b\?\|mo4000\|ov76\([36]0\|48\)\|om6802\|po1030\)_sensor_\(init\|param1\)\[\]\[8\][ ]=' drivers/media/video/gspca/sonixj.c
-    defsnc '[	]static[ ]const[ ]u8[ ]probe_tb\[\]\[4\]\[8\][ ]=' drivers/media/video/gspca/sonixj.c
-    initnc 'static[ ]const[ ]__u16[ ]\(spca500_visual\|Clicksmart510\)_defaults\[\]\[3\][ ]=' drivers/media/video/gspca/spca500.c
-    initnc 'static[ ]const[ ]__u8[ ]qtable_\(creative_pccam\|kodak_ez200\|pocketdv\)\[2\]\[64\][ ]=' drivers/media/video/gspca/spca500.c
-    initnc 'static[ ]const[ ]__u16[ ]spca501c\?_\(\(3com\|arowana\|mysterious\)_\)\?\(init\|open\)_data\[\]\[3\][ ]=' drivers/media/video/gspca/spca501.c
-    defsnc 'static[ ]const[ ]\(__u16\|u8\)[ ]spca505b\?_\(init\|open\)_data\(_ccd\)\?\[\]\[3\][ ]=' drivers/media/video/gspca/spca505.c
-    defsnc 'static[ ]const[ ]\(__\)\?u16[ ]spca508\(cs110\|_sightcam2\?\|_vista\)\?_init_data\[\]\[[23]\][ ]=' drivers/media/video/gspca/spca508.c
-    defsnc 'static[ ]const[ ]struct[ ]ucbus_write_cmd[ ]\(icx098bq\|lz24bp\)_start_[012]\[\][ ]=' drivers/media/video/gspca/sq930x.c
-    defsnc '[}][ ]capconfig\[4\]\[2\][ ]=' drivers/media/video/gspca/sq930x.c
-    defsnc 'static[ ]const[ ]\(__u16\|struct[ ]cmd\)[ ]spca504\(_pccam600\|A_clicksmart420\)_\(init\|open\)_data\[\]\(\[3\]\)\?[ ]=' drivers/media/video/gspca/sunplus.c
-    defsnc 'static[ ]const[ ]\(__\)\?u8[ ]qtable_\(creative_pccam\|spca504_default\)\[2\]\[64\][ ]=' drivers/media/video/gspca/sunplus.c
-    defsnc 'static[ ]const[ ]u8[ ]n4_\(om6802\|other\|tas5130a\)\[\][ ]=' drivers/media/video/gspca/t613.c
-    defsnc 'static[ ]const[ ]u8[ ]n4_lt168g\[\][ ]=' drivers/media/video/gspca/t613.c
-    defsnc 'static[ ]const[ ]u8[ ]DQT\[17\]\[130\][ ]=' drivers/media/video/gspca/topro.c
-    defsnc 'static[ ]const[ ]struct[ ]cmd[ ]tp6810_late_start\[\][ ]=' drivers/media/video/gspca/topro.c
-    defsnc '[	]static[ ]const[ ]struct[ ]cmd[ ]sensor_init\[\][ ]=' drivers/media/video/gspca/topro.c
-    defsnc '[	]static[ ]const[ ]u8[ ]gamma_tb\[NGAMMA\]\[3\]\[1024\][ ]=' drivers/media/video/gspca/topro.c
-    defsnc 'static[ ]const[ ]u8[ ]eeprom_data\[\]\[3\][ ]=' drivers/media/gspca/tv8532.c
-    initc 'static[ ]const[ ]\(__\)\?u8[ ]\(mi\(0360\|13[12]0\)\|po\(1200\|3130\)\|hv7131r\|ov76[67]0\)_\(\(soc\)\?_\?[iI]nit\(Q\?V\|SX\)GA\(_\(JPG\|data\)\)\?\|rundata\)\[\]\[4\][ ]=\([ ][{][*][/][;]\)\?' drivers/media/video/gspca/vc032x.c
-    defsnc 'static[ ]const[ ]u8[ ]poxxxx_\(init\(_common\|Q\?VGA\|_end_1\|_start_3\)\|gamma\)\[\]\[4\][ ]=' drivers/media/video/gspca/vc032x.c
-    defsnc 'static[ ]const[ ]u16[ ]rca_initdata\[\]\[3\][ ]=' drivers/media/video/gspca/xirlink_cit.c
-    defsnc 'static[ ]const[ ]struct[ ]usb_action[ ]\(cs2102\|hdcs2020xx\|icm105a\(xx\)\?\|ov7630c\|mt9v111_[13]\|pb0330\([3x]x\)\?\|mi0360soc\)_Initial\(Scale\)\?\[\][ ]=' drivers/media/video/gspca/zc3xx.c
-    defsnc '[	]static[ ]const[ ]u8[ ]gamma_tb\[6\]\[16\][ ]=' drivers/media/video/gspca/zc3xx.c
-    defsnc 'static[ ]const[ ]unsigned[ ]char[ ]hash_table_ops\[64[*]4\][ ]=' drivers/media/usb/pwc/pwc-dec23.c
-    defsnc 'static[ ]const[ ]unsigned[ ]int[ ]MulIdx\[16\]\[16\][ ]=' drivers/media/usb/pwc/pwc-dec23.c
-    defsnc 'const[ ]struct[ ]Kiara_table_entry[ ]Kiara_table\[PSZ_MAX\]\[6\]\[4\][ ]=' drivers/media/video/pwc/pwc-kiara.c
-    defsnc 'const[ ]unsigned[ ]int[ ]KiaraRomTable[ ]\[8\]\[2\]\[16\]\[8\][ ]=' drivers/media/video/pwc/pwc-kiara.c
-    defsnc 'const[ ]struct[ ]Timon_table_entry[ ]Timon_table\[PSZ_MAX\]\[PWC_FPS_MAX_TIMON\]\[4\][ ]=' drivers/media/video/pwc/pwc-timon.c
-    defsnc 'const[ ]unsigned[ ]int[ ]TimonRomTable[ ]\[16\]\[2\]\[16\]\[8\][ ]=' drivers/media/video/pwc/pwc-timon.c
-    initnc 'static[ ]const[ ]u8[ ]SN9C102_\(Y\|UV\)_QTABLE[01]\[64\][ ]=[ ][{]' drivers/media/usb/sn9c102/sn9c102_config.h
-    initnc '[	]static[ ]\(const[ ]\)\?u8[ ]jpeg_header\[589\][ ]=[ ][{]' media/video/sn9c102/sn9c102_core.c
-    accept '[	][	]\?err[ ]=[ ]sn9c102_write_const_regs[(]cam\(,[ 	\n]\+[{]0x[0-9a-fA-F][0-9a-fA-F],[ ]0x[0-9a-fA-F][0-9a-fA-F][}]\)*[)][;]'
-    initnc 'static[ ]struct[ ]regval[ ]ov_initvals\[\][ ]=' drivers/media/usb/stkwebcam/stk-sensor.c
-    initnc 'static[ ]struct[ ]regval[ ]stk1125_initvals\[\][ ]=' drivers/media/usb/stkwebcam/stk-webcam.c
-    defsnc 'static[ ]u8[ ]dvbc_philips_tdm1316l_inittab\[\][ ]=' drivers/media/dvb/ttpci/budget-ci.c
-    defsnc '[	]u8[ ]b\[\][ ]=' drivers/media/usb/ttusb-dec/ttusbdecfe.c
-    defsnc '[	]static[ ]char[ ]init_values\[38\]\[3\][ ]=' drivers/media/video/usbvision/usbvision-core.c
-    defsnc 'static[ ]unsigned[ ]char[ ]header2\[\][ ]=' drivers/media/usb/zr364xx/zr364xx.c
-    defsnc '[	]static[ ]const[ ]char[ ][*][ ]const[ ]vui_sar_idc\[\][ ]=' drivers/media/video/v4l2-ctrls.c
-    defsnc '[	]static[ ]unsigned[ ]char[ ]static_pad\[\][ ]=' drivers/s390/crypto/zcrypt_msgtype6.c
-    defsnc 'static[ ]const[ ]unsigned[ ]int[ ]muxonechan\[\][ ]=' drivers/staging/comedi/drivers/adv_pci1710.c
-    accept '#define[ ]_MAP_0_32_ASCII_SEG7_NON_PRINTABLE[	]\\[\n][	]\(0,\)\+$' 'drivers/input/misc/map_to_7segment\.h\|include/linux/map_to_7segment\.h'
-    defsnc 'static[ ]yyconst[ ]\(flex_int\(16\|32\)_t\|\(\(short[ ]\)\?int\)\)[ ]yy_[^[]*\[[][0-9]*\][ ]='
-    defsnc 'static[ ]const[ ]\(yytype_u\?int\(8\|16\)\|\(unsigned[ ]\)\?\(short\([ ]int\)\?\|char\)\)[ ]yy[^[]*\[\][ ]='
-    defsnc 'static[ ]int[ ]__devinit[ ]azx_probe[(][^)]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*request_firmware[^\n]*' sound/pci/hda/hda_intel.c
-    # New in 3.7:
-    blobname 'imx[/]sdma[/]sdma-imx6q-to1\.bin' arch/arm/boot/dts/imx6q.dtsi
-    accept 'AES_T[ed]:\([\n]\.word[	]0x[0-9a-f]*\([,][ ]0x[0-9a-f]*\)*\)*[\n][@][ ]T[ed]4\[256\]\([\n]\.byte[	]0x[0-9a-f]*\([,][ ]0x[0-9a-f]*\)*\)*\([\n][@][ ]rcon\[\]\([\n]\.word[	]0x[0-9a-f]*\([,][ ]0x[0-9a-f]*\)*\)*\([,][ ]0\)*\)\?' arch/arm/crypto/aes-armv4.S
-    defsnc 'const[ ]u32[ ]cast5_s[1234]\[256\][ ]=' crypto/cast5_generic.c
-    defsnc 'const[ ]u32[ ]cast6_s[1234]\[256\][ ]=' crypto/cast6_generic.c
-    accept '[ ][*][ ]Once[ ]it[ ]returns[ ]successfully[,][ ]driver[ ]can[ ]use[ ]request_firmware' drivers/base/firmware_class.c
-    accept 'int[\n ]cache_firmware[(]const[ ]char[ ][*]fw_name[)][\n][{]\([\n]\+[^\n}][^\n]*\)*ret[ ]=[ ]request_firmware[(][^\n]*\([\n]\+[^\n}][^\n]*\)*[\n]\+[}][\n]' drivers/base/firmware_class.c
-    accept '[ ][*][ ]If[ ]one[ ]device[ ]called[ ]request_firmware' drivers/base/firmware_class.c
-    defsnc 'static[ ]const[ ]struct[ ]mV_pos[ ]__cpuinitconst[ ]\(vrm85\|mobilevrm\)_mV\[32\][ ]=' drivers/cpufreq/longhaul.h
-    defsnc 'static[ ]const[ ]unsigned[ ]char[ ]__cpuinitconst[ ]mV_\(vrm85\|mobilevrm\)\[32\][ ]=' drivers/cpufreq/longhaul.h
-    # Sources for these are in the corresponding .fuc files.
-    defsnc 'static[ ]u32[ ]nva3_pcopy_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/copy/fuc/nva3.fuc.h
-    defsnc 'static[ ]u32[ ]nvc0_pcopy_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/copy/fuc/nvc0.fuc.h
-    defsnc 'static[ ]uint32_t[ ]nv98_pcrypt_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/crypt/fuc/nv98.fuc.h
-    defsnc 'uint32_t[ ]nve0_grgpc_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnve0.fuc.h
-    defsnc 'uint32_t[ ]nve0_grhub_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnve0.fuc.h
-    defsnc 'nv04_graph_ctx_regs\[\][ ]=' drivers/gpu/drm/nouveau/core/engine/graph/nv04.c
-    accept '[	]*ret[ ]=[ ]request_firmware[(]&fw[,][ ]source[,][ ]&nv_device[(]bios[)]->pdev->dev[)][;]' drivers/gpu/drm/nouveau/core/subdev/bios/base.c
-    defsnc 'static[ ]u8[ ][*]edid_load[(][^)]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*err[ ]=[ ]request_firmware[(][&]fw[,][ ]name[,][ ][&]pdev' drivers/gpu/drm/drm_edid_load.c
-    defsnc 'static[ ]const[ ]RegInitializer[ ]initData\[\][ ]__initconst[ ]=' drivers/ide/ali14xx.c
-    defsnc 'static[ ]const[ ]struct[ ]reg_val[ ]tuner_init_fc2580\[\][ ]=' drivers/media/dvb-frontends/af9033_priv.h
-    defsnc '[	]static[ ]const[ ]u8[ ]bw_params1\[3\]\[34\][ ]=' drivers/media/dvb-frontends/rtl2830.c
-    blobname 's5k4ecgx\.bin' drivers/media/i2c/s5k4ecgx.c
-    blobname 'v4l-coda\(dx6-imx27\|7541-imx53\)\.bin' drivers/media/platform/coda.c
-    blobname 's5p-mfc\(-v6\)\?\.fw' drivers/media/platform/s5p-mfc/s5p_mfc.c
-    defsnc 'static[ ]const[ ]struct[ ]e4000_lna_filter[ ]e400_lna_filter_lut\[\][ ]=' drivers/media/tuners/e4000_priv.h
-    defsnc 'static[ ]const[ ]struct[ ]e4000_if_filter[ ]e4000_if_filter_lut\[\][ ]=' drivers/media/tuners/e4000_priv.h
-    defsnc 'static[ ]const[ ]struct[ ]fc2580_reg_val[ ]fc2580_init_reg_vals\[\][ ]=' drivers/media/tuners/fc2580_priv.h
-    defsnc 'static[ ]const[ ]struct[ ]fc2580_freq_regs[ ]fc2580_freq_regs_lut\[\][ ]=' drivers/media/tuners/fc2580_priv.h
-    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm5110_revb_patch\[\][ ]=' drivers/mfd/wm5110-tables.c
-    defsnc 'static[ ]struct[ ]nand_ecclayout[ ]lpc32xx_nand_oob[ ]=' drivers/mtd/nand/lpc32xx_mlc.c
-    defsnc 'static[ ]struct[ ]nand_ecclayout[ ]flctl_4secc_oob_64[ ]=' drivers/mtd/nand/sh_flctl.c
-    defsnc 'static[ ]const[ ]struct[ ]atl1c_platform_patch[ ]plats\[\][ ]__devinitconst[ ]=' drivers/net/ethernet/atheros/atl1c/atl1c_main.c
-    defsnc 'static[ ]const[ ]u32[ ]ar9565_1p0_\(\(mac\|baseband\|radio\)_core\|[Cc]ommon_\(wo_xlna_\)\?rx_gain_table\)\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar9565_1p0_initvals.h
-    defsnc 'static[ ]const[ ]u32[ ]ar9565_1p0_\(\(mac\|baseband\)_postamble\|[Mm]odes_\(low\(est\)\?\|high\)_\(ob_db\|power\)_tx_gain_table\)\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9565_1p0_initvals.h
-    defsnc 'static[ ]u16[ ]r2057_rev[4578]a\?_init\[[45][245]\]\[2\][ ]=' drivers/net/wireless/b43/radio_2057.c
-    defsnc '[	]*tbl_rf_control_override_rev7_over[01]\[\][ ]=' drivers/net/wireless/b43/tables_nphy.c
-    defsnc 'static[ ]const[ ]unsigned[ ]pci_pins\[\][ ]=' drivers/pinctrl/spear/pinctrl-spear1310.c
-    defsnc 'static[ ]int[ ]array_soc\[\]\[2\][ ]=' drivers/power/88pm860x_battery.c
-    defsnc 'static[ ]const[ ]int[ ]mc13783_sw[12]x_val\[\][ ]=' drivers/regulator/mc13783-regulator.c
-    # remoteproc uses request_firmware, but it is generic and names
-    # no blobs of its own, so we change it to maybe_request_firmware.
-    accept '[	]ret[ ]=[ ]request_firmware_nowait[(]THIS_MODULE[,][ ]FW_ACTION_HOTPLUG[,][\n][	 ]*rproc->firmware[,][ ][&]rproc->dev[,][ ]GFP_KERNEL[,][\n][ 	]*rproc[,][ ]rproc_fw_config_virtio[)][;][\n][	]if[ ][(]ret[ ]<[ ]0[)][ ][{][\n][	][	]dev_err[(][&]rproc->dev[,][ ]["]request_firmware_nowait[ ]err' drivers/remoteproc/remoteproc_core.c
-    # This remoteproc client does name blobs, but we discard it
-    # with undefine_macro.
-    blob 'SPROC_MODEM_NAME[ ]["]-fw\.bin["]' drivers/remoteproc/ste_modem_rproc.c
-    accept '[	]if[ ][(]request_firmware[(]&fw_entry,[ ]fname,[ ]&ioa_cfg->pdev->dev[)][)]' drivers/scsi/ipr.c
-    blobname 'daqboard2000_firmware\.bin' drivers/staging/comedi/drivers/daqboard2000.c
-    blobname 'me2600_firmware\.bin' drivers/staging/comedi/drivers/me_daq.c
-    blobname 'ni6534a\.bin' drivers/staging/comedi/drivers/ni_pcidio.c
-    blobname 'niscrb0[12]\.bin' drivers/staging/comedi/drivers/ni_pcidio.c
-    defsnc 'static[ ]const[ ]struct[ ]SiS_TVData[ ]XGI_\(St\|Ext\)\(PAL\|NTSC\|YPbPr\(525\|750\)[ip]\)Data\[\][ ]=' drivers/staging/xgifb/vb_table.h
-    defsnc 'static[ ]const[ ]unsigned[ ]char[ ]XGI330_\(NTSC\|PAL\|HiTV\(Ext\|St[12]\|Text\)\|YPbPr\(525\|750\)[ip]\)Timing\[\][ ]=' drivers/staging/xgifb/vb_table.h
-    defsnc 'static[ ]const[ ]unsigned[ ]char[ ]XGI330_\(HiTV\|Ren\(525\|750\)p\)Group3\(Data\|Simu\|Text\)\?\[\][ ]=' drivers/staging/xgifb/vb_table.h
-    accept 'static[ ]inline[ ]int[\n]\(maybe_\)\?reject_ihex_firmware\(_nowait\)\?[(][^{;]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*[\n]\+[}]' include/linux/firmware.h
-    defsnc '[/][*][ ]callback[ ]from[ ]request_firmware_nowait' sound/pci/hda/hda_intel.c
-    defsnc 'static[ ]int[ ]__devinit[ ]azx_probe[(][^)]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*request_firmware[^\n]*' sound/pci/hda/hda_intel.c
-    defsnc 'static[ ]struct[ ]reg_default[ ]da9055_reg_defaults\[\][ ]=' sound/soc/codecs/da9055.c
-    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]sta32x_regs\[\][ ]=' sound/soc/codecs/sta32x.c
-    blobname 'wm0010\(_stage2\.bin\|\.dfw\)' sound/soc/codecs/wm0010.c
-    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm5102_sysclk_reva_patch\[\][ ]=' sound/soc/codecs/wm5102.c
-    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8510_reg_defaults\[\][ ]=' sound/soc/codecs/wm8510.c
-    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8580_reg_defaults\[\][ ]=' sound/soc/codecs/wm8580.c
-    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8776_reg_defaults\[\][ ]=' sound/soc/codecs/wm8776.c
-    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8900_reg_defaults\[\][ ]=' sound/soc/codecs/wm8900.c
-    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8960_reg_defaults\[\][ ]=' sound/soc/codecs/wm8960.c
-    accept '[	][	]priv->firmware[ ]=[ ]true[;]' drivers/gpu/drm/nouveau/core/engine/graph/nvc0.c
-    accept '[	][	 ]*\(if[ ][(]\|[ ][ ][ ][ ]\)nvc0_graph_ctor_fw[(]priv[,][ ]["]fuc4\(09\|1a\)[cd]["][,][ ][&]priv->fuc4\(09\|1a\)[cd][)]' 'drivers/gpu/drm/nouveau/core/engine/graph/nv[ce]0\.c'
-    accept '[	][	 ]*nvc0_graph_dtor_fw[(]&priv->fuc4\(09\|1a\)[cd][)][;]' 'drivers/gpu/drm/nouveau/nv[ce]0\.c'
-    accept '[	][	]*nvc0_graph_init_fw[(]priv[,][ ]0x4\(09\|1a\)000[,][ ][&]priv->fuc4\(09\|1a\)c[,][ \n	]*[&]priv->fuc4\(09\|1a\)d[)][;]' 'drivers/gpu/drm/nouveau/core/engine/graph/nv[ce]0\.c'
-    blobname 'dvb-fe-xc5000c-4\.1\.30\.7\.fw' drivers/media/tuners/xc5000.c
-    accept '[	]\.firmware[ ]=[ ]AF9015_FIRMWARE' drivers/media/usb/dvb-usb-v2/af9015.c
-    accept '[	]\.firmware[ ]=[ ]AF9035_FIRMWARE' drivers/media/usb/dvb-usb-v2/af9035.c
-    accept '[	]\.firmware[ 	]*=[ ]AZ6007_FIRMWARE' drivers/media/usb/dvb-usb-v2/az6007.c
-    accept '[	]\.firmware[ ]=[ ]EC168_FIRMWARE' drivers/media/usb/dvb-usb-v2/ec168.c
-    blobname 'brcm[/]brcmfmac43\(143\|242a\)\.bin' drivers/net/wireless/brcm80211/brcmfmac/usb.c
-    accept '[	]priv->firmware[ ]=[ ]fw[;]' drivers/net/wireless/p54/p54pci.c
-    blobname 'c[bt]2\?fw-3\.1\.0\.0\.bin' drivers/scsi/bfa/bfad.c
-    blobname 'gdmuimg\.bin' drivers/staging/gdm72xx/usb_boot.c
-    blobname 'CMV4[pi]\.bin\(\.v2\)\?' drivers/usb/atm/ueagle-atm.c
-    blobname 'dvb-fe-tda10071\.fw' drivers/media/dvb/frontends/tda10071_priv.h
-    accept '[	]st->it913x_config\.firmware[ ]=' drivers/media/usb/dvb-usb-v2/it913x.c
-    # Present in 3.6 but removed in the patch:
-    defsnc 'static[ ]const[ ]unsigned[ ]char[ ]__\(cpu\)\?initdata[ ]mV_vrm85\[32\][ ]=' arch/x86/kernel/cpu/cpufreq/longhaul.h
-    accept '[	][	]snprintf[(]fname[,][ ]sizeof[(]fname[)][,][ ]["]nouveau[/]%s["][,][ ]nouveau_vbios[)][;][\n][	][	]ret[ ]=[ ]request_firmware[(]' drivers/gpu/drm/nouveau/nouveau_bios.c
-    defsnc '\(static[ ]uint32_t\|[}]\)[ ]nv04_graph_ctx_regs[ ]\?\[\][ ]=' drivers/char/drm/nv04_graph.c
-    defsc 'uint32_t[ ]nv98_pcrypt_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nv98_crypt.fuc.h
-    defsnc '\(uint32_t\|u32\)[ ]nva3_pcopy_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nva3_copy.fuc.h
-    defsnc '\(uint32_t\|u32\)[ ]nvc0_pcopy_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nvc0_copy.fuc.h
-    accept '[	]it913x_config\.firmware[ ]=[ ]' drivers/media/dvb/dvb-usb/it913x.c
-    accept '[	]*props->firmware[ ]=[ ]fw_it913\(5_v[12]\|7\)' drivers/media/dvb/dvb-usb/it913x.c
-    defsnc '[	]static[ ]const[ ]u8[ ]rsshash\[40\][ ]=' drivers/net/igb/igb_main.c
-    accept '[	]hif_dev->firmware[ ]=[ ]fw[;]' drivers/net/wireless/ath/ath9k/hif_usb.c
-    accept '[	]hif_dev->firmware[ ]=[ ]NULL[;]' drivers/net/wireless/ath/ath9k/hif_usb.c
-    defsnc 'static[ ]const[ ]unsigned[ ]\(rgmii\|smii_0_1_2\|nand_8bit\|mcif\|pci_sata\|clcd\|arm_trace\|miphy_dbg\|emi\)_pins\[\][ ]=' drivers/pinctrl/spear/pinctrl-spear1310.c
-    accept '[	]ret[ ]=[ ]request_firmware\([(][&]firmware_p[,][ ]rproc->firmware[,][ ]dev[)]\|_nowait[(]THIS_MODULE[,][ ]FW_ACTION_HOTPLUG[,][\n][	 ]*rproc->firmware[,][ ]dev[,][ ]GFP_KERNEL[,][\n][ 	]*rproc[,][ ]rproc_fw_config_virtio[)]\)[;][\n][	]if[ ][(]ret[ ]<[ ]0[)][ ][{][\n][	][	]dev_err[(]dev[,][ ]["]request_firmware\(_nowait\)\?[ ]failed' drivers/remoteproc/remoteproc_core.c
-    accept '[	]if[(]request_firmware[(]&fw_entry,[ ]fname,[ ]&ioa_cfg->pdev->dev[)][)]' drivers/scsi/ipr.c
-    defsnc 'const[ ]unsigned[ ]char[ ]map_table\[\][ ]=' drivers/staging/lirc/lirc_ttusbir.c
-    defsnc 'static[ ]struct[ ]SiS_\(LCD\|LVDS\)Data[ ][ ]*XGI_\(\(\(St\|Ext\)LCD\|LVDS\)\(1024x768\|1280x1024\|1400x1050\)\|NoScaling\)Data\(_[12]\)\?\[\][ ]=' drivers/staging/xgifb/vb_table.h
-    accept '[	]if[ ][(][/][*]KEYSPAN_PDA[*][/]request_ihex_firmware' drivers/usb/serial/keyspan_pda.c
-    defsnc 'static[ ]const[ ]u8[ ]sta32x_regs\[STA32X_REGISTER_COUNT\][ ]=' sound/soc/codecs/sta32x.c
-    defsnc 'static[ ]const[ ]u16[ ]wm8510_reg\[WM8510_CACHEREGNUM\][ ]=' sound/soc/codecs/wm8510.c
-    defsnc 'static[ ]const[ ]u16[ ]wm8900_reg_defaults\[WM8900_MAXREG\][ ]=' sound/soc/wm8900.c
-    defsnc 'static[ ]const[ ]u16[ ]wm8960_reg\[WM8960_CACHEREGNUM\][ ]=' sound/soc/codecs/wm8960.c
-    # Specific for the 3.7-to-3.6 reverse patch:
-    accept '[	]err[ ]=[ ]request_firmware[(]&fw,[ ]patch,[ ]dev[)][;]' sound/pci/hda/hda_hwdep.c
-    defsnc '\(static[ ]const[ ]struct[ ]\(stk1160\|saa7113\)config\|[}]\)[ ]\(stk1160\|saa7113\)config\(PAL\|NTSC\)\?\[\(256\)\?\][ ]=' drivers/staging/easycap/easycap_low.c
-    accept '[ ]kernel[(]driver[)]:[ ]calls[ ]request_firmware[(]' Documentation/firmware_class/README
-    accept '[ ]kernel:[ ]request_firmware[(]' Documentation/firmware_class/README
-    accept '[	][	]\.firmware[ 	]*=[ ]["][/][*][(]DEBLOBBED[)][*][/]["]'
-    accept '[;][/][*]@@[ ]-418,45[ ][+]446,68[ ]@@[*][/][;][\n]\([ ]*[2],\)*[\n]\(\([ ]*[1-4],\)*[\n]\)*\([ ]*[ 1][0-9],\)*[ ]*12' scripts/dtc/dtc-parser.tab.c_shipped
-    ;;
-
-  */patch-3.5*)
-    accept '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]static[ ]void[ ]b43_request_firmware[(]' drivers/net/wireless/b43/main.c
-    accept '[ ][*][ ][ ][ ]3[ ]3[ ]2[ ]2[ ]2[ ]2[ ]2[ ]2[ ]2[ ]2[ ]2[ ]2[ ]1[ ]1[ ]1[ ]1[ ]1[ ]1[ ]1[ ]1[ ]1[ ]1[\n][ ][*][ ][ ][ ]1[ ]0[ ]9[ ]8[ ]7[ ]6[ ]5[ ]4[ ]3[ ]2[ ]1[ ]0[ ]9[ ]8[ ]7[ ]6[ ]5[ ]4[ ]3[ ]2[ ]1[ ]0[ ]9[ ]8[ ]7[ ]6[ ]5[ ]4[ ]3[ ]2[ ]1[ ]0' arch/arm/include/asm/pgtable.h
-    # Present in 3.5 and in patch to 3.6:
-    accept '[	]*nvidia,emc-registers[ ]=[ ]<[ ]\(0[ 	\n]*\)*>' Documentation/devicetree/bindings/arm/tegra/emc.txt
-    accept '[	]*nvidia,emc-registers[ ]=[ ]<\(0x[0-9a-f]*[ 	\n]*\)*>[;]' arch/arm/boot/dts/tegra-seaboard.dts
-    defsnc 'static[ ]unsigned[ ]long[ ]shmedia_opcode_table\[64\][ ]=' arch/sh/kernel/traps_64.c
-    initnc 'static[ ]const[ ]u32[ ]ar9340_1p0_baseband_postamble\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9340_initvals.h
-    initnc 'static[ ]const[ ]u32[ ]ar9340_1p0_baseband_core\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar9340_initvals.h
-    initnc 'static[ ]const[ ]u32[ ]ar9340Modes_\(\(high\|low\|mixed\)_\(power\|ob_db\)\|ub124\)_tx_gain_table_1p0\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9340_initvals.h
-    defsnc 'static[ ]const[ ]u32[ ]ar9485\(Common_wo_xlna_rx_gain\)\?_1_1\(_\(baseband\|mac\)_core\)\?\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar9485_initvals.h
-    defsnc 'static[ ]const[ ]u32[ ]ar9485_1_1_baseband_postamble\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9485_initvals.h
-    accept '[	]if[ ][(]ret[ ]<[ ]0[)][ ][{][\n][	][	]dev_err[(]dev[,][ ]["]request_firmware\(_nowait\)\?[ ]failed[^\n]*[\n][	]*complete_all[(][&]rproc->firmware_loading_complete' drivers/remoteproc/remoteproc_core.c
-    accept '[	]rproc->firmware[ ][=][ ]firmware[;]' drivers/remoteproc/remoteproc_core.c
-    defsnc 'static[ ]int[ ]sh_clk_div6_divisors\[64\][ ]=' '\(arch/sh/kernel/cpu/clock-\|drivers/sh/clk/\)cpg\.c'
-    defsnc 'struct[ ]ModeInit[ ]VGAMode\[\][ ]=' drivers/staging/sm7xx/smtcfb.h
-    accept '[/][*][ ]*\([ 1-4][0-9][ ][ ]\)*\(5[0-6][ ][ ]\)*[*][/]' drivers/staging/vt6656/channel.c
-    defsnc 'static[ ]const[ ]long[ ]frequency_list\[\][ ]=' drivers/staging/vt6655/iwctl.c
-    accept '[	][{]\(0x0000a288[,][ ]0x00000220\|0x0000a430[,][ ]0x1ce739ce\|0x0000a540[,][ ]0x\(49005e72\|4e02246c\)\|0x0000a5f4[,][ ]0x\(6f82bf16\|778a308c\)\|0x0000a50c[,][ ]0x10000023\|0x00009e04[,][ ]0x001c2020\|0x00009e44[,][ ]0x62321e27\)\([,][ ]0x[0-9a-f]*\)*[}][,]\([\n][	][{]0x[0-9a-f]*\([,][ ]0x[0-9a-f]*\)*[}][,]\)*' drivers/net/wireless/ath/ath9k/ar9340_initvals.h
-    # For reversal of 3.5-to-3.6 patch only.
-    initnc '\.irp[ ]idx' arch/x86/include/asm/entry_arch.h
-    initnc 'uint32_t[ ]nva3_pcopy_data\[\][ ]=' drivers/gpu/drm/nouveau/nva3_copy.fuc.h
-    initnc 'uint32_t[ ]nvc0_pcopy_data\[\][ ]=' drivers/gpu/drm/nouveau/nvc0_copy.fuc.h
-    initnc 'static[ ]__u8[ ]mode8420\(pro\|con\)\[\][ ]=' drivers/media/video/cs8420.h
-    defsnc 'static[ ]__u8[ ]init7121ntsc\[\][ ]=' drivers/media/video/saa7121.h
-    defsnc 'static[ ]__u8[ ]init7121pal\[\][ ]=' drivers/media/video/saa7121.h
-    defsnc 'static[ ]const[ ]u32[ ]ar9331_\(1p[12]_\(baseband\|mac\)_postamble\|modes_\(low\(est\)\?\|high\)_\(ob_db\|power\)_tx_gain_1p[12]\)\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9330_1p1_initvals.h
-    defsnc 'static[ ]const[ ]u32[ ]ar9331_\(1p[12]_\(radio\|baseband\|mac\)_core\|common_\(wo_xlna_\)\?rx_gain_1p[12]\)\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar9330_1p1_initvals.h
-    defsnc 'static[ ]const[ ]u32[ ]ar9340_1p0_\(mac\|baseband\)_postamble\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9340_initvals.h
-    defsnc 'static[ ]const[ ]u32[ ]ar9340Common_\(wo_xlna_\)\?rx_gain_table_1p0\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar9340_initvals.h
-    defsnc 'static[ ]const[ ]u32[ ]ar9485\(\(C\|_c\)ommon_\(wo_xlna_\)\?rx_gain\)\?_1_[01]\(_\(radio\|baseband\|mac\)_core\)\?\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar9485_initvals.h
-    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
-    defsnc 'static[ ]const[ ]u32[ ]\(ar9\(462\|580\)_\([12]p0_\)\?\(\(baseband\|mac\|radio\)_core\(_emulation\)\?\|\(common_\)\?\(wo_xlna_\|mixed_\)\?rx_gain_table\(_ar9280\)\?\(_[12]p0\)*\)\|ar9200_ar9280_2p0_radio_core\(_1p0\)\?\)\[\]\[2\][ ]=' 'drivers/net/wireless/ath/ath9k/ar9\(462\|580\)_[12]p0_initvals\.h'
-    defsnc 'static[ ]const[ ]u32[ ]ar9\(462\|580\)_\([12]p0_\)\?\(\(tx_gain_table_\)\?\(baseband\|mac\|radio\)_postamble\(_emulation\)\?\|\(modes_\)\?\(high\|low\(est\)\?\|mixed\|green\)_\(ob_db\|power\)_tx_gain_table\(_[12]p0\)\?\)\[\]\[5\][ ]=' 'drivers/net/wireless/ath/ath9k/ar9\(462\|580\)_[12]p0_initvals\.h'
-    defsnc 'static[ ]int[ ]ath_max_4ms_framelen\[4\]\[32\][ ]=' drivers/net/wireless/ath/ath9k/xmit.c
-    defsnc 'static[ ]const[ ]int[ ]\(ldo5\|buck1\)_voltage_map\[\][ ]=' drivers/regulator/lp3972.c
-    defsnc 'static[ ]const[ ]u16[ ]VCORE_VSEL_table\[\][ ]=' drivers/regulator/tps65023-regulator.c
-    defsnc 'static[ ]const[ ]u16[ ]\(VDCDC[1x]\|LDO[12]\)_VSEL_table\[\][ ]=' 'drivers/regulator/tps650\(23\|7x\)-regulator\.c'
-    defsnc 'static[ ]int[ ]tps6586x_\(ldo4\|sm2\|dvm\)_voltages\[\][ ]=' drivers/regulator/tps6586x-regulator.c
-    defsnc 'static[ ]struct[ ]vesa_mode_table[ ]vesa_mode\[\][ ]=' drivers/staging/sm7xx/smtcfb.c
-    defsnc 'static[ ]const[ ]unsigned[ ]short[ ]XGINew_DDRDRAM_TYPE20\[12\]\[5\][ ]=' drivers/staging/xgifb/vb_init.c
-    # New in 3.6:
-    defsnc 'static[ ]unsigned[ ]char[ ]mcf_host_slot2sid\[32\][ ]=' arch/m68k/platform/coldfire/pci.c
-    defsnc 'static[ ]struct[ ]aead_testvec[ ]hmac_sha\(1\|256\|512\)_aes_cbc_enc_tv_template\[\][ ]=' crypto/testmgr.h
-    defsnc 'static[ ]struct[ ]hash_testvec[ ]bfin_crc_tv_template\[\][ ]=' crypto/testmgr.h
-    defsnc '[	]static[ ]u8[ ]bw_params\[3\]\[32\][ ]=' drivers/media/dvb/frontends/rtl2832.c
-    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm51\(02\|10\)_reva_patch\[\][ ]=' drivers/mfd/wm5102-tables.c
-    defsnc 'static[ ]const[ ]u32[ ]ar955x_1p0_\(radio\|baseband\|mac\)_postamble\[\]\[5\][ ]' drivers/net/wireless/ath/ath9k/ar955x_1p0_initvals.h
-    defsnc 'static[ ]const[ ]u32[ ]ar955x_1p0_\(\(radio\|mac\|baseband\)_core\|common_\(wo_xlna_\)\?rx_gain_table\)\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/955x_1p0_initvals.h
-    defsnc 'static[ ]const[ ]u32[ ]ar955x_1p0_modes_\(no_\)\?xpa_tx_gain_table\[\]\[9\][ ]=' drivers/net/wireless/ath/ath9k/955x_1p0_initvals.h
-    blobname 'ti-connectivity[/]wl12[78]x-fw-5-\([ms]r\|plt\)\.bin' drivers/net/wireless/wl12xx/main.c
-    blobname 'ti-connectivity[/]wl18xx-\(fw\|conf\)\.bin' drivers/net/wireless/wl18xx/main.c
-    defsnc 'static[ ]const[ ]unsigned[ ]int[ ]\(ldo5\|buck1\)_voltage_map\[\][ ]=' drivers/regulator/lp3972.c
-    defsnc 'static[ ]const[ ]unsigned[ ]int[ ]\(lp872x_ldo\|lp8720_ldo4\|lp8725_\(lilo\|buck\)\)_vtbl\[\][ ]=' drivers/regulator/lp872x.c
-    defsnc 'const[ ]int[ ]lp8788_dldo1239_vtbl\[\][ ]=' drivers/regulator/lp8788-ldo.c
-    defsnc 'static[ ]const[ ]unsigned[ ]int[ ]mc13892_sw1\?\[\][ ]=' drivers/regulator/mc13892-regulator.c
-    defsnc 'static[ ]const[ ]unsigned[ ]int[ ]VCORE_VSEL_table\[\][ ]=' drivers/regulator/tps65023-regulator.c
-    defsnc 'static[ ]const[ ]unsigned[ ]int[ ]VDCDCx_VSEL_table\[\][ ]=' drivers/regulator/tps6507x-regulator.c
-    defsnc 'static[ ]const[ ]unsigned[ ]int[ ]dcdc[12]_voltages\[\][ ]=' drivers/regulator/tps6524x-regulator.c
-    defsnc 'static[ ]const[ ]unsigned[ ]int[ ]tps6586x_\(ldo4\|sm2\|dvm\)_voltages\[\][ ]=' drivers/regulator/tps6586x-regulator.c
-    defsnc 'static[ ]struct[ ]bcm_ddr_setting[ ]asT3\(LP\)\?B\?_DDRSetting\(160\|133\|100\|80\)MHz\[\][ ]\?=' drivers/staging/bcm/DDRInit.c
-    defsnc '[ ]*static[ ]const[ ]u8[ ]arp_req\[36\][ ]=' drivers/staging/csr/sme_sys.c
-    defsnc 'omap4430_adc_to_temp\[OMAP4430_ADC_END_VALUE[ ]-[ ]OMAP4430_ADC_START_VALUE[ ][+][ ]1\][ ]=' drivers/staging/oma-thermal/omap4-thermal.c
-    defsnc 'omap4460_adc_to_temp\[OMAP4460_ADC_END_VALUE[ ]-[ ]OMAP4460_ADC_START_VALUE[ ][+][ ]1\][ ]=' drivers/staging/oma-thermal/omap4-thermal.c
-    defsnc 'omap5430_adc_to_temp\[OMAP5430_ADC_END_VALUE[ ]-[ ]OMAP5430_ADC_START_VALUE[ ][+][ ]1\][ ]=' drivers/staging/oma-thermal/omap5-thermal.c
-    defsnc 'static[ ]struct[ ]vesa_mode[ ]vesa_mode_table\[\][ ]=' drivers/staging/sm7xxfb/sm7xxfb.c
-    defsnc 'static[ ]struct[ ]SiS_\(LCD\|LVDS\)Data[ ][ ]*XGI_\(\(\(St\|Ext\)LCD\|LVDS\)\(1024x768\|1280x1024\|1400x1050\)\|NoScaling\)Data\(_[12]\)\?\[\][ ]=' drivers/staging/xgifb/vb_table.h
-    defsnc 'static[ ]unsigned[ ]char[ ]rdesc\[\][ ]=' samples/uhid/uhid-example.c
-    defsnc 'static[ ]struct[ ]reg_default[ ]isabelle_reg_defs\[\][ ]=' sound/soc/codecs/isabelle.c
-    blobname 'dvb-usb-terratec-htc-stick-drxk\.fw' drivers/media/video/em28xx/em28xx-dvb.c
-    blobname 'rtl_nic[/]rtl8106e-1\.fw' drivers/net/ethernet/realtek/r8169.c
-    blobname 'rtl_nic[/]rtl8168g-1\.fw' drivers/net/ethernet/realtek/r8169.c
-    defsnc '[	]static[ ]const[ ]u16[ ]mac_ocp_patch\[\][ ]=' in drivers/net/ethernet/realtek/r8169.c
-    blobname 'rt3290\.bin\(\.[\n][	][ ][*][/]\)\?' drivers/net/wireless/rt2x00/rt2800pci.h
-    ;;
-
-  */patch-3.4*gnu*3.5*)
-    # This is far too general for deblobbing, but ok for patch checking.
-    defsnc '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[*][/][;][\n][	][{]0x0000\(9830\|a288\|a0b4\|a138\)[,][ ]0x00000[0-9a-f]*[}]\?[,]' drivers/net/wireless/ath/ath9k/ar9330_1p1_initvals.h
-    # Already present in 3.4, but moved or changed in 3.5:
-    defsnc 'static[ ]struct[ ]pinmux_cfg_reg[ ]pinmux_config_regs\[\][ ]=' 'arch/sh/kernel/cpu/sh2a/pinmux-sh7203\.c\|arch/arm/mach-shmobile/pfc-sh73[67]7\.c'
-    defsnc '[	][}][ ]v_table\[\][ ]=' drivers/gpu/drm/i915/i915_dma.c
-    defsnc '[	]struct[ ]reg_val_mask[ ]tab\[\][ ]=' 'drivers/media/dvb/frontends/\(cxd2820r_\(c\|t2\)\|af9033\)\.c'
-    defsnc 'static[ ]const[ ]u32[ ]ar9331_\(1p[12]_\(radio\|baseband\|mac\)_core\|common_\(wo_xlna_\)\?rx_gain_1p[12]\)\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar9330_1p1_initvals.h
-    accept 'struct[ ]isci_orom[ ][*]isci_request_firmware[(]' 'drivers/scsi/isci/probe_roms\.[ch]'
-    defsnc 'static[ ]u8[ ]MAC_REG_TABLE\[\]\[2\][ ]=' drivers/staging/rtl8187se/r8185b_init.c
-    defsnc 'static[ ]u8[ ][ ]*ZEBRA_AGC\[\][ 	]=' drivers/staging/rtl8187se/r8185b_init.c
-    defsnc 'static[ ]u32[ ]ZEBRA_RF_RX_GAIN_TABLE\[\][ 	]=' drivers/staging/rtl8187se/r8185b_init.c
-    defsnc '[	]static[ ]unsigned[ ]char[ ]table_alaw2ulaw\[\][ ]=' drivers/staging/telephony/ixj.c
-    defsnc '[	]static[ ]unsigned[ ]char[ ]table_ulaw2alaw\[\][ ]=' drivers/staging/telephony/ixj.c
-    defsnc 'static[ ]struct[ ]XGI_ExtStruct[ ]XGI330_EModeIDTable\[\][ ]=' drivers/staging/xgifb/vb_table.h
-    defsnc 'static[ ]u8[ ]w1_crc8_table\[\][ ]=' drivers/w1/w1_io.c
-    defsnc 'static[ ]const[ ]fixp_t[ ]cos_table\[46\][ ]=' include/linux/fixp-arith.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'
-    # New in 3.5:
-    accept '[	]*linux,keymap[ ]=[ ][<][ ]\(0x[0-9a-f]*[ 	\n]*\)*>[;]' 'arch/arm/boot/dts/spear\(13[14]\|30\)0-evb\.dts'
-    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[ ]u8[ ]zero_message_\(hash\|hmac\)_sha256\[SHA256_DIGEST_SIZE\][ ]=' drivers/crypto/ux500/hash/hash_core.c
-    defsnc 'static[ ]const[ ]struct[ ]ast_dramstruct[ ]ast[12][01]00_dram_table_data\[\][ ]=' drivers/gpu/drm/ast/ast_dram_tables.h
-    defsc 'static[ ]struct[ ]ast_vbios_stdtable[ ]vbios_stdtable\[\][ ]=' drivers/gpu/drm/ast/ast_tables.h
-    defsc 'static[ ]const[ ]struct[ ]minimode[ ]est3_modes\[\][ ]=' drivers/gpu/drm/drm_edid_modes.h
-    defsnc 'static[ ]const[ ]u8[ ]hdmiphy_conf74_176\[32\][ ]=' drivers/gpu/drm/exynos/exynos_hdmi.c
-    defsnc 'static[ ]const[ ]struct[ ]wrpll_tmds_clock[ ]wrpll_tmds_clock_table\[\][ ]=' drivers/gpu/drm/i915/intel_ddi.c
-    blobname 'dvb-usb-af9035-02\.fw' drivers/media/dvb/dvb-usb/af9035.c
-    blobname 'dvb-usb-it9135-01\.fw' drivers/media/dvb/dvb-usb/af9035.c
-    defsnc 'static[ ]const[ ]struct[ ]coeff[ ]coeff_lut\[\][ ]=' drivers/media/dvb/frontends/af9033_priv.h
-    defsnc 'static[ ]const[ ]struct[ ]val_snr[ ]\(qpsk\|qam\(16\|64\)\)_snr_lut\[\][ ]=' drivers/media/dvb/frontends/af9033_priv.h
-    defsnc 'static[ ]const[ ]struct[ ]reg_val[ ]\(ofsm_init\|tuner_init_\(tua9001\|fc0011\|mxl5007t\|tda18218\)\)\[\][ ]=' drivers/media/dvb/frontends/af9033_priv.h
-    defsnc '[	]*static[ ]u8[ ]color_tb\[\]\[6\][ ]=' drivers/media/video/gspca/ov534.c
-    defsnc 'static[ ]const[ ]u16[ ]bridge_init\[\]\[2\][ ]=' drivers/media/video/gspca/sn9c20x.c
-    defsnc 'static[ ]const[ ]struct[ ]i2c_reg_u8[ ]\(soi968\|ov\(7670\|965[05]\)\|hv7131r\)_init\[\][ ]=' drivers/media/video/gspca/sn9c20x.c
-    defsnc 'static[ ]const[ ]struct[ ]i2c_reg_u16[ ]\(mt9v[01]1[12]\)_init\[\][ ]=' drivers/media/video/gspca/sn9c20x.c
-    defsnc 'static[ ]const[ ]struct[ ]hdmiphy_conf[ ]hdmiphy_conf_\(s5pv210\|exynos4[24]1[02]\)\[\][ ]=' drivers/media/video/s5p-tv/hdmiphy_drv.c
-    defsnc 'static[ ]const[ ]int32_t[ ]tbat_lookup\[255\][ ]=' drivers/mfd/da9052-core.c
-    defsnc 'static[ ]const[ ]struct[ ]atl1c_platform_patch[ ]plats\[\][ ]__devinitdata[ ]=' drivers/net/ethernet/atheros/atl1c/atl1c_main.c
-    defsnc '[	][}][ ]hw_config\[\][ ]=' drivers/nfc/pn544_hci.c
-    defsnc 'static[ ]const[ ]unsigned[ ]\(rgmii\|smii_0_1_2\|nand_8bit\|mcif\|pci_sata\|clcd\|arm_trace\|miphy_dbg\|emi\)_pins\[\][ ]=' drivers/pinctrl/spear/pinctrl-spear1310.c
-    defsnc 'static[ ]const[ ]long[ ]chan_freq_list\[\]\[2\][ ]=' drivers/staging/wlags49_h2/wl_util.c
-    defsnc 'static[ ]struct[ ]SiS_StandTable_S[ ]XGI330_StandTable[ ]=' drivers/staging/xgifb/vb_table.h
-    defsnc '[	]static[ ]const[ ]unsigned[ ]char[ ]data_to_send_panel_reverse\[\][ ]=' drivers/video/exynos/s6e8ax0.c
-    defsnc 'static[ ]const[ ]unsigned[ ]short[ ]__devinitconst[ ]SiS_DRAMType\[17\]\[5\][ ]=' drivers/video/sis/sis_main.c
-    defsnc 'static[ ]struct[ ]reg_default[ ]lm49453_reg_defs\[\][ ]=' sound/soc/codecs/lm49453.c
-    accept '-[ ]Replace[ ]hard-coded[ ]firmware[ ]paths[ ]with[ ]request_firmware' drivers/staging/gdm72xx/TODO
-    blobname '\([/]lib[/]firmware[/]\)\?gdm72xx[/]gdms\(krn\|rfs\)\.bin' drivers/staging/gdm72xx/sdio_boot.c
-    blobname '\([/]lib[/]firmware[/]\)\?gdm72xx[/]gdmuimg\.bin' drivers/staging/gdm72xx/usb_boot.c
-    blobname 'mrvl[/]usb8797_uapsta\.bin' 'drivers/net/wireless/mwifiex/usb\.[ch]'
-    # This is compiled and assembled out of actual sources as part of the build.
-    accept '[	]\.incbin[	]["]arch[/]x86[/]realmode[/]rm[/]realmode\.bin["]' arch/x86/realmode/rmpiggy.S
-    # Sources for these are in the corresponding .fuc files.
-    defsc 'uint32_t[ ]nv98_pcrypt_\(data\|code\)\[\][ ]=' drivers/gpu/drm/nouveau/nv98_crypt.fuc.h
-    accept '[	]nve0_graph_init_fuc[(]dev[,][ ]0x4\(09\|1a\)000[,][ ][&]priv->fuc4\(09\|1a\)c[,][ ][&]priv->fuc4\(09\|1a\)d[)][;]' drivers/gpu/drm/nouveau/nve0_graph.c
-    accept '[	][	 ]*nve0_graph_destroy_fw[(]&priv->fuc4\(09\|1a\)[cd][)][;]' drivers/gpu/drm/nouveau/nve0_graph.c
-    accept '[	][	 ]*\(if[ ][(]\|[ ][ ][ ][ ]\)nve0_graph_create_fw[(]dev[,][ ]["]fuc4\(09\|1a\)[cd]["][,][ ][&]priv->fuc4\(09\|1a\)[cd][)]' drivers/gpu/drm/nouveau/nve0_graph.c
-    accept '[	]struct[ ]nve0_graph_fuc[ ]fuc4\(09\|1a\)[cd]' drivers/gpu/drm/nouveau/nve0_graph.h
-    accept '[	]memset[(][&]fw[,][ ]0[,][ ]sizeof[(]struct[ ]mwifiex_fw_image[)][)][;][\n][	]adapter->firmware[ ]=[ ]firmware[;]' drivers/net/wireless/mwifiex/main.c
-    # nouveau_vbios is a user-supplied parameter
-    accept '[	][	]snprintf[(]fname[,][ ]sizeof[(]fname[)][,][ ]["]nouveau[/]%s["][,][ ]nouveau_vbios[)][;][\n][	][	]ret[ ]=[ ]request_firmware[(]' drivers/gpu/drm/nouveau/nouveau_bios.c
-    accept '[	][	]\.download_firmware[ ]=[ ]af9035_download_firmware\(_it9135\)\?[,][\n][	][	]\.firmware[ ]=[ ]' drivers/media/dvb/dvb-usb/af9035.c
-    blobname 'rtl_nic[/]rtl8402-1\.fw' drivers/net/ethernet/realtek/r8169.c
-    blobname 'rtl_nic[/]rtl8411-1\.fw' drivers/net/ethernet/realtek/r8169.c
-    blobname 'bdata\(\.SD31\|\.DB132\)\?\.bin' drivers/net/wireless/ath/ath6kl/core.h
-    blobname 'mrvl[/]sd8786_uapsta\.bin' 'drivers/net/wireless/mwifiex/sdio\.[ch]'
-    accept '[	][ ][*][ ]the[ ]isl3886[+]net2280' drivers/net/wireless/p54/p54usb.c
-    # Required for reverse patch only:
-    accept '[	]*interrupts[ ]=[ ]<[ ]\(0[ ]1[0-4][0-9][ ]0x04[ 	\n]*\)*>[;]' 'arch/arm/boot/dts/tegra[23]0\.dtsi'
-    accept '[	]*nvidia,emc-registers[ ]=[ ]<[ ]\(0x[0-9a-f]*[ 	\n]*\)*>' arch/arm/boot/dts/tegra-seaboard.dts
-    accept '[	]\.incbin[	]["]arch[/]x86[/]kernel[/]acpi[/]realmode[/]wakeup\.bin["]' arch/x86/kernel/acpi/wakeup_rm.S
-    accept '[	]\.section[ ]__ex_table,["]a["]'"$sepx$blobpat*" 'arch/x86/lib/copy_user_\(nocache_\)\?64.S'
-    accept '[	 ]\+request_firmware[(][)][ ]will[ ]hit[ ]an[ ]OOPS' drivers/media/dvb/frontends/dib7000p.c
-    defsnc 'static[ ]const[ ]u8[ ]hdmiphy_conf\(27\(_027\)\?\|74\(_175\|_25\)\|148_5\)\[32\][ ]=' drivers/media/video/s5p-tv/hdmiphy_drv.c
-    defsnc '[}][ ]mem_table\[\][ ]=' drivers/net/ethernet/8390/smc-mca.c
-    initnc '[	]\.initial_reg_values[	]=[ ][(]struct[ ]ixp2000_reg_value[ ]\[\][)][ ][{]' drivers/net/ixp2000/ixp2400_rx.ucode
-    initnc '[	]\.initial_reg_values[	]=[ ][(]struct[ ]ixp2000_reg_value[ ]\[\][)][ ][{]' drivers/net/ixp2000/ixp2400_tx.ucode
-    accept '#include[ ]["]ixp2400_[rt]x\.ucode["]' drivers/net/ixp2000/ixpdev.c
-    accept '[	][/][*][ ]Try[ ]user-specified[ ]firmware[ ]first[ ][*][/][\n][	]if[ ][(]fwname[)][\n][	][	]return[ ]request_firmware' drivers/net/wireless/libertas/if_usb.c
-    accept '[	][	]ret[ ]=[ ]request_firmware[(]\(helper,[ ]user_helper\|mainfw,[ ]user_mainfw\)' drivers/net/wireless/libertas/main.c
-    defsnc 'static[ ]const[ ]unsigned[ ]short[ ]XGINew_\(MDA\|[CEV]GA\)_DAC\[\][ ]=' drivers/staging/xgifb/vb_setmode.c
-    defsnc '\(static[ ]\)\?\(struct[ ]\)\?XGI_StStruct[ ]XGI330_SModeIDTable\[\][ ]*=' drivers/staging/xgifb/vb_table.h
-    defsnc 'static[ ]struct[ ]SiS_StandTable_S[ ]XGI330_StandTable\[\][ ]=' drivers/staging/xgifb/vb_table.h
-    defsnc 'static[ ]const[ ]unsigned[ ]short[ ]__devinitconst[ ]SiS_DRAMType\[17\]\[5\][ ]=' drivers/video/sis/sis_main.c
-    defsnc '\([	]\)\?static[ ]\(const[ ]\)\?\(unsigned[ ]\(short\|char\)\|struct[ ]SiS_[^ ]*\)[ ]SiS[^[]*\(\[[][ *0-9]*\]\)\+[ ]*='
-    ;;
-
-  */patch-3.3*gnu*)
-    # These patterns are *way* too broad for general use, but they're fine
-    # for patches between deblob-checked releases.
-    accept 'static[ ]\(int\|void\)[ ]_request_firmware' drivers/base/firmware_class.c
-    accept 'request_firmware[(]const' drivers/base/firmware_class.c
-    accept '[	]*ret[ ]=[ ]_request_firmware' drivers/base/firmware_class.c
-    accept '[	]*_request_firmware_cleanup' drivers/base/firmware_class.c
-    accept '[	]INIT_WORK[(][&]fw_work->work[,][ ]request_firmware_work_func[)][;]' drivers/base/firmware_class.c
-    accept '[	]0x43[,][ ]11[,][	]0x00[,][0-9xa-f, 	\n]*' drivers/media/video/gspca/pac7302.c
-    accept '\([ 	][{][ ]0x[12][02][,][ ]0x[0-9a-f][0-9a-f][,][ ]0x[0-9a-f][0-9a-f][ ][}][,][\n]\?\)\+[	][{][ ]0[ ][}][ ][/][*][ ]TERMINATING[ ]ENTRY[ ][*][/]' sound/usb/6fire/control.c
-    # Some of the above were present before, but not covered by these
-    # specific patterns.
-    defsnc 'static[ ]u32[ ]epll_div\[\]\[6\][ ]=' arch/arm/mach-s5pv210/clock.c
-    defsnc 'static[ ]struct[ ]clk_pll_\(freq_\)\?table[ ]tegra_pll_[adpxm]_\(freq_\)\?table\[\][ ]=' arch/arm/mach-tegra/tegra2_clocks.c
-    defsnc '\(static[ ]\)\?unsigned[ ]char[ ]\(__attribute__[ ][(][(]aligned[(]16[)][)][)][ ]\)\?bootlogo_bits\[\][ ]=' arch/m68k/platform/68328/bootlogo.h
-    accept '[	][	]ranges[ ]=[ ]<'"$blobpat*"'>[;]' 'arch/powerpc/boot/dts/\(mpc8572ds\|p2020ds\|katmai\)\.dts'
-    defsnc 'static[ ]const[ ]u32[ ]camellia_sp0222\[256\][ ]=' crypto/camellia.c
-    defsnc 'static[ ]const[ ]u32[ ]camellia_sp1110\[256\][ ]=' crypto/camellia.c
-    defsnc 'static[ ]const[ ]u32[ ]camellia_sp3033\[256\][ ]=' crypto/camellia.c
-    defsnc 'static[ ]const[ ]u32[ ]camellia_sp4404\[256\][ ]=' crypto/camellia.c
-    defsnc 'static[ ]struct[ ]cipher_testvec[ ]\(aes\|anubis\|bf\|camellia\|cts_mode\|des3_ede\|cast6\|salsa20_stream\|serpent\|tf\|tnepres\|xeta\|x\?tea\)\(_\(cbc\|ctr\(_rfc3686\)\?\|xts\)\)\?_\(enc\|dec\)_tv_template\[\][ ]=' 'crypto/\(tcrypt\|testmgr\).h'
-    accept '\(static[ ]\(int\|void\)[\n ]\)\?_request_firmware\(_prepare\|_cleanup\)\?[(]const[ ]struct[ ]firmware[ ][*][*]\?firmware\(_p\)\?[,)][^{]*[\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*[\n]\+[}][\n]' drivers/base/firmware_class.c
-    accept '[	]fw_priv[ ]=[ ]_request_firmware_prepare[(]firmware_p[,]' drivers/base/firmware_class.c
-    defsnc 'static[ ]const[ ]u8[ ]hdmiphy_conf\(27\(_027\)\?\|74\(_175\|_25\)\|148_5\)\[32\][ ]=' drivers/media/video/s5p-tv/hdmiphy_drv.c
-    defsnc 'static[ ]const[ ]u8[ ]viaLUT\[\][ ]=' drivers/hwmon/via686a.c
-    defsnc 'static[ ]const[ ]u16[ ]stufftab\[5[ ][*][ ]256\][ ]=' drivers/isdn/gigaset/isocdata.c
-    defsnc 'static[ ]const[ ]unsigned[ ]char[ ]bitcounts\[256\][ ]=' drivers/isdn/gigaset/isocdata.c
-    defsnc 'static[ ]byte[ ]capidtmf_leading_zeroes_table\[0x100\][ ]=' drivers/isdn/hardware/eicon/capidtmf.c
-    defsnc '[	]static[ ]int[ ]exp_lut\[256\][ ]=' drivers/isdn/mISDN/dsp_audio.c
-    accept '[	]*props->firmware[ ]=[ ]fw_it913\(5_v[12]\|7\)' drivers/media/dvb/dvb-usb/it913x.c
-    defsnc '[	][}][ ]regs\[\][ ]=' drivers/media/video/em28xx/em28xx-dvb.c
-    defsnc '[	]static[ ]unsigned[ ]char[ ]table_alaw2ulaw\[\][ ]=' drivers/staging/telephony/ixj.c
-    defsnc '[	]static[ ]unsigned[ ]char[ ]table_ulaw2alaw\[\][ ]=' drivers/staging/telephony/ixj.c
-    accept '[	]INITCODESIZE[ ]=[ ]mod_firmware_load[(]INITCODEFILE,[ ][&]INITCODE[)][;]' sound/oss/msnd_pinnacle.c
-    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
-    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
-    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
-    accept 'static[ ]int[ ]_request_firmware_load[(]struct[ ]firmware_priv[ ][*]fw_priv[,]' drivers/base/firmware_class.c
-    accept 'static[ ]void[ ]request_firmware_work_func[(]struct[ ]work_struct[ ][*]work[)]' drivers/base/firmware_class.c
-    accept '[	]fw_priv[ ]=[ ]_request_firmware_prepare[(][&]fw[,]' drivers/base/firmware_class.c
-    accept '[	][	]ret[ ]=[ ]_request_firmware_load[(]fw_priv[,]' drivers/base/firmware_class.c
-    accept '[	][	]_request_firmware_cleanup[(][&]fw[)][;]' drivers/base/firmware_class.c
-    defsnc 'static[ ]const[ ]u32[ ]\(tahiti\|pitcairn\|verde\)_io_mc_regs\[TAHITI_IO_MC_REGS_SIZE\]\[2\][ ]=' drivers/gpu/drm/drm/radeon/si.c
-    defsnc 'static[ ]const[ ]char[ ]fake_edid_info\[\][ ]=' drivers/gpu/drm/exynos/exynos_drm_vidi.c
-    defsnc 'static[ ]const[ ]u8[ ]hdmiphy_v13_conf\(27\(_027\)\?\|74_\(175\|25\)\|148_5\)\[32\][ ]=' drivers/gpu/drm/exynos/exynos_hdmi.c
-    defsnc 'static[ ]char[ ][*]generic_edid_name\[GENERIC_EDIDS\][ ]=' drivers/gpu/drm/drm_edid_load.c
-    defsnc 'static[ ]u8[ ]generic_edid\[GENERIC_EDIDS\]\[128\][ ]=' drivers/gpu/drm/drm_edid_load.c
-    defsnc 'static[ ]int[ ]edid_load[(][^)]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*err[ ]=[ ]request_firmware[(][&]fw[,][ ]name[,][ ][&]pdev' drivers/gpu/drm/drm_edid_load.c
-    blobname 'dvb-usb-terratec-h7-\(drxk\|az6007\)\.fw' drivers/media/dvb/dvb-usb/az6007.c
-    accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]az6007_properties[ ]=[ ][{][\n]\([	]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[	]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/gp8psk.c
-    blobname 'dvb-usb-lme2510c-rs2000\.fw' drivers/media/dvb/dvb-usb/lmedm04.c
-    defsnc '[	]struct[ ]rtl2830_reg_val_mask[ ]tab\[\][ ]=' drivers/media/dvb/frontends/rtl2830.c
-    defsnc '[	]static[ ]u8[ ]bw_params1\[3\]\[34\][ ]=' drivers/media/dvb/frontends/rtl2830.c
-    blobname 'dvb-demod-drxk-pctv\.fw' drivers/media/video/em28xx/em28xx-dvb.c
-    defsnc 'static[ ]const[ ]u8[ ]\(start\|page3\)_7302\[\][ ]=' drivers/media/video/gspca/pac7302.c
-    defsnc 'static[ ]const[ ]u16[ ]vs6624_p1\[\][ ]=' drivers/media/video/vs6624.c
-    defsnc 'static[ ]struct[ ]nand_ecclayout[ ]oob_\(2048\|4096\)_ecc[48][ ]=' drivers/mtd/nand/fsl_ifc_nand.c
-    defsnc 'static[ ]struct[ ]nand_ecclayout[ ]fsmc_ecc4_\(256\|224\|128\|64\)_layout[ ]=' drivers/mtd/nand/fsmc_nand.c
-    defsnc '[	]static[ ]const[ ]u8[ ]dhcp_\(pattern\|mask\)\[\][ ]=' drivers/net/wireless/ath/ath6kl/cfg80211.c
-    blobname 'fw-[23]\.bin' drivers/netwireless/ath/ath6kl/core.h
-    blobname '\(fw\.ram\|otp\|ath\(wlan\|tcmd_ram\)\|utf\|nullTestFlow\|data\.patch\|bdata\(\.SD31\)\?\)\.bin\(\.z77\)\?' drivers/net/wireless/ath/ath6kl/core.h
-    accept '[	]hif_dev->firmware[ ]=[ ]fw[;]' drivers/net/wireless/ath/ath9k/hif_usb.c
-    defsnc 'static[ ]const[ ]u32[ ]b43_ntab_tx_gain_rev\(0_1_2\|3plus_2ghz\|[34]_5ghz\|5plus_5ghz\)\[\][ ]=' drivers/net/wireless/b43/tables_nphy.c
-    defsnc 'static[ ]const[ ]u32[ ]txpwrctrl_tx_gain_ipa\(\|_rev[56]\|_5g\)\[\][ ]=' drivers/net/wireless/b43/tables_nphy.c
-    blobname 'brcm[/]brcmfmac-sdio\.bin' drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
-    blobname 'brcm[/]brcmfmac43236b\.bin' drivers/net/wireless/brcm80211/brcmfmac/usb.c
-    blobname 'ti-connectivity[/]wl12[78]x-fw-4-\([ms]r\|plt\)\.bin' drivers/net/wireless/wl12xx/wl12xx.h
-    blobname 'TINfcInit_%d\.%d\.%d\.%d\.bts' drivers/nfc/nfcwilink.c
-    defsnc 'static[ ]int[ ]ab8500_\(charger\|fg_lowbat\)_voltage_map\[\][ ]=' drivers/power/ab8500_charger.c
-    defsnc '[	]static[ ]const[ ]u8[ ]parity\[\][ ]=' drivers/staging/sep/sep_crypto.c
-    defsnc 'static[ ]struct[ ]SiS_MCLKData[ ]XGI\(340\|27\)New_MCLKData\[\][ ]=' drivers/staging/xgifb/vb_table.h
-    defsnc 'static[ ]struct[ ]SiS_StandTable_S[ ]XGI330_StandTable\[\][ ]=' drivers/staging/xgifb/vb_table.h
-    defsnc 'static[ ]struct[ ]SiS_ModeResInfo_S[ ]XGI330_ModeResInfo\[\][ ]=' drivers/staging/xgifb/vb_table.h
-    defsnc 'static[ ]const[ ]u8[ ]dim_table\[101\][ ]=' drivers/video/backlight/ot200_bl.c
-    defsnc '[	]static[ ]const[ ]unsigned[ ]char[ ]data_to_send\[\][ ]=' drivers/video/exynos/s6e8ax0.c
-    accept '[	]ret[ ]=[ ]request_firmware\([(][&]firmware_p[,][ ]rproc->firmware[,][ ]dev[)]\|_nowait[(]THIS_MODULE[,][ ]FW_ACTION_HOTPLUG[,][\n][	 ]*rproc->firmware[,][ ]dev[,][ ]GFP_KERNEL[,][\n][ 	]*rproc[,][ ]rproc_fw_config_virtio[)]\)[;][\n][	]if[ ][(]ret[ ]<[ ]0[)][ ][{][\n][	][	]dev_err[(]dev[,][ ]["]request_firmware\(_nowait\)\?[ ]failed' drivers/remoteproc/remoteproc_core.c
-    accept '[	]rproc->firmware[ ][=][ ]firmware[;]' drivers/remoteproc/remoteproc_core.c
-    blobname 'ql\(2600\|8300\)_fw\.bin' drivers/scsi/qla2xxx/qla_os.c
-    defsnc 'static[ ]u8[ ]__attribute__[(][(]__aligned__[(]8[)][)][)][ ]test_buf\[\][ ]=' lib/crc32.c
-    defsnc '[}][ ]test\[\][ ]=' lib/crc32.c
-    defsnc 'static[ ]struct[ ]reg_default[ ]da7210_reg_defaults\[\][ ]=' sound/soc/codecs/da7210.c
-    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm2200_reva_patch\[\][ ]=' sound/soc/codecs/wm2200.c
-    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8753_reg_defaults\[\][ ]=' sound/soc/codecs/wm8753.c
-    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8978_reg_defaults\[\][ ]=' sound/soc/codecs/wm8978.c
-    defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]wm8988_reg_defaults\[\][ ]=' sound/soc/codecs/wm8988.c
-    # Removed in 3.4, for --reverse-patch only.
-    defsnc 'static[ ]unsigned[ ]char[ ]splash_bits\[\][ ]=' arch/m68k/platform/68EZ328/bootlogo.h
-    accept '[	]memcpy[(]src,[ ]["]\\x01\\x00\\x00\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00["].*PROGxxxx' arch/powerpc/platforms/iseries/mf.c
-    defsnc 'static[ ]const[ ]u32[ ]crc32c_table\[256\][ ]=' crypto/crc32c.c
-    defsnc 'static[ ]\(u8\|struct[ ]i2c_reg_u8\)[ ]\(soi968\|ov\(76[67]0\|965[05]\)\|hv7131r\)_init\[\]\(\[2\]\)\?[ ]=' drivers/media/video/gspca/sn9c20x.c
-    defsnc 'static[ ]\(const[ ]\)\?u32[ ]ar\(5416\|9280\)\(Modes\(_fast_clock\)\?\|Common\|BB_RfGain\|Bank6\(TPC\)\?\|Addac\)\(_91[06]0\(_\?1_1\)\?\|_9280\(_2\)\?\)\?\[\]\[[236]\][ ]=' 'drivers/net/wireless/ath9k/\(ar\(5008\|9001\)_\)\?initvals\.h'
-    defsnc 'static[ ]const[ ]u32[ ]ar9300Common_\(wo_xlna_\)\?rx_gain_table_\(merlin_\)\?2p[02]\[\]\[2\][ ]=' 'drivers/net/wireless/ath/ath9k/ar9003_\(2p[02]_\)\?initvals\.h'
-    defsnc 'static[ ]const[ ]u32[ ]ar9\(300\|200_merlin\)_2p[02]_\(radio\|mac\|baseband\)_core\[\]\[2\][ ]=' 'drivers/net/wireless/ath/ath9k/ar9003_\(2p[02]_\)\?initvals\.h'
-    defsnc 'static[ ]const[ ]u32[ ]\(ar5416Modes\(_91[06]0\)\?\|ar9280Modes\(_\(backoff_[12]3db\|original\)_rxgain\|_\(high_power\|original\)_tx_gain\)\?_9280_2\|ar9285Modes\(\(_\(high_power\|original\)_tx_gain\)\?_9285_1_2\|_XE2_0_\(normal\|high\)_power\)\|ar9287Modes\(_[tr]x_gain\)\?_9287_1_1\|ar9271Modes\(_\(normal\|high\)_power_tx_gain\)\?_9271\(_ANI_reg\)\?\)\[\]\[5\][ ]=' 'drivers/net/wireless/ath/ath9k/ar\(5008\|9002\)_initvals\.h'
-    defsnc 'static[ ]const[ ]u32[ ]\(ar9\(462\|580\)_\([12]p0_\)\?\(\(baseband\|mac\|radio\)_core\(_emulation\)\?\|\(common_\)\?\(wo_xlna_\|mixed_\)\?rx_gain_table\(_ar9280\)\?\(_[12]p0\)*\)\|ar9200_ar9280_2p0_radio_core\(_1p0\)\?\)\[\]\[2\][ ]=' 'drivers/net/wireless/ath/ath9k/ar9\(462\|580\)_[12]p0_initvals\.h'
-    defsnc 'static[ ]const[ ]u32[ ]ar9\(462\|580\)_\([12]p0_\)\?\(\(tx_gain_table_\)\?\(baseband\|mac\|radio\)_postamble\(_emulation\)\?\|\(modes_\)\?\(high\|low\(est\)\?\|mixed\|green\)_\(ob_db\|power\)_tx_gain_table\(_[12]p0\)\?\)\[\]\[5\][ ]=' 'drivers/net/wireless/ath/ath9k/ar9\(462\|580\)_[12]p0_initvals\.h'
-    defsnc 'static[ ]const[ ]struct[ ]hdmi_timings[ ]cea_vesa_timings\[OMAP_HDMI_TIMINGS_NB\][ ]=' drivers/video/omap2/dss/hdmi.c
-    defsnc 'static[ ]const[ ]u16[ ]wm8753_reg\[\][ ]=' sound/soc/codecs/wm8753.c
-    defsnc 'static[ ]const[ ]u8[ ]log_volume_table\[128\][ ]=' sound/usb/6fire/control.c
-    accept '[ 	]*return[ ]_request_firmware[(]firmware_p,' drivers/base/firmware_class.c
-    accept 'static[ ]int[\n ]request_firmware_work_func[(]' drivers/base/firmware_class.c
-    accept '[	]task[ ]=[ ]kthread_run[(]request_firmware_work_func' drivers/base/firmware_class.c
-    accept '-3[,]-2[,]-2[,]-1[,]-1[,]0[,][0-9,\n]*[}][;]' drivers/hwmon/via686a.c
-    accept '[	][{]0xa1[,][ ]0x6e[,][ ][0-9xa-f, ]*[,][ ]0x00[,][ ]0x10[}][,]\([\n][	][{]0x[ac]1[,][ ]0x6e[,][ ][0-9xa-f, ]*[,][ ]0x00[,][ ]0x10[}][,][}][,]\)*' drivers/media/video/gspca/sonixj.c
-    ;;
-
-  */3.4.1-stable-queue.patch* | */patch-3.4*)
-    accept '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]static[ ]void[ ]b43legacy_request_firmware[(]s[^\n]*[*][/][;]' drivers/net/wireless/b43legacy/main.c
-    accept '[ ][*][ ][ ][ ]3[ ]3[ ]2[ ]2[ ]2[ ]2[ ]2[ ]2[ ]2[ ]2[ ]2[ ]2[ ]1[ ]1[ ]1[ ]1[ ]1[ ]1[ ]1[ ]1[ ]1[ ]1[\n][ ][*][ ][ ][ ]1[ ]0[ ]9[ ]8[ ]7[ ]6[ ]5[ ]4[ ]3[ ]2[ ]1[ ]0[ ]9[ ]8[ ]7[ ]6[ ]5[ ]4[ ]3[ ]2[ ]1[ ]0[ ]9[ ]8[ ]7[ ]6[ ]5[ ]4[ ]3[ ]2[ ]1[ ]0' arch/arm/include/asm/pgtable.h
-    ;;
-
-  */atl1c_net_next_update-3.[34].patch)
-    defsnc 'static[ ]const[ ]struct[ ]atl1c_platform_patch[ ]plats\[\][ ]__devinitdata[ ]=' drivers/net/ethernet/atheros/atl1c/atl1c_main.c
-    ;;
-
-  */drivers-media-update.patch)
-    blobname 'dvb-usb-lme2510c\?-\(lg\|s7395\)\.fw' drivers/media/dvb/dvb-usb/lmedm04.c
-    blobname 'dvb-usb-lme2510c\?-s0194\.fw' drivers/media/dvb/dvb-usb/lmedm04.c
-    accept '[	]*props->firmware[ ]=[ ]fw_it913\(5_v[12]\|7\)' drivers/media/dvb/dvb-usb/it913x.c
-    defsnc '[	][}][ ]regs\[\][ ]=' drivers/media/video/em28xx/em28xx-dvb.c
-    defsnc '[	]struct[ ]reg_val_mask[ ]tab\[\][ ]=' 'drivers/media/dvb/frontends/\(cxd2820r_\(c\|t2\)\|af9033\)\.c'
-    accept '[	]0x43,[ ]11,[	][0-9a-fx, 	\n]*' drivers/media/video/gspca/pac7302.c
-    # Entries above are in 3.3; below are for 3.4.
-    blobname 'dvb-usb-terratec-h7-drxk\.fw' drivers/media/dvb/dvb-usb/az6007.c
-    blobname 'dvb-usb-terratec-h7-az6007\.fw' drivers/media/dvb/dvb-usb/az6007.c
-    blobname 'dvb-usb-lme2510c-rs2000\.fw' drivers/media/dvb/dvb-usb/lmedm04.c
-    blobname 'dvb-fe-xc5000\(-1\.6\.114\|c-41\.024\.5-31875\)\.fw' drivers/media/common/tuners/xc5000.c
-    defsnc '[	]struct[ ]rtl2830_reg_val_mask[ ]tab\[\][ ]=' drivers/media/dvb/frontends/rtl2830.c
-    defsnc '[	]static[ ]u8[ ]bw_params1\[3\]\[34\][ ]=' drivers/media/dvb/frontends/rtl2830.c
-    blobname 'dvb-demod-drxk-pctv\.fw' drivers/media/video/em28xx/em28xx-dvb.c
-    defsnc 'static[ ]const[ ]u16[ ]vs6624_p1\[\][ ]=' drivers/media/video/vs6624.c
-    defsnc 'static[ ]const[ ]struct[ ]coeff[ ]coeff_lut\[\][ ]=' drivers/media/dvb/frontends/af9033_priv.h
-    defsnc 'static[ ]const[ ]struct[ ]val_snr[ ]\(qpsk\|qam\(16\|64\)\)_snr_lut\[\][ ]=' drivers/media/dvb/frontends/af9033_priv.h
-    defsnc 'static[ ]const[ ]struct[ ]reg_val[ ]\(ofsm_init\|tuner_init_\(tua9001\|fc0011\|mxl5007t\|tda18218\)\)\[\][ ]=' drivers/media/dvb/frontends/af9033_priv.h
-    accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]az6007_properties[ ]=[ ][{][\n]\([	]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[	]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/az6007.c
-    accept '[	]*\.download_firmware[ ]=[ ]af9035_download_firmware\(_it9135\)\?[,][\n][	]*\.firmware[ ]=[ ]["]' drivers/media/dvb/dvb-usb/af9035.c
-    ;;
-
-  */brcm80211.patch)
-    blobname 'brcm[/]bcm4329-fullmac-4\.\(bin\|txt\)' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmfmac/bcmchip\.h'
-    blobname 'brcm[/]bcm43xx' 'drivers/\(staging\|net/wireless\)/brcm80211/sys/wl_mac80211\.c'
-    blobname '%s\(_hdr\)\?-%d\.fw' 'drivers/\(staging\|net/wireless\)/brcm80211/sys/wl_mac80211\.c'
-    defsnc 'static[ ]\(const[ ]\)\?struct[ ]chan_info_basic[ ]chan_info_all\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_cmn\.c'
-    defsnc 'static[ ]const[ ]s8[ ]lcnphy_gain_index_offset_for_pkt_rssi\[\][ ]=' drivers/net/wireless/brcm80211/brcmsmac/phy/phy_lcn.c
-    defsnc '\(static[ ]const[ ]\)\?s8[ ]lcnphy_gain_index_offset_for_pkt_rssi\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phy_lcn\.c\)'
-    defsnc 'static[ ]\(const[ ]\)\?struct[ ]chan_info_2064_lcnphy[ ]chan_info_2064_lcnphy\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_lcn\.c'
-    defsnc '\(static[ ]const[ ]\)\?struct[ ]lcnphy_radio_regs[ ]lcnphy_radio_regs_2064\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_lcn\.c'
-    defsnc 'struct[ ]lcnphy_rx_iqcomp[ ]lcnphy_rx_iqcomp_table_rev0\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_lcn\.c'
-    defsnc 'static[ ]const[ ]u32[ ]lcnphy_23bitgaincode_table\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phy_lcn\.c\)'
-    defsnc 'static[ ]const[ ]s8[ ]lcnphy_gain_table\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phy_lcn\.c\)'
-    defsnc 'static[ ]const[ ]s8[ ]lcnphy_gain_index_offset_for_rssi\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phy_lcn\.c\)'
-    defsnc '\(static[ ]const[ ]\)\?u16[ \n]*LCNPHY_txdigfiltcoeffs_\(cck\|ofdm\)\[LCNPHY_NUM_TX_DIG_FILTERS_\(CCK\|OFDM\)\][\n 	]*\[LCNPHY_NUM_DIG_FILT_COEFFS[ ][+][ ]1\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_lcn\.c'
-    defsnc '\(static[ ]const[ ]\)\?struct[ ]nphy_ipa_txrxgain[ ]nphy_ipa_rxcal_gaintbl_2GHz\(_rev7\)\?\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_n\.c'
-    defsnc 'static[ ]\(const[ ]\)\?struct[ ]chan_info_nphy_2055[ ]chan_info_nphy_2055\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_n\.c'
-    defsnc 'static[ ]\(const[ ]\)\?chan_info_nphy_\(radio\)\?205[5x7]\(_rev5\)\?_t[ ]chan_info_nphy\(rev[3-9]\(n6\)\?\)\?_205[5-7]\(_A1\|v\([5-8]\|11\)\|_rev[4-8]\(v1\)\?\)\?\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)'
-    defsnc 'static[ ]\(const[ ]\)\?struct[ ]chan_info_nphy_radio205x[ ]chan_info_nphyrev\(3_2056\|4_2056_A1\|5_2056v5\|6_2056v6\|5n6_2056v7\|6_2056v\(8\|11\)\)\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_n\.c'
-    defsnc 'static[ ]\(const[ ]\)\?struct[ ]chan_info_nphy_radio2057[ ]chan_info_nphyrev\(7_2057_rev4\|8_2057_rev[78]\)\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_n\.c'
-    defsnc 'static[ ]\(const[ ]\)\?struct[ ]chan_info_nphy_radio2057_rev5[ \n]chan_info_nphyrev\(8_2057_rev5\|9_2057_rev5v1\)\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_n\.c'
-    defsnc '\(static[ ]\)\?\(const[ ]\)\?struct[ ]radio_\(20xx_\)\?regs[ \n]regs_\(2055\|\(SYN\|[TR]X\)_205\(6\(_A1\|_rev\([5678]\|11\)\)\?\)\|2057_rev\([4578]\|5v1\)\)\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_n\.c'
-    defsnc 'static[ ]const[ ]u16[ ]tbl_iqcal_gainparams_nphy\[2\]\[NPHY_IQCAL_NUMGAINS\]\[8\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)'
-    defsnc 'static[ ]\(const[ ]\)\?u32[ ]nphy_tpc_\(5GHz_\)\?txgain\(_[ei]pa\)\?\(\(_[25]g\)\?\(_\(2057\)\?\(rev\([3-7]\|4n6\)\?\)\?\)\?\|_HiPwrEPA\)\?\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)'
-    defsnc 'static[ ]const[ ]u16[ ]nphy_tpc_loscale\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)'
-    defsnc 'static[ ]\(const[ ]\)\?u8[ ]pad_all_gain_codes_2057\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)'
-    defsnc 'static[ ]\(const[ ]\)\?u32[ ]nphy_papd_scaltbl\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)'
-    defsnc '[	]s32[ ]poll_results\[8\]\[4\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)'
-    defsnc '[	]struct[ ]nphy_txiqcal_ladder[ ]ladder_\(lo\|iq\)\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_n\.c'
-    defsnc '\(static[ ]\)\?const[ ]u32[ ]dot11lcn_gain_\(idx_\|val_\)\?tbl_\(rev[01]\|\(extlna_\)\?2G\|5G\)\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phytbl_lcn\.c\)'
-    defsnc '\(static[ ]\)\?const[ ]u16[ ]dot11lcn_aux_gain_idx_tbl_\(rev0\|\(extlna_\)\?2G\)\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phytbl_lcn\.c\)'
-    defsnc '\(static[ ]\)\?const[ ]u32[ ]dot11lcn_aux_gain_idx_tbl_5G\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phytbl_lcn\.c\)'
-    defsnc '\(static[ ]\)\?const[ ]u8[ ]dot11lcn_gain_val_tbl_\(rev0\|\(extlna_\)\?2G\)\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phytbl_lcn\.c\)'
-    defsnc '\(static[ ]\)\?const[ ]u16[ ]dot11lcn_\(min_sig_sq\|noise_scale\)_tbl_rev0\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phytbl_lcn\.c\)'
-    defsnc '\(static[ ]\)\?const[ ]u16[ ]dot11lcn_sw_ctrl_tbl_\(4313_\)\?\(bt_\)\?\(epa_\)\?\(p250_\)\?rev0\(_combo\)\?\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phytbl_lcn\.c\)'
-    defsnc '\(static[ ]\)\?const[ ]u8[ ]dot11lcn_spur_tbl_rev0\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phytbl_lcn\.c\)'
-    defsnc '\(static[ ]\)\?const[ ]u16[ ]dot11lcn_\(unsup_mcs\|iq_local\)_tbl_rev0\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phytbl_lcn\.c\)'
-    defsnc '\(static[ ]\)\?const[ ]lcnphy_tx_gain_tbl_entry[ ]dot11lcnphy_[25]GHz_\(extPA_\)\?gaintable_rev0\[128\][ ]='  'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phytbl_lcn\.c\)'
-    defsnc '\(static[ ]\)\?const[ ]u32[ ]dot11lcn_papd_compdelta_tbl_rev0\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phytbl_lcn\.c\)'
-    defsnc 'static[ ]const[ ]s16[ ]log_table\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(util/qmath\.c\|brcmsmac/phy/phy_qmath\.c\)'
-    defsnc '\(static[ ]\)\?const[ ]struct[ ]lcnphy_tx_gain_tbl_entry[ \n]dot11lcnphy_[25]GHz_\(extPA_\)\?gaintable_rev0\[128\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phytbl_lcn\.c'
-    defsnc '\(static[ ]\)\?const[ ]u32[ ]frame_struct_rev[03]\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)'
-    defsnc '\(static[ ]\)\?const[ ]u8[ ]frame_lut_rev[03]\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)'
-    defsnc '\(static[ ]\)\?const[ ]u32[ ]\(tmap\|tdtrn\)_tbl_rev[037]\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)'
-    defsnc '\(static[ ]\)\?const[ ]u16[ ]pilot_tbl_rev[03]\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)'
-    defsnc '\(static[ ]\)\?const[ ]u32[ ]tdi_tbl[24]0_ant[01]_rev[03]\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)'
-    defsnc '\(static[ ]\)\?const[ ]u32[ ]chanest_tbl_rev[03]\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)'
-    defsnc '\(static[ ]\)\?const[ ]u8[ ]mcs_tbl_rev0\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)'
-    defsnc '\(static[ ]\)\?const[ ]u32[ ]noise_var_tbl[01]\?_rev[037]\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)'
-    defsnc '\(static[ ]\)\?const[ ]u8[ ]\(est\|adj\)_pwr_lut_core[01]_rev[03]\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)'
-    defsnc '\(static[ ]\)\?const[ ]u32[ ]\(gainctrl\|iq\)_lut_core[01]_rev[03]\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)'
-    defsnc '\(static[ ]\)\?const[ ]u16[ ]loft_lut_core[01]_rev[03]\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)'
-    defsnc '\(static[ ]\)\?const[ ]u16[ ]ant_swctrl_tbl_rev3\(_[1-3]\)\?\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)'
-    defsnc '\(static[ ]\)\?const[ ]u16[ ]mcs_tbl_rev3\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)'
-    defsnc '\(static[ ]\)\?const[ ]u16[ ]papd_comp_rfpwr_tbl_core[01]_rev3\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)'
-    defsnc '\(static[ ]\)\?const[ ]u32[ ]papd_\(comp_epsilon\|cal_scalars\)_tbl_core[01]_rev[37]\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)'
-    ;;
-
-  */patch*-3.1.*)
-    defsnc 'static[ ]const[ ]u8[ ]ak4642_reg\[AK4642_CACHEREGNUM\][ ]=' sound/soc/codecs/ak4642.c
-    accept '[	 ]\+request_firmware[(][)][ ]will[ ]hit[ ]an[ ]OOPS' drivers/media/dvb/frontends/dib7000p.c
-    ;;
-
-  */media-DiBcom*.patch)
-    accept '[	 ]\+request_firmware[(][)][ ]will[ ]hit[ ]an[ ]OOPS' drivers/media/dvb/frontends/dib7000p.c
-    ;;
-
-  */patch*-3.1-rc*)
-    defsnc '[	]static[ ]const[ ]u8[ ]t\[\][ ]=' drivers/bcma/sprom.c
-    accept '[	 ]\+request_firmware[(][)][ ]will[ ]hit[ ]an[ ]OOPS' drivers/media/dvb/frontends/dib7000p.c
-    defsnc 'static[ ]u8[ ]reserved_page_packet\[TOTAL_RESERVED_PKT_LEN\][ ]=' 'drivers/net/wireless/rtlwifi/rtl8192[cd]e/fw\.c'
-    defsnc 'u16[ ]ltrn_list\[PHY_LTRN_LIST_LEN\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_cmn\.c\|brcmsmac/phy/phy_cmn\.c\)'
-    defsnc 's8[ ]lcnphy_gain_index_offset_for_pkt_rssi\[\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_cmn\.c\|brcmsmac/phy/phy_cmn\.c\)'
-    defsnc 'lcnphy_rx_iqcomp_t[ ]lcnphy_rx_iqcomp_table_rev0\[\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phy_lcn\.c\)'
-    defsnc 'static[ ]const[ ]u32[ ]lcnphy_23bitgaincode_table\[\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phy_lcn\.c\)'
-    defsnc 'static[ ]const[ ]s8[ ]lcnphy_gain_table\[\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phy_lcn\.c\)'
-    defsnc 'static[ ]const[ ]s8[ ]lcnphy_gain_index_offset_for_rssi\[\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phy_lcn\.c\)'
-    defsnc 'static[ ]chan_info_2064_lcnphy_t[ ]chan_info_2064_lcnphy\[\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phy_lcn\.c\)'
-    defsnc 'lcnphy_radio_regs_t[ ]lcnphy_radio_regs_2064\[\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phy_lcn\.c\)'
-    defsnc 's8[ ]lcnphy_gain_index_offset_for_pkt_rssi\[\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phy_lcn\.c\)'
-    defsnc 'u16[ \n]*LCNPHY_txdigfiltcoeffs_\(cck\|ofdm\)\[LCNPHY_NUM_TX_DIG_FILTERS_\(CCK\|OFDM\)\][ \n]*\[LCNPHY_NUM_DIG_FILT_COEFFS[ ][+][ ]1\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phy_lcn\.c\)'
-    defsnc 'lcnphy_radio_regs_t[ ]lcnphy_radio_regs_2064\[\][ ]='     defsnc 's8[ ]lcnphy_gain_index_offset_for_pkt_rssi\[\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phy_lcn\.c\)'
-    defsnc 'u16[ \n]*LCNPHY_txdigfiltcoeffs_\(cck\|ofdm\)\[LCNPHY_NUM_TX_DIG_FILTERS_\(CCK\|OFDM\)\][ \n]*\[LCNPHY_NUM_DIG_FILT_COEFFS[ ][+][ ]1\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phy_lcn\.c\)'
-    defsnc 'nphy_ipa_txrxgain_t[ ]nphy_ipa_rxcal_gaintbl_2GHz\(_rev7\)\?\[\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)'
-    defsnc 'static[ ]chan_info_nphy_\(radio\)\?205[5x7]\(_rev5\)\?_t[ ]chan_info_nphy\(rev[3-9]\(n6\)\?\)\?_205[5-7]\(_A1\|v\([5-8]\|11\)\|_rev[4-8]\(v1\)\?\)\?\[\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)'
-    defsnc 'radio_\(20xx_\)\?regs_t[ ]regs_\(SYN_\|[RT]X_\)\?205[5-7]\(_A1\|_rev\([4-8]\|11\)\(v1\)\?\)\?\[\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)'
-    defsnc 'static[ ]const[ ]u16[ ]tbl_iqcal_gainparams_nphy\[2\]\[NPHY_IQCAL_NUMGAINS\]\[8\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)'
-    defsnc 'static[ ]\(const[ ]\)\?u32[ ]nphy_tpc_\(5GHz_\)\?txgain\(_[ei]pa\)\?\(\(_[25]g\)\?\(_\(2057\)\?\(rev\([3-7]\|4n6\)\?\)\?\)\?\|_HiPwrEPA\)\?\[\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)'
-    defsnc 'static[ ]const[ ]u16[ ]nphy_tpc_loscale\[\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)'
-    defsnc 'static[ ]u8[ ]pad_all_gain_codes_2057\[\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)'
-    defsnc 'static[ ]u32[ ]nphy_papd_scaltbl\[\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)'
-    defsnc '[	]s32[ ]poll_results\[8\]\[4\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)'
-    defsnc '[	]nphy_txiqcal_ladder_t[ ]ladder_\(lo\|iq\)\[\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)'
-    defsnc 'const[ ]u32[ ]dot11lcn_gain_\(idx_\|val_\)\?tbl_\(rev[01]\|\(extlna_\)\?2G\|5G\)\[\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phytbl_lcn\.c\)'
-    defsnc 'const[ ]u16[ ]dot11lcn_aux_gain_idx_tbl_\(rev0\|\(extlna_\)\?2G\)\[\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phytbl_lcn\.c\)'
-    defsnc 'const[ ]u32[ ]dot11lcn_aux_gain_idx_tbl_5G\[\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phytbl_lcn\.c\)'
-    defsnc 'const[ ]u8[ ]dot11lcn_gain_val_tbl_\(rev0\|\(extlna_\)\?2G\)\[\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phytbl_lcn\.c\)'
-    defsnc 'const[ ]u16[ ]dot11lcn_\(min_sig_sq\|noise_scale\)_tbl_rev0\[\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phytbl_lcn\.c\)'
-    defsnc 'const[ ]u16[ ]dot11lcn_sw_ctrl_tbl_\(4313_\)\?\(bt_\)\?\(epa_\)\?\(p250_\)\?rev0\(_combo\)\?\[\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phytbl_lcn\.c\)'
-    defsnc 'const[ ]u8[ ]dot11lcn_spur_tbl_rev0\[\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phytbl_lcn\.c\)'
-    defsnc 'const[ ]u16[ ]dot11lcn_\(unsup_mcs\|iq_local\)_tbl_rev0\[\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phytbl_lcn\.c\)'
-    defsnc 'const[ ]lcnphy_tx_gain_tbl_entry[ ]dot11lcnphy_[25]GHz_\(extPA_\)\?gaintable_rev0\[128\][ ]='  'drivers/staging/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phytbl_lcn\.c\)'
-    defsnc 'const[ ]u32[ ]dot11lcn_papd_compdelta_tbl_rev0\[\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phytbl_lcn\.c\)'
-    defsnc 'const[ ]u32[ ]frame_struct_rev[03]\[\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)'
-    defsnc 'const[ ]u8[ ]frame_lut_rev[03]\[\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)'
-    defsnc 'const[ ]u32[ ]\(tmap\|tdtrn\)_tbl_rev[037]\[\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)'
-    defsnc 'const[ ]u16[ ]pilot_tbl_rev[03]\[\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)'
-    defsnc 'const[ ]u32[ ]tdi_tbl[24]0_ant[01]_rev[03]\[\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)'
-    defsnc 'const[ ]u32[ ]chanest_tbl_rev[03]\[\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)'
-    defsnc 'const[ ]u8[ ]mcs_tbl_rev0\[\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)'
-    defsnc 'const[ ]u32[ ]noise_var_tbl[01]\?_rev[037]\[\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)'
-    defsnc 'const[ ]u8[ ]\(est\|adj\)_pwr_lut_core[01]_rev[03]\[\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)'
-    defsnc 'const[ ]u32[ ]\(gainctrl\|iq\)_lut_core[01]_rev[03]\[\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)'
-    defsnc 'const[ ]u16[ ]loft_lut_core[01]_rev[03]\[\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)'
-    defsnc 'const[ ]u16[ ]ant_swctrl_tbl_rev3\(_[1-3]\)\?\[\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)'
-    defsnc 'const[ ]u16[ ]mcs_tbl_rev3\[\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)'
-    defsnc 'const[ ]u16[ ]papd_comp_rfpwr_tbl_core[01]_rev3\[\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)'
-    defsnc 'const[ ]u32[ ]papd_\(comp_epsilon\|cal_scalars\)_tbl_core[01]_rev[37]\[\][ ]=' 'drivers/staging/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phytbl_n\.c\)'
-    defsnc 'static[ ]const[ ]u8[ ]crc8_table\[256\][ ]=' 'drivers/staging/brcm80211/\(util/bcmutils\.c\|brcmutil/utils\.c\)'
-    defsnc 'static[ ]const[ ]u16[ ]crc16_table\[256\][ ]=' 'drivers/staging/brcm80211/\(util/bcmutils\.c\|brcmutil/utils\.c\)'
-    defsnc 'static[ ]const[ ]u32[ ]crc32_table\[256\][ ]=' 'drivers/staging/brcm80211/\(util/bcmutils\.c\|brcmutil/utils\.c\)'
-    defsnc 'static[ ]const[ ]s16[ ]log_table\[\][ ]=' 'drivers/staging/brcm80211/\(util/qmath\.c\|brcmsmac/phy/phy_qmath\.c\)'
-    defsnc '[	]unsigned[ ]char[ ]data_ptr\[36\][ ]=' drivers/usb/storage/ene_ub6250.c
-    defsnc '[ ][ ]static[ ]\(const[ ]\)\?unsigned[ ]char[ ]asso_values\[\][ ]=' scripts/genksyms/keywords.c_shipped
-    defsnc 'static[ ]yyconst[ ]\(flex_int\(16\|32\)_t\|\(\(short[ ]\)\?int\)\)[ ]yy_[^[]*\[[][0-9]*\][ ]='
-    defsnc 'static[ ]const[ ]\(yytype_u\?int\(8\|16\)\|\(unsigned[ ]\)\?\(short\([ ]int\)\?\|char\)\)[ ]yy[^[]*\[\][ ]='
-    defsnc '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]static[ ]struct[ ]cipher_testvec[ ]\(aes\|anubis\|bf\|camellia\|cts_mode\|des3_ede\|cast6\|salsa20_stream\|serpent\|tf\|tnepres\|xeta\|x\?tea\)\(_\(cbc\|ctr\|xts\)\)\?_\(enc\|dec\)_tv_template\[\][ ]=[ ][{][*][/][;]' 'crypto/\(tcrypt\|testmgr\).h'
-    accept '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]config[ ]FIRMWARE_IN_KERNEL[*][/][;].*let[ ]firmware[ ]be[ ]loaded[ ]from[ ]userspace\.' drivers/base/Kconfig
-    accept '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\(static[ ]int[\n ]\)\?_request_firmware[(]const[ ]struct[ ]firmware[ ][*][*]firmware_p,' drivers/base/firmware_class.c
-    accept '[	 ]*and[ ]request_firmware[(][)][ ]in[ ]the[ ]source' drivers/base/Kconfig
-    accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]vp7045_properties[ ]=[ ][{][\n]\([	]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[	]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/vp7045.c
-    defsnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]const[ ]struct[ ]ov9740_reg[ ]ov9740_defaults\[\][ ]=\([ ][{][*][/][;]\)\?' drivers/media/video/ov9740.c
-    defsnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]const[ ]u32[ ]ar9300_2p[02]_\(radio\|mac\|baseband\)_postamble\[\]\[5\][ ]=\([ ][{][*][/][;]\)\?' 'drivers/net/wireless/ath/ath9k/ar9003_\(2p[02]_\)\?initvals\.h'
-    # for reverse patch
-    defsnc 'static[ ]int[ ]sdp3430_batt_table\[\][ ]=' arch/arm/mach-omap2/board-3430sdp.c
-    defsnc 'static[ ]int[ ]zoom_batt_table\[\][ ]=' arch/arm/mach-omap2/board-zoom-peripherals.c
-    accept '[	][ ][ ]So,[ ]for[ ]example,[ ]you[ ]might[ ]set[ ]CONFIG_EXTRA_FIRMWARE=["]whatever\.bin["]' drivers/base/Kconfig
-    accept '[	][ ][ ]kernel\.[ ]Then[ ]any[ ]request_firmware[(]\(["]whatever\.bin["]\)[)]' drivers/base/Kconfig
-    accept '[	]ret[ ]=[ ]request_firmware[(][&]fw[,][ ]name[,]' drivers/firmware/sigma.c
-    accept '[	][	]pr_debug[(]["]%s:[ ]request_firmware[(][)][ ]failed' drivers/firmware/sigma.c
-    defsnc '[	]u16[ ]nrate_list\[4\]\[8\][ ]=' drivers/staging/brcm80211/brcmfmac/wl_iw.c
-    defsnc 'static[ ]chan_info_basic_t[ ]chan_info_all\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phy_cmn.c
-    defsnc 'static[ ]const[ ]pmu0_xtaltab0_t[ ]pmu0_xtaltab0\[\][ ]=' drivers/staging/brcm80211/util/hndpmu.c
-    defsnc 'static[ ]const[ ]pmu1_xtaltab0_t[ ]pmu1_xtaltab0\(_880\(_4329\)\?\|_1760\|_1440\|_960\)\[\][ ]=' drivers/staging/brcm80211/util/hndpmu.c
-    accept '[;]set[ ]executable[ ]["]2232\.bin["]' drivers/char/ser_a2232fw.ax
-    defsnc 'static[ ]unsigned[ ]char[ ]a2232_65EC02code\[\][ ]=' drivers/staging/generic_serial/ser_a2232fw.h
-    defsnc '[	]BYTE[ ]data_ptr\[36\][ ]=' 'drivers/staging/keucr/\(ms\|s[dm]\)scsi\.c'
-    defsnc 'static[ ]word[ ]convert_8_to_16_tbl\[256\][ ]=' drivers/staging/msm/ebi2_tmd20.c
-    defsnc 'static[ ]struct[ ]sharp_spi_data[ ]init_sequence\[\][ ]=' drivers/staging/msm/lcdc_sharp_wvga_pt.c
-    defsnc 'static[ ]uint32[ ]vg_qseed_table2\[\][ ]=' drivers/staging/msm/mdp4_util.c
-    defsnc 'char[ ]gc_lut\[\][ ]=' drivers/staging/msm/mdp4_util.c
-    defsnc 'uint32[ ]igc_\(video\|rgb\)_lut\[\][ ]=' drivers/staging/msm/mdp4_util.c
-    defsnc '\(static[ ]\)\?struct[ ]mdp_table_entry[ ]mdp_\(\(upscale\|gaussian_blur\)_table\|downscale_[xy]_table_PT[2468]TO\(PT[468]\|1\)\)\[\][ ]=' drivers/video/msm/mdp_scale_tables.c
-    defsnc 'static[ ]int16[ ]mdp_scale_\(pixel_repeat\|0p[2468]_to_[08]p[0468]\)_C[0123]\[MDP_SCALE_COEFF_NUM\][ ]=' drivers/staging/msm/mdp_ppp_v31.c
-    defsnc 'static[ ]unsigned[ ]short[ ]rc_ioport\[\][ ]=' drivers/staging/tty/riscom8.c
-    # this was a bug in an earlier deblob
-    accept '#define[ ]WL_4329_NVRAM_FILE[ ]["][^"]*["]' drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c
-    # New in 3.1
-    blobname 'sdma-imx25\.bin' arch/arm/mach-imx/mm-imx25.c
-    blobname 'sdma-imx31-to[12]\.bin' arch/arm/mach-imx/mm-imx31.c
-    blobname 'sdma-imx35-to[12]\.bin' arch/arm/mach-imx/mm-imx35.c
-    blobname 'sdma-imx5[13]\.bin' arch/arm/mach-mx5/mm.c
-    blobname 'brcm[/]bcm43xx' drivers/staging/brcm80211/brcmsmac/mac80211_if.c
-    blobname '%s\(_hdr\)\?-%d\.fw' drivers/staging/brcm80211/brcmsmac/mac80211_if.c
-    blobname 'brcm[/]bcm4329-fullmac-4\.\(bin\|txt\)' drivers/staging/brcm80211/brcmfmac/bcmchip.h
-    blobname 'mrvl[/]sd8787_uapsta\.bin' drivers/net/wireless/mwifiex/sdio.h
-    defsnc 'static[ ]int[ ]omap3_batt_table\[\][ ]=' arch/arm/mach-omap2/twl-common.c
-    defsnc '[	]static[ ]u8[ ]InitRegs\[\][ ]=' drivers/media/dvb/frontends/tda18271c2dd.c
-    defsnc 'static[ ]struct[ ]SMapI[ ]m_RF_Cal_Map\[\][ ]=' drivers/media/dvb/frontends/tda18271c2dd_maps.h
-    defsnc 'static[ ]struct[ ]SMap2[ ]m_\(Main\|Cal\)_PLL_Map\[\][ ]=' drivers/media/dvb/frontends/tda18271c2dd_maps.h
-    accept '[	][ ][ ]For[ ]example,[ ]you[ ]might[ ]set[ ]CONFIG_EXTRA_FIRMWARE=["]whatever\.bin["]' drivers/base/Kconfig
-    accept '[	][ ][ ]Then[ ]any[ ]request_firmware[(]\(["]whatever\.bin["]\)[)]' drivers/base/Kconfig
-    blobname 'dvb-fe-xc4000-1.4.fw' drivers/media/common/tuners/xc4000.c
-    defsnc 'static[ ]struct[ ]SMap2\?[ ]*m_\(GainTaper\|RF_Cal_DC_Over_DT\|CID_Target\)_Map\[\][ ]=' drivers/media/dvb/frontends/tda18271c2dd_maps.h
-    defsnc '[	][}][ ]regs\[\][ ]=' drivers/media/video/em28xx/em28xx-dvb.c
-    defsnc 'static[ ]struct[ ]regval_list[ ]ov5642_default_regs_\(init\|finalise\)\[\][ ]=' drivers/media/video/ov5642.c
-    defsnc 'static[ ]const[ ]u8[ ]hdmiphy_conf\(27\|74\(_175\|_25\)\|148_5\)\[32\][ ]=' drivers/media/video/s5p-tv/hdmiphy_drv.c
-    defsnc 'static[ ]const[ ]u8[ ]filter_y_vert_tap4\[\][ ]=' drivers/media/video/s5p-tv/mixer_reg.c
-    defsnc '[	]static[ ]const[ ]char[ ][*][ ]const[ ]vui_sar_idc\[\][ ]=' drivers/media/video/v4l2-ctrls.c
-    defsnc 'static[ ]const[ ]u32[ ]ar9331_\(1p[12]_\(baseband\|mac\)_postamble\|modes_\(low\(est\)\?\|high\)_\(ob_db\|power\)_tx_gain_1p[12]\)\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9330_1p1_initvals.h
-    defsnc 'static[ ]const[ ]u32[ ]ar9331_\(1p[12]_\(radio\|baseband\|mac\)_core\|common_\(wo_xlna_\)\?rx_gain_1p[12]\)\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar9330_1p1_initvals.h
-    defsnc 'static[ ]const[ ]u\(16\|32\)[ ]b43_httab_0x\(1[2abcf]\(_0x\(1\?c\|[12]4\)0\)\?\|2[0-7]\)\[\][ ]=' drivers/net/wireless/b43/tables_phy_ht.c
-    defsnc 'static[ ]u32[ ]targetchnl_5g\[TARGET_CHNL_NUM_5G\][ ]=' drivers/net/wireless/rtlwifi/rtl8192de/phy.c
-    defsnc '[	]u8[ ]channel_\(5g\|all\|info\)\[\(45\|59\)\][ ]=' drivers/net/wireless/rtlwifi/rtl8192de/phy.c
-    blobname 'rtlwifi[/]rtl8192defw[.]bin' drivers/net/wireless/rtlwifi/rtl8192de/sw.c
-    defsnc 'u32[ ]rtl8192de_\(phy_reg\|radio[ab]\|mac\|agctab\)_\(\(2t\(_int_pa\)\?\|[25]g\)\?array\|array_pg\)\[\(PHY_REG\|RADIO[AB]\|MAC\|AGCTAB\)_\(\(2T\(_INT_PA\)\?_\|[25]G_\)\?ARRAY\|ARRAY_PG_\)LENGTH\][ ]=' drivers/net/wireless/rtlwifi/rtl8192de/table.c
-    defsnc 'static[ ]struct[ ]chan_info_basic[ ]chan_info_all\[\][ ]=' drivers/staging/brcm80211/brcmsmac/phy/phy_cmn.c
-    defsnc 'struct[ ]lcnphy_rx_iqcomp[ ]lcnphy_rx_iqcomp_table_rev0\[\][ ]=' drivers/staging/brcm80211/brcmsmac/phy/phy_lcn.c
-    defsnc 'static[ ]struct[ ]chan_info_2064_lcnphy[ ]chan_info_2064_lcnphy\[\][ ]=' drivers/staging/brcm80211/brcmsmac/phy/phy_lcn.c
-    defsnc 'struct[ ]lcnphy_radio_regs[ ]lcnphy_radio_regs_2064\[\][ ]=' drivers/staging/brcm80211/brcmsmac/phy/phy_lcn.c
-    defsnc 'u16[]LCNPHY_txdigfiltcoeffs_\(cck\|ofdm\)\[LCNPHY_NUM_TX_DIG_FILTERS_\(CCK\|OFDM\)\][\n 	]*\[LCNPHY_NUM_DIG_FILT_COEFFS[ ][+][ ]1\][ ]=' drivers/staging/brcm80211/brcmsmac/phy/phy_lcn.c
-    defsnc 'struct[ ]nphy_ipa_txrxgain[ ]nphy_ipa_rxcal_gaintbl_2GHz\(_rev7\)\?\[\][ ]=' drivers/staging/brcm80211/brcmsmac/phy/phy_n.c
-    defsnc 'static[ ]struct[ ]chan_info_nphy_2055[ ]chan_info_nphy_2055\[\][ ]=' drivers/staging/brcm80211/brcmsmac/phy/phy_n.c
-    defsnc 'static[ ]struct[ ]chan_info_nphy_radio205x[ ]chan_info_nphyrev\(3_2056\|4_2056_A1\|5_2056v5\|6_2056v6\|5n6_2056v7\|6_2056v\(8\|11\)\)\[\][ ]=' drivers/staging/brcm80211/brcmsmac/phy/phy_n.c
-    defsnc 'static[ ]struct[ ]chan_info_nphy_radio2057[ ]chan_info_nphyrev\(7_2057_rev4\|8_2057_rev[78]\)\[\][ ]=' drivers/staging/brcm80211/brcmsmac/phy/phy_n.c
-    defsnc 'static[ ]struct[ ]chan_info_nphy_radio2057_rev5[ ]chan_info_nphyrev\(8_2057_rev5\|9_2057_rev5v1\)\[\][ ]=' drivers/staging/brcm80211/brcmsmac/phy/phy_n.c
-    defsnc 'struct[ ]radio_\(20xx_\)\?regs[ ]regs_\(2055\|\(SYN\|[TR]X\)_205\(6\(_A1\|_rev\([5678]\|11\)\)\?\)\|2057_rev\([4578]\|5v1\)\)\[\][ ]=' drivers/staging/brcm80211/brcmsmac/phy/phy_n.c
-    defsnc '[	]struct[ ]nphy_txiqcal_ladder[ ]ladder_\(lo\|iq\)\[\][ ]=' drivers/staging/brcm80211/brcmsmac/phy/phy_n.c
-    defsnc 'const[ ]struct[ ]lcnphy_tx_gain_tbl_entry[ \n]dot11lcnphy_[25]GHz_\(extPA_\)\?gaintable_rev0\[128\][ ]=' drivers/staging/brcm80211/brcmsmac/phy/phytbl_lcn.c
-    defsnc 'static[ ]const[ ]unsigned[ ]char[ ]raw_edid\[\][ ]=' drivers/staging/gma500/mrst_hdmi.c
-    defsnc 'static[ ]const[ ]u8[ ]net2272_test_packet\[\][ ]=' drivers/usb/gadget/net2272.c
-    defsnc 'static[ ]const[ ]unsigned[ ]short[ ]seq_setting\[\][ ]=' drivers/video/backlight/ams369fg06.c
-    defsnc 'static[ ]u8[ ]adav80x_default_regs\[\][ ]=' sound/soc/codecs/adav80x.c
-    defsnc 'static[ ]const[ ]u8[ ]sta32x_regs\[STA32X_REGISTER_COUNT\][ ]=' sound/soc/codecs/sta32x.c
-    defsnc '[}][ ]mclk_ratios\[3\]\[7\][ ]=' sound/soc/codecs/sta32x.c
-    defsnc 'static[ ]const[ ]int[ ]vid_to_voltage\[32\][ ]=' tools/power/cpupower/debug/i386/dump_psb.c
-    blobname 'dvb-usb-terratec-h5-drxk\.fw' drivers/media/video/em28xx/em28xx-dvb.c
-    blobname 's5pc110-mfc\.fw' drivers/media/video/s5p-mfc/s5p_mfc_ctrl.c
-    blobname 'adau1701\.bin' sound/soc/codecs/adau1701.c
-    accept '[	]return[ ]process_sigma_firmware[(]codec->control_data[,][ ]ADAU1701_FIRMWARE[)]' sound/soc/codecs/adau1701.c
-    # 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
-    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
-    blobname 'iwlwifi-135-' drivers/net/iwlwifi/iwl-2000.c
-    blobname 'c[bt]2\?fw\(_\(fc\|cna\)\)\?\.bin' drivers/scsi/bfa/bfad.c
-    blobname 'ene-ub6250[/]\(ms_\(init\|rdwr\)\|msp_rdwr\)\.bin' drivers/usb/storage/ene_ub6250.c
-    accept '[	][	]*dsp_code->pvt->firmware[ ]=[ ]' sound/pci/asihpi/hpidspcd.c
-    ;;
-
-  */patch*-3.0-rc*)
-    accept '[	][	]-e[ ]["][$]tmp_dir[/]lib[/]modules[/][$]KERNELRELEASE[/]modules\.dep\.bin["]' scripts/depmod.sh
-    ;;
-
-  */patch*-2.6.39-rc*)
-    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
-    defsnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]\(u8\|struct[ ]i2c_reg_u8\)[ ]\(soi968\|ov\(76[67]0\|965[05]\)\|hv7131r\)_init\[\]\(\[2\]\)\?[ ]=\([ ][{][*][/][;]\)\?' drivers/media/video/gspca/sn9c20x.c
-    defsnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]\(const[ ]\)\?\(__\)\?u8[ ]\(mt9v111\|sp80708\|hv7131[rd]\|mi0360b\?\|mo4000\|ov76\([36]0\|48\)\|om6802\)_sensor_\(init\|param1\)\[\]\[8\][ ]=\([ ][{][*][/][;]\)\?' drivers/media/video/gspca/sonixj.c
-    defsnc 'int[ ]tones\[2048\][ ]=' drivers/staging/easycap/easycap_testcard.c
-    defsnc '[	]BYTE[ ]data_ptr\[36\][ ]=' 'drivers/staging/keucr/\(ms\|s[dm]\)scsi\.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\)'
-    defsnc 'u32[ ]Rtl8192Usb\(PHY_REG\(_1T2R\)\?\|\(Radio[ABCD]\|MACPHY\|AGCTAB\)_\)Array\(_PG\)\?\[\][ ]=' drivers/staging/rtl8192su/rtl819xU_firmware_img.c
-    defsnc 'static[ ]unsigned[ ]char[ ]vid_vop_header\[\][ ]=' drivers/staging/solo6x10/solo6010-v4l2-enc.c
-    defsnc '\(static[ ]\)\?\(USHORT\|unsigned[ ]short\)[ ]XGINew_DRAMType\[17\]\[5\][ ]*=' 'drivers/staging/xgifb/\(vb_table\.h\|vb_init\.c\)'
-    defsnc '\(static[ ]\)\?\(USHORT\|unsigned[ ]short\)[ ]XGINew_SDRDRAM_TYPE\[13\]\[5\][ ]*=' 'drivers/staging/xgifb/\(vb_table\.h\|vb_init\.c\)'
-    defsnc '\(static[ ]\)\?\(USHORT\|unsigned[ ]short\)[ ]XGINew_DDRDRAM_TYPE20\[12\]\[5\][ ]*=' 'drivers/staging/xgifb/\(vb_table\.h\|vb_init\.c\)'
-    defsnc '\(static[ ]\)\?\(struct[ ]\)\?XGI_[ME]CLKDataStruct[ ]XGI\(3[34]0\|27\)\(New\)\?_[ME]CLKData\[\][ ]*=' drivers/staging/xgifb/vb_table.h
-    defsnc 'static[ ]struct[ ]pll_map[ ]pll_value\[\][ ]=' drivers/video/via/hw.c
-    defsnc 'static[ ]char[ ]channel_map_madi_[sdq]s\[HDSPM_MAX_CHANNELS\][ ]=' sound/pci/rme9652/hdspm.c
-    # The above match the reversed patch
-    defsnc 'static[ ]unsigned[ ]char[ ]bootlogo_bits\[\][ ]=' arch/m68k/platform/68328/bootlogo.h
-    defsnc 'static[ ]unsigned[ ]char[ ]splash_bits\[\][ ]=' arch/m68k/platform/68EZ328/bootlogo.h
-    defsnc 'static[ ]struct[ ]nand_ecclayout[ ]qi_lb60_ecclayout_[12]gb[ ]=' arch/mips/jz4740/board-qi_lb60.c
-    accept '[ ][*][ ]page[ ]tables[ ]as[ ]follows:[\n][ ][*][\n][ ][*][ ][ ][ ]3[ ]3[ ]2[ ]2[ ]2[ ]2[ ]2[ ]2[ ]2[ ]2[ ]2[ ]2[ ]1[ ]1[ ]1[ ]1[ ]1[ ]1[ ]1[ ]1[ ]1[ ]1[\n][ ][*][ ][ ][ ]1[ ]0[ ]9[ ]8[ ]7[ ]6[ ]5[ ]4[ ]3[ ]2[ ]1[ ]0[ ]9[ ]8[ ]7[ ]6[ ]5[ ]4[ ]3[ ]2[ ]1[ ]0[ ]9[ ]8[ ]7[ ]6[ ]5[ ]4[ ]3[ ]2[ ]1[ ]0' arch/arm/include/asm/pgtable.h
-    accept '[	]\.incbin[	]["]arch[/]x86[/]kernel[/]acpi[/]realmode[/]wakeup\.bin["]' arch/x86/kernel/acpi/wakeup_rm.S
-    accept '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?\(static[ ]inline[ ]\)\?\(int[ ]\)\?request_firmware[(]const[ ]struct[ ]firmware[ ][*][*]\(firmware_p\|fw\),' 'drivers/base/firmware_class\.c\|include/linux/firmware\.h'
-    accept '[ 	]*return[ ]_request_firmware[(]firmware_p,' drivers/base/firmware_class.c
-    accept '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]int[\n ]request_firmware_work_func[(]' drivers/base/firmware_class.c
-    accept '\(static[ ]inline[ ]\)\?\(int[ ]\)\?request_firmware_nowait[(]' 'drivers/base/firmware_class\.c\|include/linux/firmware\.h'
-    accept '[	]p7500->firmware[ ]=' drivers/media/dvb/dvb-usb/dw2102.c
-    accept '[	]\+request_firmware[(][)][ ]will[ ]hit[ ]an[ ]OOPS' drivers/media/dvb/frontends/dib7000p.c
-    defsnc 'static[ ]struct[ ]dvb_pll_desc[ ][^\n]*[ ]=[ ][{]' drivers/media/dvb/frontends/dvb-pll.c
-    defsnc 'static[ ]struct[ ]iwl\(3945\)\?_tx_power[ ]power_gain_table\[2\]\[IWL_MAX_GAIN_ENTRIES\][ ]=' drivers/net/wireless/iwlegacy/iwl-3945.c
-    defsnc 'static[ ]const[ ]struct[ ]gain_entry[ ]gain_table\[2\]\[108\][ ]=' drivers/net/wireless/iwl-4965.c
-    defsnc 'static[ ]const[ ]u32[ ]ofdmswing_table\[OFDM_TABLE_SIZE\][ ]=' drivers/net/wireless/rtlwifi/rtl8192ce/dm.c
-    defsnc 'static[ ]const[ ]u8[ ]cckswing_table_ch\(1ch13\|14\)\[CCK_TABLE_SIZE\]\[8\][ ]=' drivers/net/wireless/rtlwifi/rtl8192ce/dm.c
-    defsnc 'static[ ]u8[ ]reserved_page_packet\[TOTAL_RESERVED_PKT_LEN\][ ]=' drivers/net/wireless/rtlwifi/rtl8192ce/fw.c
-    defsnc 'static[ ]chan_info_basic_t[ ]chan_info_all\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phy_cmn.c
-    defsnc 'u16[ ]ltrn_list\[PHY_LTRN_LIST_LEN\][ ]=' drivers/staging/brcm80211/phy/wlc_phy_cmn.c
-    defsnc 's8[ ]lcnphy_gain_index_offset_for_pkt_rssi\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phy_cmn.c
-    defsnc 'lcnphy_rx_iqcomp_t[ ]lcnphy_rx_iqcomp_table_rev0\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phy_lcn.c
-    defsnc 'static[ ]const[ ]u32[ ]lcnphy_23bitgaincode_table\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phy_lcn.c
-    defsnc 'static[ ]const[ ]s8[ ]lcnphy_gain_table\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phy_lcn.c
-    defsnc 'static[ ]const[ ]s8[ ]lcnphy_gain_index_offset_for_rssi\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phy_lcn.c
-    defsnc 'static[ ]chan_info_2064_lcnphy_t[ ]chan_info_2064_lcnphy\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phy_lcn.c
-    defsnc 'lcnphy_radio_regs_t[ ]lcnphy_radio_regs_2064\[\][ ]='     defsnc 's8[ ]lcnphy_gain_index_offset_for_pkt_rssi\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phy_lcm.c
-    defsnc 'u16[ \n]*LCNPHY_txdigfiltcoeffs_\(cck\|ofdm\)\[LCNPHY_NUM_TX_DIG_FILTERS_\(CCK\|OFDM\)\][ \n]*\[LCNPHY_NUM_DIG_FILT_COEFFS[ ][+][ ]1\][ ]=' drivers/staging/brcm80211/phy/wlc_phy_lcn.c
-    defsnc 'nphy_ipa_txrxgain_t[ ]nphy_ipa_rxcal_gaintbl_2GHz\(_rev7\)\?\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phy_n.c
-    defsnc 'static[ ]chan_info_nphy_\(radio\)\?205[5x7]\(_rev5\)\?_t[ ]chan_info_nphy\(rev[3-9]\(n6\)\?\)\?_205[5-7]\(_A1\|v\([5-8]\|11\)\|_rev[4-8]\(v1\)\?\)\?\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phy_n.c
-    defsnc 'radio_\(20xx_\)\?regs_t[ ]regs_\(SYN_\|[RT]X_\)\?205[5-7]\(_A1\|_rev\([4-8]\|11\)\(v1\)\?\)\?\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phy_n.c
-    defsnc 'static[ ]const[ ]u16[ ]tbl_iqcal_gainparams_nphy\[2\]\[NPHY_IQCAL_NUMGAINS\]\[8\][ ]=' drivers/staging/brcm80211/phy/wlc_phy_n.c
-    defsnc 'static[ ]\(const[ ]\)\?u32[ ]nphy_tpc_\(5GHz_\)\?txgain\(_[ei]pa\)\?\(\(_[25]g\)\?\(_\(2057\)\?\(rev\([3-7]\|4n6\)\?\)\?\)\?\|_HiPwrEPA\)\?\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phy_n.c
-    defsnc 'static[ ]const[ ]u16[ ]nphy_tpc_loscale\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phy_n.c
-    defsnc 'static[ ]u8[ ]pad_all_gain_codes_2057\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phy_n.c
-    defsnc 'static[ ]u32[ ]nphy_papd_scaltbl\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phy_n.c
-    defsnc '[	]s32[ ]poll_results\[8\]\[4\][ ]=' drivers/staging/brcm80211/phy/wlc_phy_n.c
-    defsnc '[	]nphy_txiqcal_ladder_t[ ]ladder_\(lo\|iq\)\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phy_n.c
-    defsnc 'const[ ]u32[ ]dot11lcn_gain_\(idx_\|val_\)\?tbl_\(rev[01]\|\(extlna_\)\?2G\|5G\)\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_lcn.c
-    defsnc 'const[ ]u16[ ]dot11lcn_aux_gain_idx_tbl_\(rev0\|\(extlna_\)\?2G\)\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_lcn.c
-    defsnc 'const[ ]u32[ ]dot11lcn_aux_gain_idx_tbl_5G\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_lcn.c
-    defsnc 'const[ ]u8[ ]dot11lcn_gain_val_tbl_\(rev0\|\(extlna_\)\?2G\)\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_lcn.c
-    defsnc 'const[ ]u16[ ]dot11lcn_\(min_sig_sq\|noise_scale\)_tbl_rev0\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_lcn.c
-    defsnc 'const[ ]u16[ ]dot11lcn_sw_ctrl_tbl_\(4313_\)\?\(bt_\)\?\(epa_\)\?\(p250_\)\?rev0\(_combo\)\?\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_lcn.c
-    defsnc 'const[ ]u8[ ]dot11lcn_spur_tbl_rev0\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_lcn.c
-    defsnc 'const[ ]u16[ ]dot11lcn_\(unsup_mcs\|iq_local\)_tbl_rev0\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_lcn.c
-    defsnc 'const[ ]lcnphy_tx_gain_tbl_entry[ ]dot11lcnphy_[25]GHz_\(extPA_\)\?gaintable_rev0\[128\][ ]='  drivers/staging/brcm80211/phy/wlc_phytbl_lcn.c
-    defsnc 'const[ ]u32[ ]dot11lcn_papd_compdelta_tbl_rev0\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_lcn.c
-    defsnc 'const[ ]u32[ ]frame_struct_rev[03]\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_n.c
-    defsnc 'const[ ]u8[ ]frame_lut_rev[03]\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_n.c
-    defsnc 'const[ ]u32[ ]\(tmap\|tdtrn\)_tbl_rev[037]\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_n.c
-    defsnc 'const[ ]u16[ ]pilot_tbl_rev[03]\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_n.c
-    defsnc 'const[ ]u32[ ]tdi_tbl[24]0_ant[01]_rev[03]\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_n.c
-    defsnc 'const[ ]u32[ ]chanest_tbl_rev[03]\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_n.c
-    defsnc 'const[ ]u8[ ]mcs_tbl_rev0\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_n.c
-    defsnc 'const[ ]u32[ ]noise_var_tbl[01]\?_rev[037]\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_n.c
-    defsnc 'const[ ]u8[ ]\(est\|adj\)_pwr_lut_core[01]_rev[03]\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_n.c
-    defsnc 'const[ ]u32[ ]\(gainctrl\|iq\)_lut_core[01]_rev[03]\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_n.c
-    defsnc 'const[ ]u16[ ]loft_lut_core[01]_rev[03]\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_n.c
-    defsnc 'const[ ]u16[ ]ant_swctrl_tbl_rev3\(_[1-3]\)\?\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_n.c
-    defsnc 'const[ ]u16[ ]mcs_tbl_rev3\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_n.c
-    defsnc 'const[ ]u16[ ]papd_comp_rfpwr_tbl_core[01]_rev3\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_n.c
-    defsnc 'const[ ]u32[ ]papd_\(comp_epsilon\|cal_scalars\)_tbl_core[01]_rev[37]\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_n.c
-    blobname 'brcm[/]bcm43xx' drivers/staging/brcm80211/sys/wl_mac80211.c
-    blobname '%s\(_hdr\)\?-%d\.fw' drivers/staging/brcm80211/sys/wl_mac80211.c
-    defsnc 'static[ ]const[ ]u8[ ]crc8_table\[256\][ ]=' drivers/staging/brcm80211/util/bcmutils.c
-    defsnc 'static[ ]const[ ]u16[ ]crc16_table\[256\][ ]=' drivers/staging/brcm80211/util/bcmutils.c
-    defsnc 'static[ ]const[ ]u32[ ]crc32_table\[256\][ ]=' drivers/staging/brcm80211/util/bcmutils.c
-    defsnc 'static[ ]const[ ]pmu0_xtaltab0_t[ ]pmu0_xtaltab0\[\][ ]=' drivers/staging/brcm80211/util/hndpmu.c
-    defsnc 'static[ ]const[ ]pmu1_xtaltab0_t[ ]pmu1_xtaltab0\(_880\(_4329\)\?\|_1760\|_1440\|_960\)\[\][ ]=' drivers/staging/brcm80211/util/hndpmu.c
-    defsnc 'static[ ]const[ ]s16[ ]log_table\[\][ ]=' drivers/staging/brcm80211/util/qmath.c
-    accept '[;]set[ ]executable[ ]["]2232\.bin["]' drivers/char/ser_a2232fw.ax
-    defsnc 'static[ ]unsigned[ ]char[ ]a2232_65EC02code\[\][ ]=' drivers/staging/generic_serial/ser_a2232fw.h
-    defsnc 'static[ ]unsigned[ ]char[ ]jpeg_header\[\][ ]=' drivers/staging/solo6x10/solo6010-jpeg.h
-    defsc 'static[ ]const[ ]unsigned[ ]int[ ]solo_osd_font\[\][ ]=' drivers/staging/solo6x10/solo6010-osd-font.h
-    defsnc '[	]unsigned[ ]char[ ]regs\[128\][ ]=' drivers/staging/solo6x10/solo6010-tw28.c
-    defsnc 'static[ ]unsigned[ ]short[ ]rc_ioport\[\][ ]=' drivers/staging/tty/riscom8.c
-    defsnc 'static[ ]Byte_t[ ]RData\[RDATASIZE\][ ]=' drivers/tty/rocket.c
-    defsnc '[	]static[ ]DEFINE_TEST_\(OK\|FAIL\)[(][^)]*[)][ ]=' lib/test-kstrtox.c
-    accept '[ *	]*0[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]1[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]2[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]3[\n][ *	]*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/\(netfilter\|ipv4\)/ipvs/ip_vs_sync\.c\|net/sctp/sm_make_chunk\.c\|include/linux/scpt\.h\|drivers/staging/rt3090/common/igmp_snoop\.c'
-    accept '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]int[ ]do_mod_firmware_load[(]' sound/sound_firmware.c
-    defsnc 'static[ ]yyconst[ ]\(flex_int\(16\|32\)_t\|\(\(short[ ]\)\?int\)\)[ ]yy_[^[]*\[[][0-9]*\][ ]='
-    defsnc 'static[ ]const[ ]\(yytype_u\?int\(8\|16\)\|\(unsigned[ ]\)\?\(short\([ ]int\)\?\|char\)\)[ ]yy[^[]*\[\][ ]='
-    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'
-    # New in 2.6.39 below, present in earlier versions above
-    blobna 'printk[(]KERN_ERR[ ]["]r8712u:[ ]Install[^\n"]*firmware[\\]n["][)][;]' drivers/staging/rtl8712/hal_init.c
-    defsnc 'static[ ]const[ ]struct[ ]phy_reg[ ]exynos4_sataphy_\(cmu\|\(com\)\?lane\)\[\][ ]=' arch/arm/mach-exynos4/dev-ahci.c
-    defsnc 'static[ ]struct[ ]clk_pll_\(freq_\)\?table[ ]tegra_pll_[adpxm]_\(freq_\)\?table\[\][ ]=' arch/arm/mach-tegra/tegra2_clocks.c
-    initnc '\.irp[ ]idx' arch/x86/include/asm/entry_arch.h
-    initnc '\.irp[ ]idx' arch/x86/kernel/entry_64.S
-    defsnc 'static[ ]const[ ]u8[ ]types\[256\][ ]=' drivers/gpu/drm/nouveau/nvc0_vram.c
-    defsnc 'static[ ]__u8[ ]keytouch_fixed_rdesc\[\][ ]=' drivers/hid/hid-keytouch.c
-    blobname 'dib9090\.fw' drivers/media/dvb/dvb-usb/dib0700_devices.c
-    accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]\(dw\(210[24]\|3101\)\|s6[3x]0\)_properties[ ]=[ ][{][\n]\([	]\.\(caps\|usb_ctrl\|size_of_priv\)[ ]*=[ ][^",]*,[\n]*\)*[	]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/dw2102.c
-    accept '[	]\(p1100\|s660\)->firmware[ ]=' drivers/media/dvb/dvb-usb/dw2102.c
-    blobname 'dvb-usb-\(p1100\|s660\)\.fw' drivers/media/dvb/dvb-usb/dw2102.c
-    blobname 'dvb-usb-lme2510c\?-s0194\.fw' drivers/media/dvb/dvb-usb/lmedm04.c
-    accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]technisat_usb2_devices[ ]=[ ][{][\n]\([	]\.\(caps\|usb_ctrl\|identify_state\)[ ]*=[ ][^",]*,[\n]*\)*[	]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/technisat-usb2.c
-    blobname 'dvb-usb-SkyStar_USB_HD_FW_v17_63\.HEX\.fw' drivers/media/dvb/dvb-usb/technisat-usb2.c
-    defsnc 'static[ ]const[ ]struct[ ]dib0090_pll[ ]dib0090_\(p1g_\)\?pll_table\[\][ ]=' drivers/media/dvb/frontends/dib0090.c
-    defsnc '[	]static[ ]u8[ ]sine[ ]\?\[\][ ]=' drivers/media/dvb/frontends/dib7000p.c
-    defsnc 'u32[ ]fe_info\[44\][ ]=' drivers/media/dvb/frontends/dib9000.c
-    blobname 'dvb-netup-altera-01\.fw' drivers/media/video/cx23885/cx23885-cards.c
-    # These are suspicious, but the regularity suggests data.
-    defsnc 'static[ ]const[ ]u8[ ]\(nw80[012]\|spacecam2\?\|cvideopro\|dlink\|ds3303\|kr651\|kritter\|mustek\|proscope\|twinkle\|dvcv6\)_start\(_\([12]\|q\?vga\)\)\?\[\][ ]=' drivers/media/video/gspca/nw80x.c
-    defsnc 'static[ ]const[ ]u8[ ]\(bridge\|sensor\)_init_7\(67\|72\)x\[\]\[2\][ ]=' drivers/media/video/gspca/ov534.c
-    defsnc '[	]static[ ]u8[ ]color_tb\[\]\[6\][ ]=' drivers/media/video/gspca/ov534.c
-    defsnc 'static[ ]const[ ]struct[ ]isprsz_coef[ ]filter_coefs[ ]=' drivers/media/video/omap3isp/ispresizer.c
-    defsnc 'static[ ]const[ ]struct[ ]ov9740_reg[ ]ov9740_defaults\[\][ ]=' drivers/media/video/ov9740.c
-    defsnc 'static[ ]int[ ]therm_tbl\[\][ ]=' drivers/mfd/twl4030-madc.c
-    defsnc 'static[ ]struct[ ]nand_ecclayout[ ]nandv2_hw_eccoob_\(largepage\|4k\)[ ]=' drivers/mtd/nand/mxc_nand.c
-    defsnc 'static[ ]const[ ]u32[ ]ar9485\(\(C\|_c\)ommon_\(wo_xlna_\)\?rx_gain\)\?_1_[01]\(_\(radio\|baseband\|mac\)_core\)\?\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar9485_initvals.h
-    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
-    defsnc '\(static[ ]\)\?const[ ]u\(8\|16\|32\)[ ]b43_ntab_\(\(adjustpower\|estimatepowerlt\|gainctl\|iqlt\|loftlt\|noisevar1\?\|tdi[24]0a\)[01]\|channelest\|frame\(lookup\|struct\)\|mcs\|pilot\|tdtrn\|tmap\)\(_r3\)\?\[\][ ]=' drivers/net/wireless/b43/tables_nphy.c
-    defsnc 'struct[ ]nphy_gain_ctl_workaround_entry[ ]nphy_gain_ctl_workaround\[2\]\[3\][ ]=' drivers/net/wireless/b43/tables_nphy.c
-    blobname '\(ti-connectivity[/]\)\?wl1271-\(fw\(-2\|-ap\)\?\|nvs\)\.bin' drivers/net/wireless/wl12xx/wl1271.h
-    accept '#define\([ ]_\?IWL\(4965\|[156]000\(G2[AB]\)\?\|1[03]0\|5150\|6050\|20[03]\?0\)_MODULE_FIRMWARE[(]api[)]\)\+' 'drivers/net/iwlwifi/iwl-\([1256]000\|4965\)\.c'
-    blobname 'rtlwifi[/]rtl8192cufw\.bin' drivers/net/wireless/rtlwifi/rtl8192cu.sw
-    blobname 'rtlwifi[/]rtl8712u\.bin' drivers/staging/rtl8712/hal_init.c
-    defsnc 'u32[ ]\(RTL\|Rtl\)8192CU\(PHY_REG\|_\?\(RADIO\|Radio\)[AB]\|MAC\|AGCTAB\)_\([21]T\(_HP\)\?_\?\(ARRAY\|Array\)\|\(ARRAY\|Array\)_PG\)\(_HP\)\?\[RTL8192CU\(PHY_REG\|\(RADIO\|Radio\)[AB]\|MAC\|AGCTAB\)_\([21]T\(_HP\)\?_\?\(ARRAY\|Array\)_\?\|\(ARRAY\|Array\)_PG\)\(_HP\)\?\(LENGTH\|Length\)\][ ]=' drivers/net/wireless/rtlwifi/rtl8192cu/table.c
-    blobname 'rtl_nic[/]rtl8105e-1\.fw' drivers/net/r8169.c
-    defsnc 'static[ ]const[ ]\(A_INT32\|s32\)[ ]wmi_rateTable\[\]\[2\][ ]=' drivers/staging/ath6kl/wmi/wmi.c
-    defsnc '\(static[ ]\)\?const[ ]struct[ ]\(stk1160\|saa7113\)config[ ]\([{][^}]*[}][ ]\)\?\(stk1160\|saa7113\)config\(PAL\|NTSC\)\?\[256\][ ]=' drivers/staging/easycap/easycap_low.c
-    defsnc 'static[ ]const[ ]ccktxbbgain_struct[ ]rtl8192_cck_txbbgain_\(ch14_\)\?table\[\][ ]=' drivers/staging/rtl8192e/r8192E_dm.c
-    defsnc '[	]unsigned[ ]char[ ]data_ptr\[36\][ ]=' drivers/usb/storage/ene_ub6250.c
-    blobname 'ene-ub6250[/]sd_\(init[12]\|rdwr\)\.bin' drivers/usb/storage/ene_ub6250.c
-    defsnc 'static[ ]const[ ]struct[ ]hdmi_timings[ ]cea_vesa_timings\[OMAP_HDMI_TIMINGS_NB\][ ]=' drivers/video/omap2/dss/hdmi.c
-    defsnc 'static[ ]struct[ ]pll_config[ ]\(cle266\|k800\|cx700\|vx855\)_pll_config\[\][ ]=' drivers/video/via/hw.c
-    defsnc 'static[ ]char[ ]channel_map_unity_ss\[HDSPM_MAX_CHANNELS\][ ]=' sound/pci/rme9652/hdspm.c
-    defsnc 'static[ ]const[ ]u8[ ]log_volume_table\[128\][ ]=' sound/usb/6fire/control.c
-    defsnc 'static[ ]const[ ]struct[ ][{][^}]*[}][\n]init_data\[\][ ]=' drivers/usb/6fire/control.c
-    blobname '6fire[/]dmx6fire\(l2\|ap\|cf\)\.\(ihx\|bin\)' sound/usb/6fire/firmware.c
-    defsnc 'static[ ]const[ ]u8[ ]BIT_REVERSE_TABLE\[256\][ ]=' sound/usb/6fire/firmware.c
-    initnc '[/][*][\n][ ][*][ ]\(cfa_coef\|gamma\|luma_enhance\|noise_filter\)_table\.h[\n][ ][*]\([^\n]*[\n][ ][*]\)*[/]' 'drivers/media/video/omap3isp/\(cfa_coef\|gamma\|luma_enhance\|noise_filter\)_table\.h'
-    blobna 'rocess_sigma_firmwar'
-    defsnc 'int[ ]process_sigma_firmware[(][^)]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*request_firmware' drivers/firmware/sigma.c
-    accept 'EXPORT_SYMBOL[(]process_sigma_firmware[)]' drivers/firmware/sigma.c
-    accept 'extern[ ]int[ ]process_sigma_firmware[(][^)]*[)][;]' include/linux/sigma.h
-    blobname 'maxtouch\.fw' drivers/input/touchscreen/atmel_mxt_ts.c
-    blobname 'fm\(c\|_[rt]x\)_ch8\(_[0-9a-f]*\.[0-9]*\.bts\)\?' drivers/media/radio/wl128x/fmdrv_common.h
-    blobname '%s_%x\.%d\.bts' drivers/media/radio/wl128x/fmdrv_common.c
-    ;;
-
-  */rtl8180*.patch)
-    defsnc 'static[ ]u8[ ]sa2400_rf_rssi_map\[\][ ]=' drivers/net/wireless/rtl818x/rtl8180_sa2400.c
-    ;;
-
-  */patch*-2.6.38-rc*)
-    # New in 2.6.38
-    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
-    defsnc 'static[ ]struct[ ]aead_testvec[ ]\(aes_gcm_rfc4106\)_\(enc\|dec\)_tv_template\[\][ ]=' 'crypto/testmgr.h'
-    defsnc 'const[ ]struct[ ]\(stk1160\|saa7113\)config[ ]\([{][^}]*[}][ ]\)\?\(stk1160\|saa7113\)config\(PAL\|NTSC\)\?\[256\][ ]=' drivers/staging/easycap/easycap_low.c
-    blobname '\(sep[/]\)\?\extapp\.image\.bin' drivers/staging/sep/sep_driver.c
-    blobname 'radeon[/]\(BARTS\|BTC\|TURKS\|CAICOS\|%s\)_\(pfp\|rlc\|m[ec]\)\.bin' drivers/gpu/drm/radeon/ni.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
-    blobname '\(nouveau[/]\)\?fuc4\(09\|1a\)[cd]' drivers/gpu/drm/nouveau/nvc0_graph.c
-    defsnc '[	][}][ ]v_table\[\][ ]=' drivers/gpu/drm/i915/i915_dma.c
-    defsnc '[}][ ]nec_8048_init_seq\[\][ ]=' drivers/video/omap2/displays/panel-nec-nl8048hl11-01b.c
-    defsnc 'static[ ]const[ ]int[ ]mc13892_sw1\?\[\][ ]=' drivers/regulator/mc13892-regulator.c
-    defsnc 'static[ ]const[ ]int[ ]dcdc[12]_voltages\[\][ ]=' drivers/regulator/tps6524x-regulator.c
-    defsnc '[	]\(static[ ]const[ ]\)\?u8[ ]init_hash_seed\[\][ ]=' drivers/net/qlge/qlge_main.c
-    blobname 'vxge[/]X3fw\(-pxe\)\.ncf' drivers/net/vxge/vxge-main.c
-    defsnc '[ ][ ]\(static[ ]const[ ]\)\?int[ ]poly\[\]=' drivers/net/pcmcia/nmclan_cs.c
-    defsnc 'static[ ]\(const[ ]\)\?int[ ]fifo_map\[\]\[MAX_TX_FIFOS\][ ]=' drivers/net/s2io.h
-    defsnc 'static[ ]const[ ]struct[ ]efuse_map[ ]RTL8712_SDIO_EFUSE_TABLE\[\][ ]=' drivers/net/wireless/rtlwifi/efuse.c
-    defsnc 'static[ ]const[ ]u32[ ]ofdmswing_table\[OFDM_TABLE_SIZE\][ ]=' drivers/net/wireless/rtlwifi/rtl8192ce/dm.c
-    defsnc 'static[ ]const[ ]u8[ ]cckswing_table_ch\(1ch13\|14\)\[CCK_TABLE_SIZE\]\[8\][ ]=' drivers/net/wireless/rtlwifi/rtl8192ce/dm.c
-    blobname 'rtlwifi[/]rtl8192cfw\.bin' drivers/net/wireless/rtlwifi/rtl8192ce/sw.c
-    # This looks like pure data.
-    defsnc 'static[ ]u8[ ]reserved_page_packet\[TOTAL_RESERVED_PKT_LEN\][ ]=' drivers/net/wireless/rtlwifi/rtl8192ce/fw.c
-    defsnc 'u32[ ]RTL8192CE\(PHY_REG\|_\?RADIO[AB]\|MAC\|AGCTAB\)_\([21]T_\?ARRAY\|ARRAY_PG\)\[\(PHY_REG\|RADIO[AB]\|MAC\|AGCTAB\)_\([21]T_\?ARRAY_\?\|ARRAY_PG\)LENGTH\][ ]=' drivers/net/wireless/rtlwifi/rtl8192ce/table.c
-    defsc 'static[ ]const[ ]struct[ ]ar9300_eeprom[ ]ar9300_[hx]11[236][ ]=' drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
-    defsnc 'static[ ]const[ ]u32[ ]ar9485_1_0_\(mac\|baseband\)_postamble\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9485_initvals.h
-    defsnc 'static[ ]const[ ]u32[ ]ar9485\(Common_\(wo_xlna_\)\?rx_gain\)\?_1_0\(_\(radio\|baseband\|mac\)_core\)\?\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar9485_initvals.h
-    defsnc 'static[ ]const[ ]u32[ ]ar9485Modes_\(high\|low\)\(est\)\?_\(power\|ob_db\)_tx_gain_1_0\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9485_initvals.h
-    defsnc 'static[ ]const[ ]struct[ ]b43_nphy_channeltab_entry_rev3[ ]b43_nphy_channeltab_rev\([34568]\|7_9\)\[\][ ]=' drivers/net/wireless/b43/radio_2056.c
-    blobname '["]softing-4[.]6[/]["]' drivers/net/can/softing/softing_platform.h
-    blobname '\(softing-4[.]6[/]\)\?\(\(b\|ld\)card2\?\|can\(card\|sja\|crd2\)\)\.bin' drivers/net/can/softing/softing_cs.c
-    blobna 'which[ ]you[ ]can[ ]get[ ]at[\n][	][ ][ ]http:[/][/][^\n]*[/]socketcan[/][\n][^-]*firmware[ ]version' drivers/net/can/softing/Kconfig
-    defsnc 'static[ ]struct[ ]regdata[ ]mb86a20s_init\[\][ ]=' drivers/media/dvb/frontends/mb86a20s.c
-    defsnc 'static[ ]struct[ ]regdata[ ]s921_init\[\][ ]=' drivers/media/dvb/frontends/s921.c
-    defsnc 'static[ ]const[ ]struct[ ]regval_list[ ]ov2640_init_regs\[\][ ]=' drivers/media/video/ov2640.c
-    defsnc 'static[ ]const[ ]struct[ ]ov_i2c_regvals[ ]norm_7660\[\][ ]=' drivers/media/video/ov519.c
-    defsnc '[	]static[ ]const[ ]struct[ ]ov_regvals[ ]bridge_ov7660\[2\]\[10\][ ]=' drivers/media/video/gspca/ov519.c
-    defsnc '[	]static[ ]const[ ]u8[ ]fr_tb\[2\]\[6\]\[3\][ ]=' drivers/media/video/gspca/ov519.c
-    defsnc '[	]static[ ]const[ ]struct[ ]ov_i2c_regvals[ ]\(brit\|contrast\|colors\)_7660\[\]\[\(6\|7\|31\)\][ ]=' drivers/media/video/gspca/ov519.c
-    blobname 'radio-wl1273-fw\.bin' drivers/media/radio/radio-wl1273.c
-    defsnc '[}][ ]scrubrates\[\][ ]=' drivers/edac/amd64_edac.c
-    defsnc '[	]static[ ]const[ ]uint8_t[ ]branch_table\[32\][ ]=' lib/xz/xz_dec_bcj.c
-    defsnc 'static[ ]const[ ]struct[ ]_pll_div[ ]codec_master_pll_div\[\][ ]=' sound/soc/codecs/alc5623.c
-    defsnc '[}][ ]coeff_div\[\][ ]=' sound/soc/codecs/wm8737.c
-    blobname 'rpm_firmware\(_rev11\)\?\.bin' sound/pci/rme9652/hdsp.c
-    blobname 'mwl8k[/]fmimage_8366_ap-["][ ][#]api[ ]["]\.fw' drivers/net/wireless/mwl8k.c
-    blobname 'rtl_nic[/]rtl8168d-[12]\.fw' drivers/net/r8169.c
-    # Above is for patterns new in 2.6.38, below is for older patterns.
-    initnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]const[ ]__u8[ ]pac207_sensor_init\[\]\[8\(\][ ]=[ ][{]\)\?\([*][/][;]\)\?' drivers/media/video/gspca/pac207.c
-    initnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]const[ ]__u8[ ]pas202_sensor_init\[\]\[8\(\][ ]=[ ][{]\)\?\([*][/][;]\)\?' drivers/media/video/gspca/sonixb.c
-    initnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]const[ ]u32[ ]ar9300Modes_\(\(low\(est\)\?\|high\)_ob_db\|high_power\)_tx_gain_table_2p[02]\[\]\[5\][ ]=\([ ][{][*][/][;]\)\?' 'drivers/net/wireless/ath/ath9k/ar9003_\(2p[02]_\)\?initvals\.h'
-    initnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]const[ ]u32[ ]ar9300_2p[02]_\(radio\|mac\|baseband\)_postamble\[\]\[5\][ ]=\([ ][{][*][/][;]\)\?' 'drivers/net/wireless/ath/ath9k/ar9003_\(2p[02]_\)\?initvals\.h'
-    initc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]const[ ]struct[ ]ar9300_eeprom[ ]ar9300_default[ ]=\([ ][{][*][/][;]\)\?' drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
-    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'
-    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
-    defsnc 'static[ ]const[ ]u16[ ]e1000_igp_2_cable_length_table\[\][ ]=' drivers/net/e1000e/phy.c
-    initnc 'static[ ]const[ ]u32[ ]\(main\|gear\)_seedset\[BACKOFF_SEEDSET_ROWS\]\[BACKOFF_SEEDSET_LFSRS\][ ]=' drivers/net/forcedeth.c
-    defsnc '[	][	]*\(static[ ]\)\?\(const[ ]\)\?struct[ ]phy_reg[ ]phy_reg_init\(_0\)\?\[\][ ]=' drivers/net/r8169.c
-    defsnc 'static[ ]const[ ]struct[ ]ath5k_ini_mode[ ]rf5413_ini_mode_end\[\][ ]=' drivers/net/wireless/ath/ath5k/initvals.c
-    defsnc 'static[ ]const[ ]struct[ ]ath5k_ini_rfbuffer[ ]rfb_\(511[12]a\?\|5413\|231[67]\|24\(1[37]\|25\)\)\[\][ ]=' drivers/net/wireless/ath5k/rfbuffer.h
-    accept '[	]hif_dev->firmware[ ]=[ ]NULL[;]' drivers/net/wireless/ath/ath9k/hif_usb.c
-    defsnc '\(static[ ]\)\?const[ ]u\(8\|16\|32\)[ ]b43_ntab_\(\(adjustpower\|estimatepowerlt\|gainctl\|iqlt\|loftlt\|noisevar1\|tdi[24]0a\)[01]\|channelest\|frame\(lookup\|struct\)\|mcs\|pilot\|tdtrn\|tmap\)\[\][ ]=' drivers/net/wireless/b43/tables_nphy.c
-    defsnc 'static[ ]const[ ]u8[ ]rtl8225\(z2\)\?_\(agc\|ofdm\|\(tx_\)\?\(power\|gain\)_cck\(_ch14\|_ofdm\)\?\)\[\][ ]=' 'drivers/net/wireless/rtl818x/rtl818[07]/rtl8225\.c'
-    defsnc 'static[ ]const[ ]u16[ ]rtl8225\(bcd\|z2\)_rxgain\[\][ ]=' 'drivers/net/wireless/rtl818x/rtl818[07]/rtl8225\.c'
-    defsnc 'static[ ]u8[ ]sa2400_rf_rssi_map\[\][ ]=' drivers/net/wireless/rtl818x/rtl8180_sa2400.c
-    defsnc 'static[ ]const[ ]u8[ ]rtl8187b_reg_table\[\]\[3\][ ]=' drivers/net/wireless/rtl8187_dev.c
-    defsnc '[ ][ ][ ][ ]u8[ ]ConnectionMsg\[\][ ]='  drivers/staging/ft1000/ft1000-usb/ft1000_chdev.c
-    accept '[	]len[ ][+]=[ ]snprintf[(]buf[ ][+][ ]len[,][ ]sizeof[(]buf[)][ ]-[ ]len,[ ]["][.]bin["][)][;]' drivers/staging/intel_sst/intel_sst_dsp.c
-    defsnc 'static[ ]unsigned[ ]char[ ]vid_vop_header\[\][ ]=' drivers/staging/solo6x10/solo6010-v4l2-enc.c
-    accept 'MODULE_FIRMWARE[(]["]\(cis[/]\)\?\(PCMLM28\|DP83903\|3C\(CF\|X\)EM556\|MT5634ZLX\|COMpad[24]\|RS-COM-2P\|GLOBETROTTER\|SW_\([78]xx\|555\)_SER\)\.cis["][)][;]\([\n]MODULE_FIRMWARE[(]["]\(cis[/]\)\?\(PCMLM28\|DP83903\|3C\(CF\|X\)EM556\|MT5634ZLX\|COMpad[24]\|RS-COM-2P\|GLOBETROTTER\|SW_\([78]xx\|555\)_SER\)\.cis["][)][;]\)*' drivers/serial/serial_cs.c
-    defsnc 'static[ ]struct[ ]v_table[ ]v_table\[\][ ]=' drivers/gpu/drm/i915/i915_dma.c
-    defsnc 'static[ ]u8[ ]\(init\|c\)_table\[\]=' drivers/media/dvb/frontends/s921_core.c
-    defsnc 'static[ ]\(u16\|struct[ ]i2c_reg_u16\)[ ]\(bridge\|mt9\(v\(11[12]\|011\)\|m001\)\)_init\[\]\(\[2\]\)\?[ ]=' drivers/media/video/gspca/sn9c20x.c
-    defsnc '[	]static[ ]const[ ]struct[ ]struct_initData[ ]initData\[\][ ]=' drivers/media/video/usbvideo/ibmcam.c
-    defsnc '[	]\(static[ ]const[ ]\)\?u32[ ]reg_boundaries\[\][ ]=' drivers/net/bnx2.c
-    initnc 'static[ ]const[ ]struct[ ]ath5k_ini_mode[ ]rf\(5413\|24\(13\|25\)\)_ini_mode_end\[\][ ]=' drivers/net/wireless/ath5k/initvals.c
-    defsnc 'static[ ]u32[ ]\(h_prescale\|v_gain\)\[64\][ ]=' drivers/staging/stradis/stradis.c
-    ;;
-
-  */patch*-2.6.38*)
-    # New in 2.6.38.4
-    defsnc '[	]static[ ]DEFINE_TEST_\(OK\|FAIL\)[(][^)]*[)][ ]=' lib/test-kstrtox.c
-    ;;
-
-  */patch*-2.6.37-rc*) # up to -rc8-git3
-    defsnc 'static[ ]u32[ ]epll_div\[\]\[6\][ ]=' arch/arm/mach-s5pv210/clock.c
-    defsnc 'static[ ]struct[ ]titan_gpio_cfg[ ]titan_gpio_table\[\][ ]=' arch/mips/ar7/gpio.c
-    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
-    blobname 'dvb-usb-lme2510c\?-\(lg\|s7395\)\.fw' drivers/media/dvb/dvb-usb/lmedm04.c
-    defsnc 'static[ ]u8[ ]s7395_inittab\[\][ ]=' drivers/media/dvb/dvb-usb/lmedm04.h
-    defsnc 'static[ ]const[ ]u16[ ]rca_initdata\[\]\[3\][ ]=' drivers/media/video/gspca/xirlink_cit.c
-    blobname 'NXP7164-2010-03-10\.1\.fw' drivers/media/video/saa7164/saa7164-fw.c
-    defsnc 'static[ ]struct[ ]nand_ecclayout[ ]fsmc_ecc4_lp_layout[ ]=' drivers/mtd/nand/fsmc_nand.c
-    defsnc 'static[ ]struct[ ]pxa3xx_nand_timing[ ]timing\[\][ ]=' drivers/mtd/nand/pxa3xx_nand.c
-    blobname 'ctfw_cna\.bin' drivers/net/bna/cna.h
-    accept '[#]define[ ]CARL9170FW_NAME[ 	]\+["]carl9170-1\.fw["]' drivers/net/wireless/ath/carl9170/carl9170.h
-    defsnc 'static[ ]struct[ ]carl9170_phy_init[ ]ar5416_phy_init\[\][ ]=' drivers/net/wireless/carl9170/phy.c
-    defsnc 'static[ ]struct[ ]carl9170_rf_initvals[ ]carl9170_rf_initval\[\][ ]=' drivers/net/wireless/carl9170/phy.c
-    defsnc 'static[ ]const[ ]struct[ ]carl9170_phy_freq_entry[ ]carl9170_phy_freq_params\[\][ ]=' drivers/net/wireless/carl9170/phy.c
-    accept 'MODULE_FIRMWARE[(]CARL9170FW_NAME[)][;]' drivers/net/wireless/carl9170/usb.c
-    accept '[	]return[ ]request_firmware_nowait[(][^\n]*,[ ]CARL9170FW_NAME,' drivers/net/wireless/carl9170/usb.c
-    blobname 'iwlwifi-100-' drivers/net/iwlwifi/iwl-1000.c
-    blobname 'iwlwifi-130-' drivers/net/iwlwifi/iwl-6000.c
-    blobname 'libertas[/]cf83\(05\|8[15]\)\(_helper\)\?\.bin' drivers/net/wireless/libertas/if_cs.c
-    blobname 'libertas[/]sd\(8385\|8686\(_v[89]\)\|8688\)\(_helper\)\?\.bin' drivers/net/wireless/libertas/if_sdio.c
-    blobname 'libertas[/]gspi\(8385\|8686\(_v9\)\?\|8688\)\(_helper\|_hlp\)\?\.bin' drivers/net/wireless/libertas/if_spi.c
-    blobname 'libertas[/]usb\(8388\(_v[59]\)\?\|8682\)\.bin' drivers/net/wireless/libertas/if_usb.c
-    accept '[	][/][*][ ]Try[ ]user-specified[ ]firmware[ ]first[ ][*][/][\n][	]if[ ][(]fwname[)][\n][	][	]return[ ]request_firmware' drivers/net/wireless/libertas/if_usb.c
-    accept '[	][	]ret[ ]=[ ]request_firmware[(]\(helper,[ ]user_helper\|mainfw,[ ]user_mainfw\)' drivers/net/wireless/libertas/main.c
-    defsnc 'static[ ]const[ ]int[ ]\(ldo5\|buck1\)_voltage_map\[\][ ]=' drivers/regulator/lp3972.c
-    accept '\([ ][*][ ]\(format\|information\)[^\n]*\|[#]define[ ]REG_DATA_FILE_A\?G[ ]*\)["]\([.][/]\)\?regulatoryData_A\?G\.bin["]' drivers/staging/ath6kl/include/common/regulatory/reg_dbschema.h
-    blobname 'ath6k[/]AR6003[/]hw[12]\.0[/]\(otp\|athwlan\)\.bin\.z77' drivers/staging/ath6kl/os/linux/include/ar6000_drv.h
-    blobname 'ath6k[/]AR6003[/]hw[12]\.0[/]\(athtcmd_ram\|device\|data\.patch\|endpointping\|bdata\.\(SD3[12]\|WB31\|CUSTOM\)\)\.bin' drivers/staging/ath6kl/os/linux/include/ar6000_drv.h
-    defsnc 'static[ ]const[ ]A_INT32[ ]wmi_rateTable\[\]\[2\][ ]=' drivers/staging/ath6kl/wmi/wmi.c
-    defsnc 'static[ ]DDR_SET_NODE[ ]asT3\(LP\)\?B\?_DDRSetting\(80\|100\|133\|160\)MHz\[\][ ]\?=' drivers/staging/bcm/DDRInit.c
-    blobname '\([/]lib[/]firmware[/]\)\?macxvi200\.bin' drivers/staging/bcm/Macros.h
-    accept '-[ ]On-chip[ ]firmware[ ]loaded[ ]using[ ]standard[ ]request_firmware[(][)]' 'drivers/staging/brcm80211\(/brcmfmac\)\?/README'
-    blobname 'brcm[/]bcm43xx\(_hdr\)-0[-0-9]*\.fw' drivers/staging/brcm80211/README
-    blobname 'brcm[/]bcm4329-fullmac-4[-0-9]*\.bin' drivers/staging/brcm80211/brcmfmac/README
-    blob 'Firmware[ ]installation[\n]=\+\([\n]\+[^\n=][^\n]*\)\+\([/]lib[/]firmware[/]brcm\|\.fw\)[^\n]*\([\n][^\n=][^\n]*\)*\([\n][\n][^=\n][^\n]*[\n][^=\n][^\n]*\([\n][^\n=][^\n]*\)*\)*' 'drivers/staging/brcm80211\(/brcmfmac\)\?/README'
-    defsnc '[	]u16[ ]nrate_list\[4\]\[8\][ ]=' drivers/staging/brcm80211/brcmfmac/wl_iw.c
-    defsnc 'static[ ]chan_info_basic_t[ ]chan_info_all\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phy_cmn.c
-    defsnc 'u16[ ]ltrn_list\[PHY_LTRN_LIST_LEN\][ ]=' drivers/staging/brcm80211/phy/wlc_phy_cmn.c
-    defsnc 's8[ ]lcnphy_gain_index_offset_for_pkt_rssi\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phy_cmn.c
-    defsnc 'lcnphy_rx_iqcomp_t[ ]lcnphy_rx_iqcomp_table_rev0\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phy_lcn.c
-    defsnc 'static[ ]const[ ]u32[ ]lcnphy_23bitgaincode_table\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phy_lcn.c
-    defsnc 'static[ ]const[ ]s8[ ]lcnphy_gain_table\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phy_lcn.c
-    defsnc 'static[ ]const[ ]s8[ ]lcnphy_gain_index_offset_for_rssi\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phy_lcn.c
-    defsnc 'static[ ]chan_info_2064_lcnphy_t[ ]chan_info_2064_lcnphy\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phy_lcn.c
-    defsnc 'lcnphy_radio_regs_t[ ]lcnphy_radio_regs_2064\[\][ ]='     defsnc 's8[ ]lcnphy_gain_index_offset_for_pkt_rssi\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phy_lcm.c
-    defsnc 'u16[ \n]*LCNPHY_txdigfiltcoeffs_\(cck\|ofdm\)\[LCNPHY_NUM_TX_DIG_FILTERS_\(CCK\|OFDM\)\][ \n]*\[LCNPHY_NUM_DIG_FILT_COEFFS[ ][+][ ]1\][ ]=' drivers/staging/brcm80211/phy/wlc_phy_lcn.c
-    defsnc 'nphy_ipa_txrxgain_t[ ]nphy_ipa_rxcal_gaintbl_2GHz\(_rev7\)\?\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phy_n.c
-    defsnc 'static[ ]chan_info_nphy_\(radio\)\?205[5x7]\(_rev5\)\?_t[ ]chan_info_nphy\(rev[3-9]\(n6\)\?\)\?_205[5-7]\(_A1\|v\([5-8]\|11\)\|_rev[4-8]\(v1\)\?\)\?\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phy_n.c
-    defsnc 'radio_\(20xx_\)\?regs_t[ ]regs_\(SYN_\|[RT]X_\)\?205[5-7]\(_A1\|_rev\([4-8]\|11\)\(v1\)\?\)\?\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phy_n.c
-    defsnc 'static[ ]const[ ]u16[ ]tbl_iqcal_gainparams_nphy\[2\]\[NPHY_IQCAL_NUMGAINS\]\[8\][ ]=' drivers/staging/brcm80211/phy/wlc_phy_n.c
-    defsnc 'static[ ]\(const[ ]\)\?u32[ ]nphy_tpc_\(5GHz_\)\?txgain\(_[ei]pa\)\?\(\(_[25]g\)\?\(_\(2057\)\?\(rev\([3-7]\|4n6\)\?\)\?\)\?\|_HiPwrEPA\)\?\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phy_n.c
-    defsnc 'static[ ]const[ ]u16[ ]nphy_tpc_loscale\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phy_n.c
-    defsnc 'static[ ]u8[ ]pad_all_gain_codes_2057\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phy_n.c
-    defsnc 'static[ ]u32[ ]nphy_papd_scaltbl\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phy_n.c
-    defsnc '[	]s32[ ]poll_results\[8\]\[4\][ ]=' drivers/staging/brcm80211/phy/wlc_phy_n.c
-    defsnc '[	]nphy_txiqcal_ladder_t[ ]ladder_\(lo\|iq\)\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phy_n.c
-    defsnc 'const[ ]u32[ ]dot11lcn_gain_\(idx_\|val_\)\?tbl_\(rev[01]\|\(extlna_\)\?2G\|5G\)\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_lcn.c
-    defsnc 'const[ ]u16[ ]dot11lcn_aux_gain_idx_tbl_\(rev0\|\(extlna_\)\?2G\)\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_lcn.c
-    defsnc 'const[ ]u32[ ]dot11lcn_aux_gain_idx_tbl_5G\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_lcn.c
-    defsnc 'const[ ]u8[ ]dot11lcn_gain_val_tbl_\(rev0\|\(extlna_\)\?2G\)\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_lcn.c
-    defsnc 'const[ ]u16[ ]dot11lcn_\(min_sig_sq\|noise_scale\)_tbl_rev0\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_lcn.c
-    defsnc 'const[ ]u16[ ]dot11lcn_sw_ctrl_tbl_\(4313_\)\?\(bt_\)\?\(epa_\)\?\(p250_\)\?rev0\(_combo\)\?\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_lcn.c
-    defsnc 'const[ ]u8[ ]dot11lcn_spur_tbl_rev0\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_lcn.c
-    defsnc 'const[ ]u16[ ]dot11lcn_\(unsup_mcs\|iq_local\)_tbl_rev0\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_lcn.c
-    defsnc 'const[ ]lcnphy_tx_gain_tbl_entry[ ]dot11lcnphy_[25]GHz_\(extPA_\)\?gaintable_rev0\[128\][ ]='  drivers/staging/brcm80211/phy/wlc_phytbl_lcn.c
-    defsnc 'const[ ]u32[ ]dot11lcn_papd_compdelta_tbl_rev0\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_lcn.c
-    defsnc 'const[ ]u32[ ]frame_struct_rev[03]\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_n.c
-    defsnc 'const[ ]u8[ ]frame_lut_rev[03]\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_n.c
-    defsnc 'const[ ]u32[ ]\(tmap\|tdtrn\)_tbl_rev[037]\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_n.c
-    defsnc 'const[ ]u16[ ]pilot_tbl_rev[03]\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_n.c
-    defsnc 'const[ ]u32[ ]tdi_tbl[24]0_ant[01]_rev[03]\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_n.c
-    defsnc 'const[ ]u32[ ]chanest_tbl_rev[03]\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_n.c
-    defsnc 'const[ ]u8[ ]mcs_tbl_rev0\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_n.c
-    defsnc 'const[ ]u32[ ]noise_var_tbl[01]\?_rev[037]\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_n.c
-    defsnc 'const[ ]u8[ ]\(est\|adj\)_pwr_lut_core[01]_rev[03]\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_n.c
-    defsnc 'const[ ]u32[ ]\(gainctrl\|iq\)_lut_core[01]_rev[03]\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_n.c
-    defsnc 'const[ ]u16[ ]loft_lut_core[01]_rev[03]\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_n.c
-    defsnc 'const[ ]u16[ ]ant_swctrl_tbl_rev3\(_[1-3]\)\?\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_n.c
-    defsnc 'const[ ]u16[ ]mcs_tbl_rev3\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_n.c
-    defsnc 'const[ ]u16[ ]papd_comp_rfpwr_tbl_core[01]_rev3\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_n.c
-    defsnc 'const[ ]u32[ ]papd_\(comp_epsilon\|cal_scalars\)_tbl_core[01]_rev[37]\[\][ ]=' drivers/staging/brcm80211/phy/wlc_phytbl_n.c
-    blobname 'brcm[/]bcm43xx' drivers/staging/brcm80211/sys/wl_mac80211.c
-    blobname '%s\(_hdr\)\?-%d\.fw' drivers/staging/brcm80211/sys/wl_mac80211.c
-    defsnc 'static[ ]const[ ]u8[ ]crc8_table\[256\][ ]=' drivers/staging/brcm80211/util/bcmutils.c
-    defsnc 'static[ ]const[ ]u16[ ]crc16_table\[256\][ ]=' drivers/staging/brcm80211/util/bcmutils.c
-    defsnc 'static[ ]const[ ]u32[ ]crc32_table\[256\][ ]=' drivers/staging/brcm80211/util/bcmutils.c
-    defsnc 'static[ ]const[ ]pmu0_xtaltab0_t[ ]pmu0_xtaltab0\[\][ ]=' drivers/staging/brcm80211/util/hndpmu.c
-    defsnc 'static[ ]const[ ]pmu1_xtaltab0_t[ ]pmu1_xtaltab0\(_880\(_4329\)\?\|_1760\|_1440\|_960\)\[\][ ]=' drivers/staging/brcm80211/util/hndpmu.c
-    defsnc 'static[ ]const[ ]s16[ ]log_table\[\][ ]=' drivers/staging/brcm80211/util/qmath.c
-    blobname 'ft[12]000\.img' drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
-    blobname 'ft3000\.img' drivers/staging/ft1000/ft1000-usb/ft1000_hw.c
-    defsnc '[ ][ ][ ][ ]u8[ ]ConnectionMsg\[\][ ]='  drivers/staging/ft1000/ft1000-usb/ft1000_chdev.c
-    blobname 'fw_sst_0\(80a\|82f\)\.bin' drivers/staging/intel_sst/intel_sst_common.h
-    # This appends a .bin extension, but without loading the firmware
-    # above, it will never arise, so leave it alone for now.
-    accept '[	]len[ ][+]=[ ]snprintf[(]buf[ ][+][ ]len[,][ ]sizeof[(]buf[)][ ]-[ ]len,[ ]["][.]bin["][)][;]' drivers/staging/intel_sst/intel_sst_dsp.c
-    defsnc '[	]struct[ ]sc_reg_access[ ]\(sc_acces[,][ ]\)\?sc_access\[\][ ]=' 'drivers/staging/intel_sst/intelmid_v[012]_control\.c'
-    defsnc '[	]BYTE[ ]data_ptr\[36\][ ]=' 'drivers/staging/keucr/\(ms\|s[dm]\)scsi\.c'
-    defsnc 'static[ ]BYTE[ ]ecctable\[256\][ ]=' drivers/staging/keucr/smilecc.c
-    defsnc 'static[ ]u8[ ]MAC_REG_TABLE\[\]\[2\][ ]=' drivers/staging/rtl8187se/r8185b_init.c
-    defsnc 'static[ ]u8[ ][ ]*ZEBRA_AGC\[\][ 	]=' drivers/staging/rtl8187se/r8185b_init.c
-    defsnc 'static[ ]u32[ ]ZEBRA_RF_RX_GAIN_TABLE\[\][ 	]=' drivers/staging/rtl8187se/r8185b_init.c
-    blob 'static[ ]const[ ]unsigned[ ]char[ ]f_array\[122328\][ ]=[ ][{]'"$sepx$blobpat*"',[\n][}][;]' drivers/staging/rtl8712/farray.h
-    blob 'static[ ]u32[ ]rtl871x_open_fw[(][^)]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*f_array\([\n]\+[^\n}][^\n]*\)*[^\n]*[\n]\+[}]' drivers/staging/rtl8712/hal_init.c
-    defsnc 'static[ ]const[ ]long[ ]frequency_list\[\][ ]=' drivers/staging/rtl8712/rtl871x_ioctl_linux.c
-    defsnc 'static[ ]const[ ]unsigned[ ]short[ ]Sbox1\[2\]\[256\][ ]=' drivers/staging/rtl8712/rtl871x_security.c
-    defsnc 'static[ ]const[ ]u8[ ]sbox_table\[256\][ ]=' drivers/staging/rtl8712/rtl871x_security.c
-    accept '[	]119,[ ]62,[ ]6,[\n][	]0,[ ]16,[ ]20,[ ]17,[ ]32,[ ]48,[ ]0,\([\n][	][0-9]\+,\([ ][0-9]\+,\)*\)*[\n][	]0,[ ]119' drivers/staging/speakup/speakupmap.h
-    defsnc 'static[ ]u32[ ]\(h_prescale\|v_gain\)\[64\][ ]=' drivers/staging/stradis/stradis.c
-    accept '[/][*][ ]*\([ 1-4][0-9][ ][ ]\)*\(5[0-6][ ][ ]\)*[*][/]' drivers/staging/vt6656/channel.c
-    blobname 'west[ ]bridge[ ]fw' drivers/staging/westbridge/astoria/device/cyasdevice.c
-    defsnc 'static[ ]const[ ]u8[ ]gsm_fcs8\[256\][ ]=' drivers/tty/n_gsm.c
-    defsnc '[	]static[ ]const[ ]struct[ ]dispc_v_coef[ ]coef_v\(up\|down\)_3tap\[8\][ ]=' drivers/video/omap2/dss/dispc.c
-    blobname 'c[bt]fw_\(fc\|cna\)\.bin' drivers/scsi/bfa/bfad_im.h
-    # Above is for patterns new in 2.6.37, below is for older patterns.
-    defsnc 'static[ ]u32[ ]epll_div\[\]\[5\][ ]=' arch/arm/mach-s5p6440/clock.c
-    defsnc 'static[ ]struct[ ]clk_pll_table[ ]tegra_pll_[pxm]_table\[\][ ]=' arch/arm/mach-tegra/tegra2_clocks.c
-    blobname '\(bnx2x[/]\)\?bnx2x-e[12]h\?-["][ ]FW_FILE_VERSION[ ]["]\.fw' 'drivers/net/\(bnx2x/\)\?bnx2x_main\.c'
-    blobname '\(bnx2x[/]\)\?bnx2x-e[12]h\?-\([0-9.%d]*\.fw\)\?' 'drivers/net/\(bnx2x/\)\?bnx2x_main\.c'
-    blobname 'v4l-cx23885-enc\.fw' 'drivers/media/video/cx23\(1xx\|885\)/cx23885-417.c'
-    defsnc 'static[ ]const[ ]u8[ ]\(adcm1700\|om6802\|po1030\)_sensor_\(init\|param1\)\[\]\[8\][ ]=' drivers/media/video/gspca/sonixj.c
-    defsnc 'static[ ]\(const[ ]\)\?\(__\)\?u8[ ]\(mt9v111\|sp80708\|hv7131r\|mi0360b\?\|mo4000\|ov76\([36]0\|48\)\|om6802\|po1030\)_sensor_\(init\|param1\)\[\]\[8\][ ]=' drivers/media/video/gspca/sonixj.c
-    accept '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]int[ ]be_load_fw[(][^\n;{]*[)][*][/][;][\n][^\n]*\([\n]\+[^\n}][^\n]*\)*request_firmware' drivers/net/benet/be_main.c
-    accept 'MODULE_FIRMWARE[(]["]ar9170\(-[12]\)\?\.fw["][)][;]\([\n]MODULE_FIRMWARE[(]["]ar9170\(-[12]\)\?\.fw["][)][;]\)*' drivers/net/wireless/ar9170/usb.c
-    initnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]const[ ]u32[ ]ar9300Modes_\(\(low\(est\)\?\|high\)_ob_db\|high_power\)_tx_gain_table_2p[02]\[\]\[5\][ ]=\([ ][{][*][/][;]\)\?' 'drivers/net/wireless/ath/ath9k/ar9003_\(2p[02]_\)\?initvals\.h'
-    initnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]const[ ]u32[ ]ar9300_2p[02]_\(radio\|mac\|baseband\)_postamble\[\]\[5\][ ]=\([ ][{][*][/][;]\)\?' 'drivers/net/wireless/ath/ath9k/ar9003_\(2p[02]_\)\?initvals\.h'
-    initnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]const[ ]u32[ ]ar9\(300\|200_merlin\)_2p[02]_\(radio\|mac\|baseband\)_core\[\]\[2\][ ]=\([ ][{][*][/][;]\)\?' 'drivers/net/wireless/ath/ath9k/ar9003_\(2p[02]_\)\?initvals\.h'
-    accept '#define\([ ]_\?IWL\(4965\|[156]000\(G2[AB]\)\?\|1[03]0\|5150\|6050\)_MODULE_FIRMWARE[(]api[)]\)\+' 'drivers/net/iwlwifi/iwl-\([156]000\|4965\)\.c'
-    blobname 'iwlwifi-\(3945\|4965\|[156]000\(G2[AB]\)\?\|1[03]0\|6050\)["][ ]IWL\(3945\|4965\|[156]000\(G2[AB]\)\?\|1[03]0\|6050\)_UCODE_API[ ]["]\.ucode' 'drivers/net/iwlwifi/iwl\(3945-base\|-\(3945\|4965\|[156]000\)\)\.[ch]'
-    blobname '%s%[dus]%s["],[\n 	]*name_pre,[ ]\(\(priv->fw_\)\?index\|tag\),[ ]["]\.ucode' 'drivers/net/iwlwifi/iwl\(3945-base\|-agn\).c'
-    blobname 'libertas_cs\(_helper\)\?\.fw' drivers/net/wireless/libertas/if_cs.c
-    blobname 'sd\(8385\|868[68]\)\(_helper\)\?\.bin\(["],[\n][	]*\.firmware[ 	]=[ ]["]sd\(8385\|868[68]\)\.bin\)\?' 'drivers/\(net/wireless/libertas/if_sdio\.c\|bluetooth/btmrvl_sdio\.c\)'
-    blobname 'wl1251-\(fw\|nvs\)\.bin' 'drivers/net/wireless/wl12\(51\|xx\)/wl1251.h'
-    defsnc 'static[ ]int[ ]sh_clk_div6_divisors\[64\][ ]=' '\(arch/sh/kernel/cpu/clock-\|drivers/sh/clk/\)cpg\.c'
-    defsnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?\(static[ ]\)\?\(UCHAR\|unsigned[ ]char\)[ ]XGI340_CR6F\[8\]\[32\][ ]*=\([ ][{][*][/][;]\)\?' drivers/staging/xgifb/vb_table.h
-    defsnc 'static[ ]unsigned[ ]short[ ]translations\[\]\[256\][ ]=' drivers/tty/vt/consolemap.c
-    defsnc 'u_short[ ]\(plain\|shift\(_ctrl\)\?\|alt\(gr\)\?\|ctrl\(_alt\)\?\)_map\[NR_KEYS\][ ]*=' drivers/tty/vt/defkeymap.c_shipped
-    defsnc 'static[ ]const[ ]unsigned[ ]short[ ]x86_keycodes\[256\][ ]=' drivers/tty/vt/keyboard.c
-    defsnc '\([	]\)\?static[ ]\(const[ ]\)\?\(unsigned[ ]\(short\|char\)\|struct[ ]SiS_[^ ]*\)[ ]SiS[^[]*\(\[[][ *0-9]*\]\)\+[ ]*='
-    defsnc '[ ][ ]static[ ]unsigned[ ]char[ ]asso_values\[\][ ]=' scripts/kconfig/zconf.hash.c_shipped
-    defsnc 'static[ ]const[ ]yytype_u\?int\(8\|16\)[ ]yy[^\n []*\[\][ ]=' '.*\.lex\.c_shipped'
-    initnc '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]static[ ]const[ ]yytype_u\?int\(8\|16\)[ ]yy[^\n []*\[\][ ]=[*][/][;]' '.*\.tab\.c_shipped'
-    blobname 'TIInit_\(\(%d\|[0-9]\+\)[.]\)\+bts' drivers/staging/ti-st/st_kim.c
-    blob '#define[ ]BCM_5710_FW_\(\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION\|COMPILE_FLAGS\)[ 	]*[0-9]\+\([\n]#define[ ]BCM_5710_FW_\(\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION\|COMPILE_FLAGS\)[ 	]*[0-9]\+\)*' 'drivers/net/\(bnx2x[/]\)\?bnx2x_hsi\.h'
-    blob 'static[ ]int[ ]\(__devinit[ ]\)\?bnx2x_check_firmware[(]struct[ ]bnx2x[ ][*]bp[)][\n][{][^\n]*\([\n]\+[^\n}][^\n]*\)*[\n]\+[}]' 'drivers/net/\(bnx2x[/]\)\?bnx2x_main\.c'
-    blobna 'rc[ ]=[ ]bnx2x_check_firmware[(]bp[)][;]' 'drivers/net/\(bnx2x[/]\)\?bnx2x_main\.c'
-    defsnc 'static[ ]u8[ ]af9015_ir_table_\(leadtek\|twinhan\|a_link\|msi\|mygictv\|kworld\)\[\][ ]=' drivers/media/dvb/dvb-usb/af9015.h
-    defsnc 'static[ ]u8[ ]af9015_ir_table_\(avermedia\(_ks\)\?\|digittrade\|trekstor\)\[\][ ]=' drivers/media/dvb/dvb-usb/af9015.h
-    defsnc '[	]static[ ]__u8[ ]lgdt3304_\(vsb8\|qam\(64\|256\)\)_data\[\][ ]=' drivers/media/dvb/frontends/lgdt3304.c
-    defsnc 'static[ ]const[ ]u32[ ]ar9300Common_\(wo_xlna_\)\?rx_gain_table_\(merlin_\)\?2p[02]\[\]\[2\][ ]=' 'drivers/net/wireless/ath/ath9k/ar9003_\(2p[02]_\)\?initvals\.h'
-    accept '[	]*card->firmware[ ]=[ ]\(if_sdio\|lbs_fw\|fw_name\)' drivers/net/wireless/libertas/if_sdio.c
-    defsnc '\(preview_snapshot_mode\|noise_reduction\)_reg_settings_array\[\][ ]=' drivers/staging/dream/camera/mt9d112_reg.c
-    defsnc 'u16_t[ ]zgTkipSbox\(Lower\|Upper\)\[256\][ ]=' drivers/staging/otus/80211core/ctkip.c
-    accept '[ 	]*[/][*][ ]*0\([ ]*[123]\)*[ ]*[*][/][\n][ 	]*[/][*][ ]0[ ]1[ ]2[ ]3[ ]4[ ]5[ ]6[ ]7[ ]8[ ]9\([ ][0-9]\)*[ ][*][/]' drivers/staging/otus/80211core/ctxrx.c
-    defsnc 'u32_t[ ]crc32_tab\[\][ ]=' drivers/staging/otus/80211core/cwep.c
-    blob 'extern[ ]const[ ]u32_t[ ]zc\(DK\|P2\)\?Fw\(Buf\)\?Image\(SPI\)\?\(\[\]\|Size\)[;]\([\n]extern[ ]const[ ]u32_t[ ]zc\(DK\|P2\)\?Fw\(Buf\)\?Image\(SPI\)\?\(\[\]\|Size\)[;]\)*' drivers/staging/otus/hal/hpmain.c
-    defsnc '[ ][ ][ ][ ]u32_t[ ]eepromBoardData\[15\]\[6\][ ]=' drivers/staging/otus/hal/hpmain.c
-    defsnc 'static[ ]const[ ]u32_t[ ]\(ar5416Modes\|otusBank\)\[\]\[[36]\][ ]=' drivers/staging/otus/hal/otus.ini
-    defsnc 'static[ ]const[ ]u32_t[ ]channel_frequency_11A\[\][ ]=' drivers/staging/otus/ioctl.c
-    defsnc '[ ]\?static[ ]u\(8\|32\)[ ]\(MAC_REG_TABLE\[\]\[2\]\|[ ]*ZEBRA_\(AGC\|RF_RX_GAIN_TABLE\)\[\]\|OFDM_CONFIG\[\]\)=' drivers/staging/rtl8187se/r8185b_init.c
-    defsnc 'static[ ]const[ ]u16[ ]Sbox\[256\][ ]=' drivers/net/wireless/rtl8187b/ieee80211/ieee80211_crypt_tkip.c
-    defsnc 'u16[ ]MCS_DATA_RATE\[2\]\[2\]\[77\][ ]=' 'drivers/staging/\(rtl8192su/ieee80211/rtl819x_HTProc\.c\|rtl8192u/r819xU_firmware\.c\)'
-    defsnc 'u32[ ]Rtl8192SU\(PHY_\(REG\|ChangeTo\)_\([12]T[12]R\)\?\|Radio[AB]_\(\(\(to\)\?[12]T\|GM\)_\)\?\|MAC\(PHY\|_[12]T\)_\|AGCTAB_\)Array\(_PG\)\?\[\(PHY_\(REG\|ChangeTo\)_\([12]T[12]R\)\?\|Radio[AB]_\(\(\(to\)\?[12]T\|GM\)_\)\?\|MAC\(PHY\|_[12]T\)_\|AGCTAB_\)Array\(_PG\)\?Length\][ ]=' drivers/staging/rtl8192su/rtl92SU_HWImg.c
-    blob '[/][*][^*]*\([*]\+[^/*][^*]*\)*[*]*RTL8192SU[/]rtl1892swf\.bin[^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]' drivers/staging/rtl8192su/r8192S_firmware.c
-    blob 'u8[ ]Rtl8192SUFw\(Img\|Main\|Data\)Array\[\(Img\|Main\|Data\)ArrayLength\][ ]=[ ][{]'"$sepx$blobpat*$sepx"'[}][;]\([\n][\n]*u8[ ]Rtl8192SUFw\(Img\|Main\|Data\)Array\[\(Img\|Main\|Data\)ArrayLength\][ ]=[ ][{]'"$sepx$blobpat*$sepx"'[}][;]\)*' drivers/staging/rtl8192su/r8192SU_HWImg.c
-    blobname 'RTL8192SU[/]\(rtl8192sfw\.bin\|\(boot\|main\|data\)\.img\)' drivers/staging/rtl8192su/r8192S_firmware.c
-    blobna 'case[ ]FW_SOURCE_HEADER_FILE:[\n]#if[ ]1[\n]#define[^#]*[\n]#endif[\n][	][	][	]break[;]' drivers/staging/rtl8192su/r8192S_firmware.c
-    blobna '\([&]\|sizeof[(]\)rtl8190_fw\(boot\|main\|data\)_array\(\[0\]\|[)]\)\(,[ 	\n]*\([&]\|sizeof[(]\)rtl8190_fw\(boot\|main\|data\)_array\(\[0\]\|[)]\)\)*' 'drivers/staging/rtl8192su/r819\(2S\|xU\)_firmware\.c'
-    initnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]const[ ]u8[ ]\(gc0307\|po2030n\)_sensor_\(init\|param1\)\[\]\[8\][ ]\(=[ ][{]\)\?\([*][/][;]\)\?' drivers/media/video/gspca/sonixj.c
-    accept '[*][ ]drivers[/]staging[/]ft1000[/]ft1000-\(pcmcia\|usb\)[/]ft[13]000\.img:[ ]Removed\.' 'patch-libre.*'
-    initc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]const[ ]struct[ ]ar9300_eeprom[ ]ar9300_default[ ]=\([ ][{][*][/][;]\)\?' drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
-    defsnc 'static[ ]const[ ]u16[ ]wm8753_reg\[\][ ]=' sound/soc/codecs/wm8753.c
-    ;;
-
-  */patch*-2.6.36.*)
-    initnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]const[ ]u32[ ]ar9300_2p[02]_\(radio\|mac\|baseband\)_postamble\[\]\[5\][ ]=\([ ][{][*][/][;]\)\?' 'drivers/net/wireless/ath/ath9k/ar9003_\(2p[02]_\)\?initvals\.h'
-    initnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]const[ ]u32[ ]ar9300Modes_\(\(low\(est\)\?\|high\)_ob_db\|high_power\)_tx_gain_table_2p[02]\[\]\[5\][ ]=\([ ][{][*][/][;]\)\?' 'drivers/net/wireless/ath/ath9k/ar9003_\(2p[02]_\)\?initvals\.h'
-    initnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]const[ ]u32[ ]ar9\(300\|200_merlin\)_2p[02]_\(radio\|mac\|baseband\)_core\[\]\[2\][ ]=\([ ][{][*][/][;]\)\?' 'drivers/net/wireless/ath/ath9k/ar9003_\(2p[02]_\)\?initvals\.h'
-    ;;
-
-  */patch*-2.6.36-rc*)
-    accept 'FIRMWARE[ ]LOADER[ ][(]request_firmware[)]' MAINTAINERS
-    defsnc 'static[ ]const[ ]unsigned[ ]char[ ]__\(cpu\)\?initdata[ ]mV_vrm85\[32\][ ]=' arch/x86/kernel/cpu/cpufreq/longhaul.h
-    accept '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?\(static[ ]int[\n ]\)\?_request_firmware[(]const[ ]struct[ ]firmware[ ][*][*]firmware_p,' drivers/base/firmware_class.c
-    accept 'static[ ]int[\n ]request_firmware_work_func[(]void[ ][*]arg[)][\n][{]\([\n]\+[^\n}][^\n]*\)*ret[ ]=[ ]_request_firmware[(][^\n]*\([\n]\+[^\n}][^\n]*\)*[\n]\+[}][\n]' drivers/base/firmware_class.c
-    accept '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?request_firmware_nowait[(]' drivers/base/firmware_class.c
-    accept '[	]task[ ]=[ ]kthread_run[(]request_firmware_work_func' drivers/base/firmware_class.c
-    defsnc '[	]*static[ ]const[ ]char[ ]sha256_zero\[SHA256_DIGEST_SIZE\][ ]=' drivers/crypto/n2_core.c
-    defsnc '[}][ ]est3_modes\[\][ ]=' drivers/gpu/drm/drm_edid.c
-    initnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?const[ ]u32[ ]r[67]xx_default_state\[\][ ]=\([*][/][;]\)\?' drivers/gpu/drm/radeon/r600_blit_shaders.c
-    blobname 'dvb-usb-p7500\.fw' drivers/media/dvb/dvb-usb/dw2102.c
-    blobname 'dvb-usb-\(\(megasky\|digivox\)-02\|tvwalkert\|dposh-01\)\.fw' drivers/media/dvb/dvb-usb/m920x.c
-    initnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]struct[ ]regdesc[ ]\(ofsm_init\|tuner_init_\(env77h11d5\|mt2060\(_2\)\?\|mxl500\(3d\|5\)\|qt1010\|mc44s803\|unknown\|tda18271\)\)\[\][ ]=\([ ][{][*][/][;]\)\?' drivers/media/dvb/frontends/af9013_priv.h
-    blobname 'sms1xxx-hcw-55xxx-i\?sdbt-02\.fw' drivers/media/dvb/siano/sms-cards.c
-    blobname 'sms1xxx-\(stellar\|nova-[ab]\|hcw-55xxx\)-dvbt-0[12]\.fw' drivers/media/dvb/siano/sms-cards.c
-    initc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]struct[ ]idxdata[ ]tbl_common\(_[a-e]\|5\|_\?3B\?\)\[\][ ]=\([ ][{][*][/][;]\)\?' 'drivers/media/video/gspca/gl860/gl860-\(mi2020\|mi1320\|ov9655\|ov2640\)\.c'
-    blobname 'bnx2[/]bnx2-\(mips\|rv2p\)-[-0-9a-z.]*\.fw' drivers/net/bnx2.c
-    defsnc 'static[ ]const[ ]struct[ ]arb_line[ ]read_arb_data\[NUM_RD_Q\]\[MAX_RD_ORD[ ][+][ ]1\][ ]=' drivers/net/bnx2x/bnx2x_init_opts.h
-    defsnc 'static[ ]const[ ]struct[ ]arb_line[ ]write_arb_data\[NUM_WR_Q\]\[MAX_WR_ORD[ ][+][ ]1\][ ]=' drivers/net/bnx2x/bnx2x_init_opts.h
-    blob '#define[ ]FW_FILE_VERSION\([	]*[\\][\n][	]__stringify[(]BCM_5710_FW_\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION[)]\([ ]["][.]["]\)\?\)\+' 'drivers/net/\(bnx2x/\)\?bnx2x_main\.c'
-    blobname 'bnx2x-e1h\?-["][ ]FW_FILE_VERSION[ ]["]\.fw' 'drivers/net/\(bnx2x/\)\?bnx2x_main\.c'
-    blobname 'bnx2x-e1h\?-\([0-9.%d]*\.fw\)\?' 'drivers/net/\(bnx2x/\)\?bnx2x_main\.c'
-    initnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]void[ ]get_regs[(]struct[ ]net_device[ ][*]dev,\([^\n]*[*][/][;]\)\?' drivers/net/cxgb4/cxgb4_main.c
-    defsnc 'static[ ]\(const[ ]\)\?u32[ ]ar\(5416\|9280\)\(Modes\(_fast_clock\)\?\|Common\|BB_RfGain\|Bank6\(TPC\)\?\|Addac\)\(_91[06]0\(_\?1_1\)\?\|_9280\(_2\)\?\)\?\[\]\[[236]\][ ]=' 'drivers/net/wireless/ath9k/\(ar\(5008\|9001\)_\)\?initvals\.h'
-    defsnc 'static[ ]\(const[ ]\)\?u\(32\|_int32_t\)[ ]ar928[05]\(Common\|Modes\(_\(fast_clock\|backoff_[12]3db_rxgain\|\(original\|high_power\)_[tr]x_\?gain\)\)\?\)_928\(0_2\|5\(_1_2\)\?\)\[\]\[[236]\][ ]=' 'drivers/net/wireless/ath9k/\(ar9002_\)\?initvals\.h'
-    defsnc 'static[ ]const[ ]u32[ ]ar928\(5Modes_XE2\|7Modes_9287_1\)_0_\(normal\|high\)_power\[\]\[6\][ ]=' drivers/net/wireless/ath/ath9k/ar9002_initvals.h
-    defsnc 'static[ ]const[ ]u32[ ]ar92\(87Common_9287_1_[01]\|71Common_9271\)\[\]\[2\][ ]=' drivers/net/wireless/ath/ath9k/ar9002_initvals.h
-    defsnc 'static[ ]const[ ]u32[ ]ar92\(87\|71\)Modes_\(\(normal\|high\)_power_\)\?\([tr]x_gain_\)\?92\(87_1_[01]\|71\(_ANI_reg\)\?\)\[\]\[6\][ ]=' drivers/net/wireless/ath/ath9k/ar9002_initvals.h
-    defsnc 'static[ ]const[ ]u32[ ]ar9300_2p[02]_\(radio\|mac\|baseband\)_postamble\[\]\[5\][ ]=' 'drivers/net/wireless/ath/ath9k/ar9003_\(2p[02]_\)\?initvals\.h'
-    defsnc 'static[ ]const[ ]u32[ ]ar9300Modes_\(\(low\(est\)\?\|high\)_ob_db\|high_power\)_tx_gain_table_2p[02]\[\]\[5\][ ]=' 'drivers/net/wireless/ath/ath9k/ar9003_\(2p[02]_\)\?initvals\.h'
-    defsnc 'static[ ]const[ ]u32[ ]ar9\(300\|200_merlin\)_2p[02]_\(radio\|mac\|baseband\)_core\[\]\[2\][ ]=' 'drivers/net/wireless/ath/ath9k/ar9003_\(2p[02]_\)\?initvals\.h'
-    defsnc 'static[ ]const[ ]u32[ ]ar9300Common_\(wo_xlna_\)\?rx_gain_table_\(merlin_\)\?2p[02]\[\]\[2\][ ]=' 'drivers/net/wireless/ath/ath9k/ar9003_\(2p[02]_\)\?initvals\.h'
-    accept 'static[ ]int[ ]ipw2100_mod_firmware_load[(]' 'drivers/net/wireless/\(ipw2x00/\)\?ipw2100\.c'
-    accept '[	]*card->firmware[ ]=[ ]\(if_sdio\|lbs_fw\|fw_name\)' drivers/net/wireless/libertas/if_sdio.c
-    blobname 'rt\(28[67]0\|30[79][01]\)\.bin' drivers/staging/rt2860/common/rtmp_mcu.c
-    blob '#define[ ]BCM_5710_FW_\(\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION\|COMPILE_FLAGS\)[ 	]*[0-9]\+\([\n]#define[ ]BCM_5710_FW_\(\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION\|COMPILE_FLAGS\)[ 	]*[0-9]\+\)*' 'drivers/net/\(bnx2x[/]\)\?bnx2x_hsi\.h'
-    blob 'static[ ]int[ ]__devinit[ ]bnx2x_check_firmware[(]struct[ ]bnx2x[ ][*]bp[)][\n][{][^\n]*\([\n]\+[^\n}][^\n]*\)*[\n]\+[}]' 'drivers/net/\(bnx2x[/]\)\?bnx2x_main\.c'
-    blobna 'if[ ][(][(]fw_ver\[[0-3]\][ ]!=[ ]BCM_5710_FW_\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION[)]\([ ][|][|][\n][ 	]*[(]fw_ver\[[0-3]\][ ]!=[ ]BCM_5710_FW_\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION[)]\)*[)][ ][{][^{}]*[}]' 'drivers/net/\(bnx2x[/]\)\?bnx2x_main\.c'
-    blobna 'sprintf[(]fw_file_name[ ][+][ ]offset,[ ]["]%d[.]%d[.]%d[.]%d[.]fw["]\(,[\n][ 	]*BCM_5710_FW_\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION\)*[)][;]' 'drivers/net/\(bnx2x[/]\)\?bnx2x_main\.c'
-    blobna 'rc[ ]=[ ]bnx2x_check_firmware[(]bp[)][;]' 'drivers/net/\(bnx2x[/]\)\?bnx2x_main\.c'
-    defsnc '\(static[ ]\)\?struct[ ]crb_128M_2M_block_map[ ]crb_128M_2M_map\[64\][ ]=' 'drivers/scsi/\(qla2xxx/qla_nx\.c\|qla4xxx/ql4_nx\.c\)'
-    defsnc 'u16[ ]MCS_DATA_RATE\[2\]\[2\]\[77\][ ]=' 'drivers/staging/\(rtl8192su/ieee80211/rtl819x_HTProc\.c\|rtl8192u/r819xU_firmware\.c\)'
-    defsnc 'u32[ ]Rtl8192SU\(PHY_\(REG\|ChangeTo\)_\([12]T[12]R\)\?\|Radio[AB]_\(\(\(to\)\?[12]T\|GM\)_\)\?\|MAC\(PHY\|_[12]T\)_\|AGCTAB_\)Array\(_PG\)\?\[\(PHY_\(REG\|ChangeTo\)_\([12]T[12]R\)\?\|Radio[AB]_\(\(\(to\)\?[12]T\|GM\)_\)\?\|MAC\(PHY\|_[12]T\)_\|AGCTAB_\)Array\(_PG\)\?Length\][ ]=' drivers/staging/rtl8192su/rtl92SU_HWImg.c
-    defsnc '[}][ ]*ChannelRuleTab\[\][ ]=' drivers/staging/vt6656/channel.c
-    defsnc '\(USHORT\|unsigned[ ]short\)[ ]XGINew_DRAMType\[17\]\[5\][ ]*=' 'drivers/staging/xgifb/\(vb_table\.h\|vb_init\.c\)'
-    defsnc '\(USHORT\|unsigned[ ]short\)[ ]XGINew_SDRDRAM_TYPE\[13\]\[5\][ ]*=' 'drivers/staging/xgifb/\(vb_table\.h\|vb_init\.c\)'
-    defsnc '\(USHORT\|unsigned[ ]short\)[ ]XGINew_DDRDRAM_TYPE20\[12\]\[5\][ ]*=' 'drivers/staging/xgifb/\(vb_table\.h\|vb_init\.c\)'
-    defsnc '\(USHORT\|unsigned[ ]short\)[ ]XGINew_\(MD\|[CEV]G\)A_DAC\[\][ ]*=' drivers/staging/xgifb/vb_setmode.c
-    initnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?\(UCHAR\|unsigned[ ]char\)[ ]XGI340_CR6F\[8\]\[32\][ ]*=\([{][*][/][;]\)\?' drivers/staging/xgifb/vb_table.h 
-    blobname 'sd\(8385\|868[68]\)\(_helper\)\?\.bin' 'drivers/\(net/wireless/libertas/if_sdio\.c\|bluetooth/btmrvl_sdio\.c\)'
-    accept '[	]p7500->firmware[ ]=' drivers/media/dvb/dvb-usb/dw2102.c
-    blobname 'dvb-usb-p7500\.fw' drivers/media/dvb/dvb-usb/dw2102.c
-    accept '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]struct[ ]dvb_usb_device_properties[ ]\(megasky\|digivox_mini_ii\|tvwalkertwin\|dposh\)_properties[ ]=[ ][{]\([*][/][;]\)\?[\n]\([	]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[	]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/m920x.c
-    blobname 'dvb-usb-\(\(megasky\|digivox\)-02\|tvwalkert\|dposh-01\)\.fw' drivers/media/dvb/dvb-usb/m920x.c
-    defsnc 'static[ ]const[ ]struct[ ]usb_action[ ]\(cs2102\|hdcs2020xx\|icm105a\(xx\)\?\|ov7630c\|mt9v111_[13]\|pb0330\([3x]x\)\?\|mi0360soc\)_Initial\(Scale\)\?\[\][ ]=' drivers/media/video/gspca/zc3xx.c
-    blobname 'myri10ge_\(rss_\)\?ethp\?_z8e\.dat' drivers/net/myri10ge.c
-    blobname 'iwlwifi-6000g2[ab]-' drivers/net/iwlwifi/iwl-6000.c
-    blobname '#api[ ]["]\.ucode["]' 'drivers/net/iwlwifi/iwl-\(3945.h\|\(4965\|[156]000\)\.c\)'
-    blobname 'c[tb]fw\(_\(fc\|cna\)\)\?\.bin' drivers/scsi/bfa/bfad_fwimg.c
-    blobna 'seq_printf[(]seq[,][ ]["][^"]*%s[ ]%s[^"]*["][,][ 	\n]*\(GB_RCV\|MOJAVE_\)UCODE_VERS_STRING[,][ ]\(GB_RCV\|MOJAVE_\)UCODE_VERS_DATE[)][;]\([ 	\n]*seq_printf[(]seq[,][ ]["][^"]*%s[ ]%s[^"]*["][,][ 	\n]*\(GB_RCV\|MOJAVE_\)UCODE_VERS_STRING[,][ ]\(GB_RCV\|MOJAVE_\)UCODE_VERS_DATE[)][;]\)*' drivers/staging/slicoss/slicoss.c
-    blobname 'slicoss[/]\(oasis\|gb\)\(rcvucode\|download\)\.sys' drivers/staging/slicoss/slicoss.c
-    blobname 'CMV[x9ae][yip]\.bin\(\.v2\)\?' drivers/usb/atm/ueagle-atm.c
-    blobname 'v4l-cx2341x-\(enc\|dec\)\.fw' include/media/cr2341x.h
-    blobname 'yam[/]\(12\|96\)00\.bin' drivers/net/hamradio/yam.c
-    blob 'If[ ]you[ ]need[ ]to[ ]use[ ]any[ ]of[ ]the[ ]above[^\n]*download[^:]*:[\n 	]*http:[^\n]*ixp4[^\n]*' Documentation/arm/IXP4xx
-    # New in 2.6.36-rc3:
-    defsnc 'static[ ]struct[ ]clk_pll_table[ ]tegra_pll_[px]_table\[\][ ]=' arch/arm/mach-tegra/tegra2_clocks.c
-    defsnc 'static[ ]struct[ ]nand_ecclayout[ ]qi_lb60_ecclayout_[12]gb[ ]=' arch/mips/jz4740/board-qi_lb60.c
-    blobname 'qt602240\.fw' drivers/input/touchscreen/qt602240_ts.c
-    blobname 'lgs8g75\.fw' drivers/media/dvb/frontends/lgs8gxx.c
-    defsnc 'static[ ]const[ ]struct[ ]ucbus_write_cmd[ ]\(icx098bq\|lz24bp\)_start_[012]\[\][ ]=' drivers/media/video/gspca/sq930x.c
-    defsnc '[}][ ]capconfig\[4\]\[2\][ ]=' drivers/media/video/gspca/sq930x.c
-    defsnc 'static[ ]u8[ ]sa2400_rf_rssi_map\[\][ ]=' drivers/net/wireless/rtl818x/rtl8180_sa2400.c
-    defsnc 'static[ ]const[ ]unsigned[ ]char[ ]pwm_lookup_table\[256\][ ]=' drivers/platform/x86/compal-laptop.c
-    defsnc 'static[ ]int[ ]tps6586x_\(ldo4\|sm2\|dvm\)_voltages\[\][ ]=' drivers/regulator/tps6586x-regulator.c
-    defsnc 'static[ ]const[ ]unsigned[ ]int[ ]muxonechan\[\][ ]=' drivers/staging/comedi/drivers/adv_pci1710.c
-    defsnc 'const[ ]struct[ ]\(stk1160\|saa7113\)config[ ][{][^}]*[}][ ]\(stk1160\|saa7113\)config\[256\][ ]=' drivers/staging/easycap/easycap_low.c
-    defsnc 'int[ ]tones\[2048\][ ]=' drivers/staging/easycap/easycap_testcard.c
-    defsnc 'const[ ]unsigned[ ]char[ ]map_table\[\][ ]=' drivers/staging/lirc/lirc_ttusbir.c
-    defsnc 'static[ ]unsigned[ ]char[ ]jpeg_header\[\][ ]=' drivers/staging/solo6x10/solo6010-jpeg.h
-    defsc 'static[ ]const[ ]unsigned[ ]int[ ]solo_osd_font\[\][ ]=' drivers/staging/solo6x10/solo6010-osd-font.h
-    defsnc '[	]unsigned[ ]char[ ]regs\[128\][ ]=' drivers/staging/solo6x10/solo6010-tw28.c
-    defsnc 'static[ ]unsigned[ ]char[ ]vid_vop_header\[\][ ]=' drivers/staging/solo6x10/solo6010-v4l2-enc.c
-    defsnc 'static[ ]const[ ]u16[ ]rop_\(map1\|action\|info\)\[\][ ]=' drivers/staging/tidspbridge/dynload/reloc_table_c6000.c
-    defsnc 'static[ ]const[ ]u16[ ]tramp_\(map\|action\|info\)\[\][ ]=' drivers/staging/tidspbridge/dynload/tramp_table_c6000.c
-    defsnc 'unsigned[ ]char[ ]\(sbox\|dot[23]\)_table\[256\][ ]=' drivers/staging/vt6655/aes_ccmp.c
-    defsnc 'static[ ]struct[ ]pll_map[ ]pll_value\[\][ ]=' drivers/video/via/hw.c
-    defsnc '[	][	]degrade_factor\[CPU_LOAD_IDX_MAX\]\[DEGRADE_SHIFT[ ][+][ ]1\][ ]=' kernel/sched.c
-    defsnc 'static[ ]const[ ]unsigned[ ]char[ ]expected_result\[FIFO_SIZE\][ ]=' samples/kfifo/bytestream-example.c
-    defsnc 'static[ ]const[ ]int[ ]expected_result\[FIFO_SIZE\][ ]=' samples/kfifo/inttype-example.c
-    blobname 'haup-ir-blaster\.bin' drivers/input/lirc/lirc_zilog.c
-    ;;
-
-  */hid-support*.patch)
-    initnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]const[ ]unsigned[ ]char[ ]hid_keyboard\[256\][ ]=\([ ][{][*][/][;]\)\?' drivers/hid/hid-input.c
-    ;;
-
-  */sched*)
-    accept 'CPU[ ]\+before[ ]\+after[\n]\([\n][01][0-9][ ]\+:[ ][0-9]\+[ ]\+:[ ][67]\)*'
-    defsnc '[	][	]degrade_factor\[CPU_LOAD_IDX_MAX\]\[DEGRADE_SHIFT[ ][+][ ]1\][ ]=' kernel/sched.c
-    accept '\(All[ ]CPUS[ ]idle[ ]for[ ]10[ ]seconds[ ][(]HZ=1000[)]\|One[ ]CPU[ ]busy[ ]rest[ ]idle[ ]for[ ]10[ ]seconds\|All[ ]CPUs[ ]busy[ ]for[ ]10[ ]seconds\)[\n][0-9 \n]*'
-    accept 'domainstats:[ ]*domain0[\n][ ]*cpu[ ]*cnt[ ]*bln[ ]*fld[ ]*imb[ ]*gain[ ]*hgain[ ]*nobusyq[ ]*nobusyg[\n 0-9:]*'    
-    ;;
-
-  */*-loongson.patch)
-    defsnc 'static[ ]const[ ]u16[ ]Sbox\[256\][ ]=' drivers/net/wireless/rtl8187b/ieee80211/ieee80211_crypt_tkip.c
-    defsnc 'u16[ ]rtl8225bcd_rxgain\[\]=' drivers/net/wireless/rtl8187b/r8180_rtl8225.c
-    defsnc 'u8[ ]rtl8225_tx_power_cck\(_ch14\)\?\[\]=' drivers/net/wireless/rtl8187b/r8180_rtl8225.c
-    defsnc 'u8[ ]rtl8225_agc\[\]=' drivers/net/wireless/rtl8187b/r8180_rtl8225.c
-    defsnc 'static[ ]u32[ ]MAC_REG_TABLE\[\]\[3\]=' drivers/net/wireless/rtl8187b/r8180_rtl8225z2.c
-    defsnc 'static[ ]u8[ ][ ]*ZEBRA_AGC\[\]=' drivers/net/wireless/rtl8187b/r8180_rtl8225z2.c
-    defsnc 'static[ ]u32[ ]ZEBRA_RF_RX_GAIN_TABLE\[\]=' drivers/net/wireless/rtl8187b/r8180_rtl8225z2.c
-    defsnc 'u8[ ]ZEBRA2_CCK_OFDM_GAIN_SETTING\[\]=' drivers/net/wireless/rtl8187b/r8180_rtl8225z2.c
-    defsnc 'u16[ ]rtl8225z2_rxgain\[\]=' drivers/net/wireless/rtl8187b/r8180_rtl8225z2.c
-    defsnc 'u8[ ]rtl8225z2_tx_power_cck\(_ch14\)\?\[\]=' drivers/net/wireless/rtl8187b/r8180_rtl8225z2.c
-    defsnc 'static[ ]struct[ ]vesa_mode_table[ ]vesa_mode\[\][ ]=' drivers/staging/sm7xx/smtcfb.c
-    defsnc 'struct[ ]ModeInit[ ]VGAMode\[\][ ]=' drivers/staging/sm7xx/smtcfb.h
-    ;;
-
-  */patch*-2.6.34-rc*)
-    # New in 2.6.34, should be duplicated in the main pattern set.
-    blobname 'cxgb4[/]t4fw\.bin' drivers/net/cxgb4/cxgb4_main.c
-    defsnc '[	]static[ ]const[ ]unsigned[ ]int[ ]reg_ranges\[\][ ]=' drivers/net/cxgb4/cxgb4_main.c
-    defsnc '[	]static[ ]const[ ]unsigned[ ]int[ ]avg_pkts\[NCCTRL_WIN\][ ]=' drivers/net/cxgb4/t4_hw.c
-    # above in -rc5
-    defsnc 'static[ ]u32[ ]epll_div\[\]\[5\][ ]=' arch/arm/mach-s5p6440/clock.c
-    accept '[	]aru->firmware[ ]=[ ]fw[;]' drivers/net/wireless/ath/ar9170/usb.c
-    accept '[	]err[ ]=[ ]request_firmware[(][&]fw_entry,[ ]["]broadsheet\.wbf["],[ ]dev[)][;]' drivers/video/broadsheetfb.c
-    # above in -rc2, below in -rc1
-    accept '#[ ]\(Usage:[ ]cxacru-cf\.py[ ][<]\|Warning:\|Note:[ ]support[ ]for\)[ ]cxacru-cf\.bin' 'Documentation/networking/cxacru\(-cf\.py\|\.txt\)'
-    defsnc 'static[ ]struct[ ]cdce_reg[ ]cdce_y1_27000\[\][ ]=' arch/arm/mach-davinci/cdce949.c
-    defsnc '[	]u16[ ]map\[\][ ]=' drivers/hwmon/asc7621.c
-    accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]az6027_properties[ ]=[ ][{][\n]\([	]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[	]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/az6027.c
-    blobname 'dvb-usb-az6027-03\.fw' drivers/media/dvb/dvb-usb/az6027.c
-    accept '[	]p7500->firmware[ ]=' drivers/media/dvb/dvb-usb/dw2102.c
-    blobname 'dvb-usb-p7500\.fw' drivers/media/dvb/dvb-usb/dw2102.c
-    defsnc 'static[ ]u8[ ]ITUDecoderSetup\[4\]\[16\][ ]=' drivers/media/dvb/ngene/ngene-core.c
-    blobname 'ngene_1[5678]\.fw' drivers/media/dvb/ngene/ngene-core.c
-    blobname 'sms1xxx-hcw-55xxx-i\?sdbt-02\.fw' drivers/media/dvb/siano/sms-cards.c
-    defsnc 'static[ ]u8[ ]samsung_smt_7020_inittab\[\][ ]=' drivers/media/video/cx88/cx88-dvb.c
-    defsnc 'static[ ]const[ ]u8[ ]\(bridge\|sensor\)_init\(_2\)\?\[\]\[2\][ ]=' drivers/media/video/gspca/ov534_9.c
-    defsnc 'static[ ]const[ ]u8[ ]bridge_start_\([qs]\?v\|x\)ga\[\]\[2\][ ]=' drivers/media/video/gspca/ov534_9.c
-    defsnc '[	]struct[ ]init_command[ ]\(spy\|cif\|ms350\|genius\|vivitar\)_start_commands\[\][ ]=' drivers/media/video/gspca/sn9c2028.c
-    defsnc 'static[ ]const[ ]u8[ ]n4_lt168g\[\][ ]=' drivers/media/video/gspca/t613.c
-    initc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]const[ ]\(__\)\?u8[ ]\(mi\(0360\|13[12]0\)\|po\(1200\|3130\)\|hv7131r\|ov76[67]0\)_\(\(soc\)\?_\?[iI]nit\(Q\?V\|SX\)GA\(_\(JPG\|data\)\)\?\|rundata\)\[\]\[4\][ ]=\([ ][{][*][/][;]\)\?' drivers/media/video/gspca/vc032x.c
-    defsnc '[	]static[ ]const[ ]u8[ ]gamma_tb\[6\]\[16\][ ]=' drivers/media/video/gspca/zc3xx.c
-    blobname 'tlg2300_firmware\.bin' drivers/media/video/tlg2300/pd-main.c
-    defsnc '[	]u8[ ]pattern\[42\][ ]=' drivers/net/ksz884x.c
-    defsnc '\(static[ ]\)\?const[ ]u8[ ]b43_ntab_framelookup\[\][ ]=' drivers/net/wireless/b43/tables_nphy.c
-    defsnc 'const[ ]u32[ ]\(b43_ntab_tx_gain_rev\(0_1_2\|3plus_2ghz\|\([34]\|5plus\)_5ghz\)\|txpwrctrl_tx_gain_ipa\(_\(rev\)\?[56]g\?\)\?\)\[\][ ]=' drivers/net/wireless/b43/tables_nphy.c
-    defsnc 'const[ ]u16[ ]tbl_iqcal_gainparams\[2\]\[9\]\[8\][ ]=' drivers/net/wireless/b43/tables_nphy.c
-    defsnc 'const[ ]struct[ ]nphy_txiqcal_ladder[ ]ladder_\(lo\|iq\)\[\][ ]=' drivers/net/wireless/b43/tables_nphy.c
-    defsnc 'const[ ]u16[ ]loscale\[\][ ]=' drivers/net/wireless/b43/tables_nphy.c
-    blobname 'isl38\(86\|87\|90\)\(pci\|usb\(_bare\)\?\)\?' 'drivers/net/wireless/p54/p54\(pci\.c\|usb\.[ch]\)'
-    defsnc '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]static[ ]struct[ ]conf_drv_settings[ ]default_conf[ ]=[ ][{][*][/][;]' drivers/net/wireless/wl12xx/wl1271_main.c
-    defsnc '[	][}][ ]grtpkts\[\][ ]=' drivers/staging/mimio/mimio.c
-    blobname 'rt\(28[67]0\|30[79][01]\)\.bin' drivers/staging/rt2860/common/rtmp_mcu.c
-    accept '[	]adapter->firmware[ ]=[ ]fw[;]' drivers/staging/rt2860/common/rtmp_mcu.c
-    blob '[/][*][^*]*\([*]\+[^/*][^*]*\)*[*]*RTL8192SU[/]rtl1892swf\.bin[^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]' drivers/staging/rtl8192su/r8192S_firmware.c
-    accept 'MODULE_FIRMWARE[(]["]keyspan_pda[/]\(keyspan_pda\|xircom_pgs\)\.fw["][)][;]' drivers/usb/serial/keyspan_pda.c
-    # It's not clear that wm2000_anc.bin is pure data.
-    # Check with developer, clean up for now.
-    blobname 'wm2000_anc\.bin' sound/soc/codecs/wm2000.c
-    blob '[ ][*][ ]The[ ]download[ ]image[ ]for[ ]the[ ]WM2000[^*]*\([*]\+[^/*][^*]*\)*[*]*[<][ ]file[^*\n]*[\n][ ][*][/]' sound/soc/codecs/wm2000.c
-    # accept '[ ][*][ ].wm2000_anc\.bin.[ ]by[ ]default' sound/soc/codecs/wm2000.c
-    # accept '[ ][*][ 	]*[<][ ]file[ ]\+[>]wm2000_anc\.bin' sound/soc/codecs/wm2000.c
-    # accept '[	]filename[ ]=[ ]["]wm2000_anc\.bin["][;]' sound/soc/codecs/wm2000.c
-    defsnc '[}][ ]\(clk_sys_ratios\|bclk_divs\)\[\][ ]=' 'sound/soc/wm890[34]\.c'
-    defsnc '[}][ ]clock_cfgs\[\][ ]=' sound/soc/codecs/wm8955.c
-    blobname 'siu_spb\.bin' sound/soc/sh/siu_dai.c
-    defsnc 'static[ ]const[ ]u8[ ]poxxxx_init\(_common\|Q\?VGA\|_end_1\)\[\]\[4\][ ]=' drivers/media/video/gspca/vc032x.c
-    defsnc 'crb_128M_2M_map\[64\][ ]__cacheline_aligned_in_smp[ ]=' 'drivers/net/\(netxen/netxen_nic_hw.c\|qlcnic/qlcnic_hw.c\)'
-    # Pattern present prior to 2.6.34, or already adjusted for 2.6.34 in
-    # the main pattern set.
-    accept '[ ][ ][ ]Bit[ 0-7]*' Documentation/input/sentelic.txt
-    accept 'The[ ]hd-audio[ ]driver[ ]reads[ ]the[ ]file[ ]via[ ]request_firmware[(][)]\.' Documentation/sound/alsa/HD-Audio.txt
-    accept '[	]\.section[ ]__ex_table,["]a["]'"$sepx$blobpat*" arch/powerpc/lib/copyuser_64.S
-    defsnc 'static[ ]const[ ]u32[ ]camellia_sp0222\[256\][ ]=' crypto/camellia.c
-    defsnc 'static[ ]const[ ]u32[ ]camellia_sp1110\[256\][ ]=' crypto/camellia.c
-    defsnc 'static[ ]const[ ]u32[ ]camellia_sp3033\[256\][ ]=' crypto/camellia.c
-    defsnc 'static[ ]const[ ]u32[ ]camellia_sp4404\[256\][ ]=' crypto/camellia.c
-    defsnc '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]static[ ]const[ ]__u8[ ]\(start\|page3\)_7302\[\][ ]=[ ][{][*][/][;]' drivers/media/video/gspca/pac7302.c
-    defsnc 'static[ ]const[ ]__u8[ ]pas202_sensor_init\[\]\[8\][ ]=' drivers/media/video/gspca/sonixb.c
-    defsnc 'static[ ]const[ ]u8[ ]\(adcm1700\|om6802\|po1030\)_sensor_\(init\|param1\)\[\]\[8\][ ]=' drivers/media/video/gspca/sonixj.c
-    blob 'sub[ ]\(sp887[0x]\|tda1004\(5\|6\(lifeview\)\?\)\|av7110\|dec\(2\(00\|54\)0t\|3000s\)\|opera1\|vp7041\|dibusb\|nxt200[24]\|cx\(23\(1xx\|885\)\|18\)\|pvrusb2\|or51\(211\|132_\(qam\|vsb\)\)\|bluebird\|mpc718\|af9015\|ngene\)[ ]*[{]\([\n]\+[^\n}][^\n]*\)*[\n]\+[}]\([\n]\+sub[ ]\(sp887[0x]\|tda1004\(5\|6\(lifeview\)\?\)\|av7110\|dec\(2\(00\|54\)0t\|3000s\)\|opera1\|vp7041\|dibusb\|nxt200[24]\|cx\(23\(1xx\|885\)\|18\)\|pvrusb2\|or51\(211\|132_\(qam\|vsb\)\)\|bluebird\|mpc718\|af9015\|ngene\)[ ]*[{]\([\n]\+[^\n}][^\n]*\)*[\n]\+[}]\)*' Documentation/dvb/get_dvb_firmware
-    accept '\([/][*][*][\n]\)\?[ ][*][ ]request_firmware_nowait\(:\|[ ]-\)[ ]asynchronous[ ]version[ ]of[ ]request_firmware' drivers/base/firmware_class.c
-    blobname 'b43\(legacy\)\?\(%s\)\?[/]\(%s\|ucode\([2459]\|1[1345]\)\|pcm5\|[abn]0g[01]initvals\(5\|1[13]\)\)\.fw' 'drivers/net/wireless/b43\(legacy\)\?/main.c'
-    blobname '\(sep[/]\)\?\(cache\|resident\)\.image\.bin' drivers/staging/sep/sep_driver.c
-    defsnc '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]static[ ]const[ ]u8[ ]\(mi1320\|po3130\)_initVGA_data\[\]\[4\][ ]=[ ][{][*][/][;]' drivers/media/video/gspca/sonixj.c
-    accept '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]request_firmware_work_func' drivers/base/firmware_class.c
-    defsnc 'static[ ]const[ ]u8[ ]\(bridge\|sensor\)_init_ov965x\(_2\)\?\[\]\[2\][ ]=' drivers/media/video/gspca/ov534.c
-    defsnc 'static[ ]const[ ]u8[ ]bridge_start_ov965x_\(\([qs]\?v\|x\)ga\|cif\)\[\]\[2\][ ]=' drivers/media/video/gspca/ov534.c
-    defsnc '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]static[ ]const[ ]\(__u16\|struct[ ]cmd\)[ ]spca504\(_pccam600\|A_clicksmart420\)_\(init\|open\)_data\[\]\(\[3\]\)\?[ ]=[ ][{][*][/][;]' drivers/media/video/gspca/sunplus.c
-    # above is in -rc1, below in -rc2
-    defsnc 'static[ ]struct[ ]pinmux_cfg_reg[ ]pinmux_config_regs\[\][ ]=' 'arch/sh/kernel/cpu/sh2a/pinmux-sh7203\.c\|arch/arm/mach-shmobile/pfc-sh73[67]7\.c'
-    defsnc 'static[ ]const[ ]u8[ ]ratio_lut\[\][ ]=' drivers/misc/tsl2550.c
-    initnc 'static[ ]const[ ]u16[ ]count_lut\[\][ ]=' drivers/misc/tsl2550.c
-    accept 'static[ ]int[ ]ar9170_usb_request_firmware[(]' drivers/net/wireless/ar9170/usb.c
-    accept '[	]\(err[ ]=\|return\)[ ]request_firmware\(_nowait\)\?[(][^\n]*["]ar9170\(-[12]\)\?\.fw["],' drivers/net/wireless/ar9170/usb.c
-    accept '[	]err[ ]=[ ]ar9170_usb_request_firmware[(]' drivers/net/wireless/ar9170/usb.c
-    blobname '%s%[du]%s["],[\n 	]*name_pre,[ ]\(priv->fw_\)\?index,[ ]["]\.ucode' 'drivers/net/iwlwifi/iwl\(3945-base\|-agn\).c'
-    accept '#include[ ]["]ixp2400_[rt]x\.ucode["]' drivers/net/ixp2000/ixpdev.c
-    ;;
-
-  */patch*-2.6.33-rc*)
-    accept 'static[ ]inline[ ]int[\n]\(maybe_\)\?reject_firmware\(_nowait\)\?[(][^{;]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*\([\n]\+[}]\)\?' include/linux/firmware.h
-    accept '[	][	]ranges[ ]=[ ]<'"$blobpat*"'>[;]' 'arch/powerpc/boot/dts/\(mpc8572ds\|p2020ds\|katmai\)\.dts'
-    defsnc 'static[ ]unsigned[ ]char[ ]camera_ncm03j_magic\[\][ ]=' 'arch/sh/boards/\(board-ap325rxa\.c\|mach-ap325rxa/setup\.c\)'
-    defsnc 'static[ ]unsigned[ ]char[ ]vga_font\[cmapsz\][ ]\(BTDATA[ ]\)\?=' arch/sparc/kernel/btext.c
-    accept '[	][	][	]req_firm_rc[ ]=[ ]request_firmware_nowait[(][^;]*,[ ]["]dell_rbu["],' drivers/firmware/dell_rbu.c
-    defsnc 'struct[ ]nv17_tv_norm_params[ ]nv17_tv_norms\[NUM_TV_NORMS\][ ]=' drivers/gpu/drm/nouveau/nv17_tv_modes.c
-    defsnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]const[ ]u16[ ]stufftab\[5[ ][*][ ]256\][ ]=[ ][{]\([*][/][;]\)\?[\n]' drivers/isdn/gigaset/isocdata.c
-    defsnc 'static[ ]const[ ]__u8[ ]\(start\|page[34]\)_73\(02\|11\)\[\][ ]=' 'drivers/media/video/gspca/pac73\(02\|11\)\.c'
-    defsnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals\(_3070\)\?\[\][ ]=' drivers/net/wireless/prism54/islpci_dev.c
-    defsnc 'static[ ]uint32[ ][FR]Sb\[256\][ ]=' 'drivers/staging/rt28[67]0/common/\(md5\|cmm_aes\)\.c'
-    defsnc 'static[ ]const[ ]u16[ ]Sbox\[256\][ ]=' # 'drivers/staging/rtl8192u/r819xU_firmware.c' and elsewhere
-    defsnc 'u16[ ]MCS_DATA_RATE\[2\]\[2\]\[77\][ ]=' 'drivers/staging/\(rtl8192su/ieee80211/rtl819x_HTProc\.c\|rtl8192u/r819xU_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\)'
-    defsnc 'u32[ ]Rtl8192Usb\(PHY_REG\(_1T2R\)\?\|\(Radio[ABCD]\|MACPHY\|AGCTAB\)_\)Array\(_PG\)\?\[\][ ]=' drivers/staging/rtl8192su/rtl819xU_firmware_img.c
-    defsnc '[ ][ ]static[ ]const[ ]unsigned[ ]char[ ]asso_values\[\][ ]=' scripts/genksyms/keywords.c_shipped
-    accept '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]request_firmware_work_func[(]void[ ][*]arg[)][*][/][;][\n]\([^\n]*[\n]\)\+\([	]ret[ ]=[ ]_request_firmware[(]\|request_firmware_nowait[(]\)\?' drivers/base/firmware_class.c
-    accept '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]static[ ]struct[ ]dvb_usb_device_properties[ ]af9015_properties\(\[\]\)\?[ ]=[ ][{][*][/][;][\n][	][	]\.firmware[ ]=[ ]' drivers/media/dvb/dvb-usb/af9015.c
-    defsnc '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]static[ ]const[ ]u8[ ]bridge_start_ov965x\[\]\[2\][ ]=[ ][{][*][/][;][\n]' drivers/media/video/gspca/ov534.c
-    defsnc 'static[ ]const[ ]u8[ ]bridge_start_ov965x_\(\([qs]\?v\|x\)ga\|cif\)\[\]\[2\][ ]=' drivers/media/video/gspca/ov534.c
-    defsnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]\(const[ ]\)\?\(__\)\?u8[ ]\(mt9v111\|sp80708\|hv7131r\|mi0360\|mo4000\|ov76\([36]0\|48\)\|om6802\|po1030\)_sensor_init\[\]\[8\][ ]=[ ][{]\([*][/][;]\)\?[\n]' drivers/media/video/gspca/sonixj.c
-    defsnc '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]static[ ]\(const[ ]\)\?u32[ ]ar\(5416\|9280\)\(Modes\(_fast_clock\)\?\|Common\|BB_RfGain\|Bank6\(TPC\)\?\|Addac\)\(_91[06]0\(1_1\)\?\|_9280\(_2\)\?\)\?\[\]\[[236]\][ ]=[ ][{][*][/][;][\n]' drivers/net/wireless/ath9k/initvals.h
-    defsnc '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]static[ ]const[ ]u_int32_t[ ]ar9271\(Common\|Modes\)_9271_1_0\[\]\[[26]\][ ]=[ ][{][*][/][;][\n]' drivers/net/wireless/ath9k/initvals.h
-    defsnc '\(U\(INT\|CHAR\)\|u\(32\|8\)\)[ ]\(Tkip_Sbox_\(Lower\|Upper\)\|SboxTable\)\[256\][ ]=' 'drivers/staging/rt\(28[67]0\|3070\)/common/\(rtmp\|cmm\)_tkip\.c'
-    defsnc '\(RTMP_RF_REGS\|struct[ ]rt_rtmp_rf_regs\)[ ]RF2850RegTable\[\][ ]=' 'drivers/staging/rt28[67]0/common/\(mlme\.c\|cmm_asic\.c\)'
-    defsnc '\(FREQUENCY_ITEM\|struct[ ]rt_frequency_item\)[ ]FreqItems3020\[\][ ]=' 'drivers/staging/rt28[67]0/common/\(mlme\.c\|cmm_asic\.c\)'
-    defsnc '\(UINT\|u32\)[ ]FCSTAB_32\[256\][ ]=' 'drivers/staging/rt\(28[67]0\|3070\)/common/\(rtmp\|cmm\)_wep\.c'
-    defsnc '\(UCHAR\|u8\)[ ]RateSwitchTable\(11B\?G\?\(N[123]S\(ForABand\)\?\)\?\)\?\[\][ ]=' 'drivers/staging/rt28[67]0/common/mlme\.c'
-    defsnc '\(UCHAR\|u8\)[ 	]*ZeroSsid\[32\][ ]=' 'drivers/staging/rt28[67]0/common/mlme\.c'
-    defsnc '\(CH_FREQ_MAP\|struct[ ]rt_ch_freq_map\)[ ]CH_HZ_ID_MAP\[\][ ]\?=' 'drivers/staging/\(rt2860\|rt3090\)/common/rt_channel\.c'
-    defsnc '\(DOT11_REGULATORY_INFORMATION\|struct[ ]rt_dot11_regulatory_information\)[ ]\(USA\|Europe\|Japan\)RegulatoryInfo\[\][ ]=' 'drivers/staging/\(rt3090\|rt2860\)/common/spectrum\.c'
-    defsnc '\([ ][ ][ ][ ]\|[	]\)u_int32_t[ ]ralinkrate\[256\][ ]=' 'drivers/staging/rt\(28[67]0\|3070\)/rt_linux\.c'
-    defsnc '\(static[ ]uint32_t\|[}]\)[ ]nv04_graph_ctx_regs[ ]\?\[\][ ]=' drivers/char/drm/nv04_graph.c
-    defsnc 'static[ ]int[ ]nv10_graph_ctx_regs[ ]\?\[\][ ]=' drivers/char/drm/nv10_graph.c
-    accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]\(dw\(210[24]\|3101\)\|s6[3x]0\)_properties[ ]=[ ][{][\n]\([	]\.\(caps\|usb_ctrl\|size_of_priv\)[ ]*=[ ][^",]*,[\n]*\)*[	]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/dw2102.c
-    defsnc 'static[ ]int[ ]zoom2_batt_table\[\][ ]=' arch/arm/mach-omap2/board-zoom2.c
-    defsnc 'static[ ]u8[ ]af9015_ir_table_\(leadtek\|twinhan\|a_link\|msi\|mygictv\|kworld\)\[\][ ]=' drivers/media/dvb/dvb-usb/af9015.h
-    defsnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]const[ ]struct[ ]usb_action[ ]\(cs2102\|hdcs2020xx\|icm105axx\|ov7630c\|pb0330[3x]x\)_Initial\(Scale\)\?\[\][ ]=[ ][{]\([*][/][;]\)\?[\n]' drivers/media/video/gspca/zc3xx.c
-    defsnc '[	]static[ ]const[ ]u8[ ]log10\[\][ ]=' drivers/net/wireless/zd1211rw/zd_chip.c
-    defsnc '[ ][ ][ ][ ]static[ ]UINT32[ ]MD5Table\[64\][ ]=' 'drivers/staging/rt28[67]0/common/md5\.c'
-    defsnc 'ULONG[ ][ ]*BIT32\[\][ ]=' 'drivers/staging/rt28[67]0/common/rtmp_init\.c'
-    defsnc 'static[ ]UINT8[ ]WPS_DH_\([PRX]\|RRModP\)_VALUE\[1\(9[23]\|84\)\][ ]=' drivers/staging/rt3090/common/crypt_biginteger.c
-    defsnc 'static[ ]const[ ]UINT32[ ]SHA256_K\[64\][ ]=' drivers/staging/rt3090/common/crpt_sha2.c
-    accept '[ *	]*0[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]1[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]2[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]3[\n][ *	]*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/\(netfilter\|ipv4\)/ipvs/ip_vs_sync\.c\|net/sctp/sm_make_chunk\.c\|include/linux/scpt\.h\|drivers/staging/rt3090/common/igmp_snoop\.c'
-    defsnc 'const[ ]unsigned[ ]short[ ]ccitt_16Table\[\][ ]=' 'drivers/staging/rt\(28[67]0\|3090\)/common/rtmp_init\.c'
-    defsnc 'static[ ]const[ ]USHORT[ ]Sbox\[256\][ ]=' drivers/staging/rt3090/sta/rtmp_ckipmic.c
-    accept '[	]len[ ]=[ ]mod_firmware_load[(]fn,[ ][&]data[)][;][\n][	]if[ ][^{]*[ ][{][\n][	][	 ]*printk[(]KERN_ERR[ ]["]sscape:' sound/oss/sscape.c
-    defsnc 'static[ ]const[ ]unsigned[ ]char[ ]wm_vol\[256\][ ]=' 'sound/pci/ice1712/\(phase\|aureon\)\.c'
-    accept '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?\(static[ ]inline[ ]\)\?int[ ]request_firmware\(_nowait\)\?[(]\(const[ ]struct[ ]firmware[ ][*][*]\|[\n][	]struct[ ]module[ ][*]\)' include/linux/firmware.h
-    blobname 'isl38\(77\|86\|90\)' drivers/net/wireless/prism54/islpci_dev.c
-    accept '[ ]*#[ ]*define[ ]\(STA_PROFILE\|CARD_INFO\)_PATH[	]*["][/]etc[/]Wireless[/]RT\(28[67]\|307\)0STA[/]RT\(28[67]\|307\)0STA\(Card\)\?\.dat["]' 'drivers/staging/rt\(28[67]0\|3070\)/rt_linux\.h'
-    accept '#include[ ]["]rf\.h["][\n]#include[ ]["]firmware\.h["]' drivers/staging/vt6656/main_usb.c
-    blob '#include[ 	]*["]\(\.\.[/]\(\.\.[/]rt30[79]0[/]\)\?\)\?firmware\.h["]' 'drivers/staging/rt\(28[67]\|309\)0/common/rtmp_\(init\|mcu\)\.c'
-    blobna 'Derived[ ]from[ ]proprietary[ ]unpublished[ ]source[ ]code' drivers/net/tg3.c
-    blobname 'atmel_at76c50\(2\([de]\|_3com\)\?\|4a\?\(_2958\)\?\|6\)\(\.bin\)\?' drivers/net/wireless/atmel.c
-    blobna '\(pFirmwareImage[ ]=\([ ]FirmwareImage\(_\(28[67]\|30[79]\)0\)\?\|[\n 	]*[(]\(PUCHAR\|u8[ ][*]\)[)][&][\n 	]*FirmwareImage\(_\(28\|30\)70\)\?\[FIRMWAREIMAGE\(V[12]\)\?_LENGTH\]\)\|File[lL]ength[ ]=[ ]\(sizeof[(]FirmwareImage[)]\|FIRMWAREIMAGE\(V[12]\|_MAX\)\?_LENGTH\)\)[;]\([\n	 ]*\(pFirmwareImage[ ]=\([ ]FirmwareImage\(_\(28[67]\|30[79]\)0\)\?\|[\n 	]*[(]\(PUCHAR\|u8[ ][*]\)[)][&][\n 	]*FirmwareImage\(_\(28\|30\)70\)\?\[FIRMWAREIMAGE\(V[12]\)\?_LENGTH\]\)\|File[lL]ength[ ]=[ ]\(sizeof[(]FirmwareImage[)]\|FIRMWAREIMAGE\(V[12]\|_MAX\)\?_LENGTH\)\)[;]\)*' 'drivers/staging/rt\(28[67]0\|30[79]0\)/common/rtmp_init\.c'
-    blobname '\(nx\(romimg\|3fw\(ct\|mn\)\)\|phanfw\)\.bin' 'drivers/net/netxen/netxen_nic\(_\(hw\|init\)\.c\|\.h\)'
-    # The above are covered by the main Linux patterns.  The patterns
-    # below are to be kept in sync in the 2.6.33 block within the main
-    # Linux patterns, until 2.6.33 is released.
-    accept '[ ]*just[ ]run[ ]["]cat[ ][/]sys[/]firmware[/]acpi[/]tables[/]DSDT[ ]>[ ][/]tmp[/]dsdt[.]dat["]' Documentation/acpi/method-customizing.txt
-    accept '[ ]*b[)][ ]disassemble[ ]the[ ]table[ ]by[ ]running[ ]["]iasl[ ]-d[ ]dsdt[.]dat["][.]' Documentation/acpi/method-customizing.txt
-    accept '[ ]*x=["]7999\([ ][0-9]\+\)\+["]' Documentation/blockdev/drbd/DRBD-8.3-data-packets.svg
-    defsnc 'static[ ]int[ ]zoom_batt_table\[\][ ]=' arch/arm/mach-omap2/board-zoom-peripherals.c
-    defsnc 'static[ ]u16[ ]x[48]_vectors\[\][ ]=' drivers/edac/amd64_edac.c
-    defsnc 'static[ ]const[ ]u16[ ]\(y\|uv\)_static_hcoeffs\[N_HORIZ_\(Y\|UV\)_TAPS[ ][*][ ]N_PHASES\][ ]=' drivers/gpu/drm/i915/intel_overlay.c
-    accept '[	]\.download_firmware[ ]=[ ]ec168_download_firmware,[\n][	]\.firmware[ ]=[ ]' drivers/media/dvb/dvb-usb/ec168.c
-    blobname 'dvb-usb-ec168\.fw' drivers/media/dvb/dvb-usb/ec168.c
-    defsnc 'static[ ]const[ ]u16[ ]dib0090_defaults\[\][ ]=' drivers/media/dvb/frontends/dib0090.c
-    defsnc 'static[ ]const[ ]struct[ ]dib0090_pll[ ]dib0090_pll_table\[\][ ]=' drivers/media/dvb/frontends/dib0090.c
-    blobname 'dvb-fe-ds3000\.fw' drivers/media/dvb/frontends/ds3000.c
-    blob '[/][*][ ]\(as[ ]of[ ][^\n]*[ ]current[ ]DS3000[ ]firmware\|DS3000[ ]FW\)[^/]*[*][/]\([\n][/][*]\([ ]\(as[ ]of[ ][^\n]*[ ]current[ ]DS3000[ ]firmware\|DS3000[ ]FW\)[^/]*\|[(]DEBLOBBED[)]\)[*][/]\)*' drivers/media/dvb/frontends/ds3000.c
-    defsnc 'static[ ]u8[ ]ds3000_dvbs2\?_init_tab\[\][ ]=' drivers/media/dvb/frontends/ds3000.c
-    defsnc '[	]static[ ]const[ ]u16[ ]dvbs2_snr_tab\[\][ ]=' drivers/media/dvb/frontends/ds3000.c
-    defsnc 'static[ ]const[ ]struct[ ]cnr[ ]cnr_tab\[\][ ]=' drivers/media/dvb/frontends/mb86a16.c
-    defsnc 'u8[ ]lgtdqcs001f_inittab\[\][ ]=' drivers/media/dvb/mantis/mantis_vp1033.c
-    defsnc 'static[ ]const[ ]struct[ ]ov9640_reg[ ]ov9640_regs_dflt\[\][ ]=' drivers/media/video/ov9640.c
-    defsnc 'const[ ]static[ ]struct[ ]rj54n1_reg_val[ ]bank_[4578]\[\][ ]=' drivers/media/video/rj54n1cb0c.c
-    blob '#define[ ]_FW_NAME[(]api[)][ ]DRV_NAME[ ]["][.]["][ ]#api[ ]["]\.fw["]' drivers/media/video/iwmc3200top.h
-    defsnc 'static[ ]struct[ ]nand_ecclayout[ ]nandv2_hw_eccoob_largepage[ ]=' drivers/mtd/nand/mxc_nand.c
-    blob '#define[ ]FW_FILE_VERSION\([	]*[\\][\n][	]__stringify[(]BCM_5710_FW_\(MAJOR\|MINOR\|REVISION\|ENGINEERING\)_VERSION[)]\([ ]["][.]["]\)\?\)\+' drivers/net/bnx2x_main.c
-    blobname 'bnx2x-e1h\?-["][ ]FW_FILE_VERSION[ ]["]\.fw' drivers/net/bnx2x_main.c
-    blob '#define[ ]FW_VERSION\([ ]__stringify[(]FW_VERSION_\(MAJOR\|MINOR\|MICRO\)[)]\([ ]["][.]["]\)\?\([	]*[\\][\n]\)\?\)\+' drivers/net/cxgb3/cxgb3_main.c
-    blobname 'cxgb3[/]t3fw-["][ ]FW_VERSION[ ]["]\.bin' drivers/net/cxgb3/cxgb3_main.c
-    blob '#define[ ]TPSRAM_VERSION\([ ]__stringify[(]TP_VERSION_\(MAJOR\|MINOR\|MICRO\)[)]\([ ]["][.]["]\)\?\([	]*[\\][\n]\)\?\)\+' drivers/net/cxgb3/cxgb3_main.c
-    blobname 'cxgb3[/]t3\(%c\|[bc]\)_psram-["][ ]TPSRAM_VERSION[ ]["]\.bin' drivers/net/cxgb3/cxgb3_main.c
-    defsnc '[	]static[ ]const[ ]u8[ ]rsshash\[40\][ ]=' drivers/net/igb/igb_main.c
-    defsnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_302x\[\][ ]=' drivers/net/wireless/rt2x00/rt2800lib.c
-    defsnc 'static[ ]struct[ ]conf_drv_settings[ ]default_conf[ ]=' drivers/net/wireless/wl12xx/wl1271_main.c
-    defsnc 'static[ ]u16[ ]bios_to_linux_keycode\[256\][ ]=' drivers/platform/x86/dell-wmi.c
-    accept '[	]err[ ]=[ ]request_firmware[(][&]pm8001_ha->fw_image,' drivers/scsi/pm8001/pm8001_ctl.c
-    defsnc 'static[ ]unsigned[ ]char[ ]vpdb0_data\[\][ ]=' drivers/scsi/scsi_debug.c
-    defsnc 'static[ ]struct[ ]vesa_mode_table[ ]vesa_mode\[\][ ]=' drivers/staging/sm7xx/smtcfb.c
-    defsnc 'struct[ ]ModeInit[ ]VGAMode\[\][ ]=' drivers/staging/sm7xx/smtcfb.h
-    blob 'static[ ]const[ ]hcf_8[ ]fw_image_[1234]_data\[\][ ]=[^;]*[;]\([ ]*[/][*][ ]fw_image_[1234]_data[ ][*][/]\)\?' 'drivers/staging/wlags49_h2/\(ap\|sta\)_h25\?\.c'
-    blobname '[/]etc[/]agere[/]fw\.bin' drivers/staging/wlags49_h2/wl_profile.c
-    defsnc 'static[ ]const[ ]long[ ]chan_freq_list\[\]\[MAX_CHAN_FREQ_MAP_ENTRIES\][ ]=' drivers/staging/wlags49_h2/wl_util.c
-    blobname 'scope\.cod' 'sound/isa/\(Kconfig\|sscape\.c\)'
-    blobname 'sndscape\.co\([?dx01234]\|%d\)' 'sound/\(isa/\(Kconfig\|sscape\.c\)\|oss/README\.OSS\)'
-    defsnc 'static[ ]const[ ]u8[ ]\(adcm1700\|om6802\|po1030\)_sensor_\(init\|param1\)\[\]\[8\][ ]=' drivers/media/video/gspca/sonixj.c
-    blobname 'ath3k-1\.fw' drivers/bluetooth/ath3k.c
-    ;;
-
-  */patch*-2.6.27*|*/patch*-2.6.31.*)
-    accept '[	]request_firmware[(][)][ ]will[ ]hit[ ]an[ ]OOPS' drivers/media/dvb/frontends/dib7000p.c
-    ;;
-
-  */patch*-2.6.30*)
-    initnc '[}][ ]bclk_divs\[\][ ]=[ ][{]' sound/soc/codecs/wm8903.c
-    ;;
-
-  */patch*-2.6.28-rc*)
-    # new in 2.6.28
-    accept '\(static[ ]\)\?const[ ]char[ ]\(inv\)\?parity\[256\][ ]=[ ][{][	 \n01,]*[}][;]' 'Documentation/mtd/nand_ecc\.txt\|drivers/mtd/nand/nand_ecc\.c'
-    defsnc 'static[ ]const[ ]char[ ]\(bitsperbyte\|addressbits\)\[256\][ ]=' drivers/mtd/nand/nand_ecc.c
-    defsnc 'static[ ]struct[ ]pinmux_cfg_reg[ ]pinmux_config_regs\[\][ ]=' arch/sh/kernel/cpu/sh2a/pinmux-sh7203.c
-    defsnc '[	]static[ ]const[ ]u8[ ]e_keymap\[\][ ]=' drivers/hid/hid-lg.c
-    defsnc '[	][	]*struct[ ]phy_reg[ ]phy_reg_init_[01]\[\][ ]=' drivers/net/r8169.c
-    defsnc 'DEFINE_DEFAULT_PDR[(]0x0161,[ ]256,' drivers/net/wireless/hermes_dld.c
-    defsnc 'static[ ]const[ ]int[ ]isink_cur\[\][ ]=' drivers/regulator/wm8350-regulator.c
-    defsnc 'static[ ]const[ ]s16[ ]\(converge_speed_ipb\?\|LAMBDA_table\[4\]\)\[101\][ ]=' drivers/staging/go7007/go7007-fw.c
-    defsnc 'static[ ]const[ ]u32[ ]addrinctab\[33\]\[2\][ ]=' drivers/staging/go7007/go7007-fw.c
-    defsnc 'static[ ]const[ ]u8[ ]\(default_intra_quant_table\|\(val\|bits\)_[ad]c_\(lu\|chro\)minance\)\[\][ ]=' drivers/staging/go7007/go7007-fw.c
-    defsnc 'static[ ]const[ ]int[ ]zz\[64\][ ]=' drivers/staging/go7007/go7007-fw.c
-    defsnc '[	]u16[ ]pack\[\][ ]=' drivers/staging/go7007/go7007-fw.c
-    defsnc 'static[ ]u8[ ]\(initial\|channel\)_registers\[\][ ]=' 'drivers/staging/go7007/wis-\(ov7640\|saa7113\|tw2804\).c'
-    defsnc 'u16[ ]MTO_One_Exchange_Time_Tbl_[ls]\[MTO_MAX_FRAG_TH_LEVELS\]\[MTO_MAX_DATA_RATE_LEVELS\][ ]=' drivers/staging/winbond/mto.c
-    defsnc 'u32[ ]\(al2230_txvga_data\|w89rf242_txvga_old_mapping\)\[\]\[2\][ ]=' drivers/staging/winbond/reg.c
-    defsnc 'static[ ]const[ ]UINT16[ ]crc16tab\[256\][ ]=' drivers/staging/wlan-ng/hfa384x.c
-    defsnc 'static[ ]const[ ]UINT32[ ]wep_crc32_table\[256\][ ]=' drivers/staging/wlan-ng/p80211wep.c
-    defsnc 'static[ ]const[ ]unsigned[ ]char[ ]wm_vol\[256\][ ]=' sound/pci/ice1712/phase.c
-    defsnc 'static[ ]const[ ]u16[ ]wm8900_reg_defaults\[WM8900_MAXREG\][ ]=' sound/soc/wm8900.c
-    defsnc '[}][ ]\(clk_sys_ratios\|bclk_divs\)\[\][ ]=' sound/soc/wm8903.c
-    defsnc 'static[ ]u8[ ]af9015_ir_table_\(leadtek\|twinhan\|a_link\|msi\|mygictv\|kworld\)\[\][ ]=' drivers/media/dvb/dvb-usb/af9015.h
-    defsnc 'static[ ]struct[ ]snr_table[ ]\(qpsk\|qam\(16\|64\)\)_snr_table\[\][ ]=' drivers/media/dvb/frontends/af9013_priv.h
-    defsnc 'static[ ]struct[ ]regdesc[ ]\(ofsm_init\|tuner_init_\(env77h11d5\|mt2060\(_2\)\?\|mxl500\(3d\|5\)\|qt1010\|mc44s803\|unknown\|tda18271\)\)\[\][ ]=' drivers/media/dvb/frontends/af9013_priv.h
-    defsnc 'static[ ]u8[ ]stv0288_earda_inittab\[\][ ]=' drivers/media/dvb/frontends/eds1547.h
-    defsnc 'static[ ]u8[ ]serit_sp1511lhb_inittab\[\][ ]=' drivers/media/dvb/frontends/si21xx.c
-    defsnc 'static[ ]u8[ ]stv0288_inittab\[\][ ]=' drivers/media/dvb/frontends/stv0288.c
-
-    blobname 'haup-ir-blaster\.bin' drivers/input/lirc/lirc_zilog.c
-
-    # Non-Free license in entire file.
-    blob 'static[ ]unsigned[ ]char[ ]xilinx_firm\(_4610\)\?\[\][ ]=[ ][{]'"$sepx$blobpat*$sepx"'[}][;]' 'drivers/staging/me4000/me4\(00\|61\)0_firmware\.h'
-    blob 'static[ ]struct[ ]PHY_UCODE[ ]PhyUcode\[\][ ]=[^;]*[;]' drivers/staging/sxg/sxgphycode.h
-    blob 'static[ ]unsigned[ ]char[ ]SaharaUCode\[2\]\[57972\][ ]=[^;]*[;]' drivers/staging/sxg/saharadbgdownload.h
-    blob '#include[ ]["]saharadbgdownload\.h["]' drivers/staging/sxg/sxg.c
-    blob 'static[ ]u8[ ]\(Mojave\|Oasis\)UCode\[2\]\[65536\][ ]=[^;]*[;]' 'drivers/staging/slicoss/\(gb\|oasis\(dbg\)\?\)download\.h'
-    blob 'static[ ]u8[ ]\(GB\|Oasis\)RcvUCode\[2560\][ ]=[^;]*[;]' 'drivers/staging/slicoss/\(gb\|oasis\)rcvucode\.h'
-
-    # ok from earlier releases
-    accept 'for[ ]i[ ]in[ ][ 	0-9\\\n]*[\n]do' 'Documentation/specialix.txt|Documentation/serial/specialix.txt'
-    defsnc 'static[ ]yyconst[ ]flex_int\(16\|32\)_t[ ]yy_[^[]*\[[0-9]*\][ ]=' '.*\.lex\.c_shipped'
-    defsnc 'static[ ]const[ ]yytype_u\?int\(8\|16\)[ ]yy[^\n []*\[\][ ]=' '.*\.lex\.c_shipped'
-    initnc '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]static[ ]const[ ]yytype_u\?int\(8\|16\)[ ]yy[^\n []*\[\][ ]=[*][/][;]' '.*\.tab\.c_shipped'
-    defsnc 'static[ ]struct[ ]cipher_testvec[ ]\(aes\|anubis\|bf\|camellia\|cts_mode\|des3_ede\|cast6\|salsa20_stream\|serpent\|tf\|tnepres\|xeta\|x\?tea\)\(_\(cbc\|ctr\|xts\)\)\?_\(enc\|dec\)_tv_template\[\][ ]=' 'crypto/\(tcrypt\|testmgr\).h'
-    defsnc 'static[ ]struct[ ]comp_testvec[ ]\(deflate\|lzo\)_\(de\)\?comp_tv_template\[\][ ]=' 'crypto/\(tcrypt\|testmgr\).h'
-    defsnc 'static[ ]struct[ ]hash_testvec[ ]\(aes_xcbc128\|crc32c\|hmac_sha2\(24\|56\)\|\(sha\|wp\)\(256\|384\|512\)\)_tv_template\[\][ ]=' 'crypto/\(tcrypt\|testmgr\).h'
-    defsnc 'static[ ]\(const[ ]\)\?RegInitializer[ ]initData\[\][ ]__initdata[ ]=' 'drivers/ide/ali14xx\.c\|drivers/ide/legacy/ali14xx\.c'
-    defsnc 'static[ ]const[ ]u8[ ]setup\[\][ ]=' 'drivers/ide/pci/delkin_cb\.c\|drivers/ide/delkin_cb\.c'
-    defsnc 'static[ ]u8[ ]cvs_time_value\[\]\[XFER_UDMA_6[ ]-[ ]XFER_UDMA_0[ ][+][ ]1\][ ]=' 'drivers/ide/sis5513\.c\|drivers/ide/pci/sis5513\.c'
-    defsnc 'static[ ]u8[ ]\(act\|ini\|rco\)_time_value\[\]\[8\][ ]=' 'drivers/ide/sis5513\.c\|drivers/ide/pci/sis5513\.c'
-    defsnc 'static[ ]const[ ]u8[ ]speedtab[ ]\[3\]\[12\][ ]=' 'drivers/ide/umc8672\.c\|drivers/ide/legacy/umc8672\.c'
-    initnc 'static[ ]const[ ]__u8[ ]\(effects\|gamma\)_table\[\(MAX_[A-Z]*\|[A-Z]*_MAX\)\]\[[0-9]*\][ ]=' drivers/media/video/gspca/t631.c
-    defsnc 'static[ ]const[ ]s8[ ]\(b43\(legacy\)\?\|bcm43xx\)_tssi2dbm_[bg]_table\[\][ ]=' net/wireless/b43/phy.c
-    accept '#define[ ]_MAP_0_32_ASCII_SEG7_NON_PRINTABLE[	]\\[\n][	]\(0,\)\+$' 'drivers/input/misc/map_to_7segment\.h\|include/linux/map_to_7segment\.h'
-    accept '[ *	]*0[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]1[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]2[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]3[\n][ *	]*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/\(netfilter\|ipv4\)/ipvs/ip_vs_sync\.c\|net/sctp/sm_make_chunk\.c\|include/linux/scpt\.h\|drivers/staging/rt3090/common/igmp_snoop\.c'
-    defsnc 'static[ ]const[ ]unsigned[ ]char[ ]wm_vol\[256\][ ]=' sound/pci/ice1712/phase.c
-    defsnc 'static[ ]const[ ]char[ ]zr360[56]0_dht\[0x1a4\][ ]=' 'drivers/media/video/zr36060\.c\|drivers/media/video/zoran/zr36060\.c'
-    defsnc 'static[ ]const[ ]char[ ]zr360[56]0_dqt\[0x86\][ ]=' 'drivers/media/video/zr36060\.c\|drivers/media/video/zoran/zr36060\.c'
-
-    # These are removed in 2.6.28, they're here so --reverse-patch tests pass.
-    defsnc 'static[ ]unsigned[ ]char[ ]irq_xlate\[32\][ ]=' arch/sparc/kernel/sun4m_irq.c
-    defsnc 'static[ ]int[ ]logitech_expanded_keymap\[LOGITECH_EXPANDED_KEYMAP_SIZE\][ ]=' drivers/hid/hid-input.c
-    initc '[	]static[ ]const[ ]__u8[ ]\(read_indexs\|n\(set\)\?[0-9]*\|missing\)\[[0-9x]*\][ ]=' drivers/media/video/gspca/t613.c
-    defsnc 'static[ ]const[ ]u_char[ ]nand_ecc_precalc_table\[\][ ]=' drivers/mtd/nand/nand_ecc.c
-    oprepline '#define[ ]AR5K_RATES_\(11[ABG]\|TURBO\|XR\)[ ]' drivers/net/wireless/ath5k/ath5k.h
-    defsnc 'static[ ]const[ ]struct[ ]ath_hal[ ]ar5416hal[ ]=' drivers/net/wireless/ath9k/hw.c
-    defsnc 'const[ ]unsigned[ ]char[ ]INIT_2\[127\][ ]=' drivers/video/omap/lcd_sx1.c
-
-    initc '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]static[ ]const[ ]__u8[ ]ov7630_sensor_init\[\]\[8\][ ]=[ ][{][*][/][;]' drivers/media/video/gspca/sonixj.c
-    ;;
-
-  */patch*-2.6.27-rc* | */patch*-2.6.26-git* | */git-linus.diff)
-    accept '[	]\.section[ ]__ex_table,["]a["]'"$sepx$blobpat*" 'arch/x86/lib/copy_user_\(nocache_\)\?64.S'
-    initnc 'static[ ]struct[ ]cipher_testvec[ ]des3_ede_cbc_\(enc\|dec\)_tv_template\[\][ ]=' crypto/tcrypt.h
-    accept 'desc_config1:[\n][	]\.byte[ ]0x09,[ ]0x02'"$sepx$blobpat*" 'firmware/keyspan_pda/\(keyspan_pda\|xircom_pgs\).S'
-    accept 'string_mfg:[\n]\?\([;]\?[	]\.byte[^\n]*[\n]\)\+string_mfg_end:' 'firmware/keyspan_pda/\(keyspan_pda\|xircom_pgs\).S'
-    accept 'string_product:[\n]\?\([;]\?[	]\.byte[^\n]*[\n]\)\+string_product_end:' 'firmware/keyspan_pda/\(keyspan_pda\|xircom_pgs\).S'
-    accept ':03000000020200F9[\n]:040023000205\(9B0037\|5F0073\)[\n]\(:050030000000000000CB[\n]\|:0400430002010000B6[\n]\)*'"$sepx$blobpat*"'[\n]:\(0E06E0006400670065007400060334003700F4\|0606A000060334003700E0\)[\n]:00000001FF[\n]' 'firmware/keyspan_pda/\(keyspan_pda\|xircom_pgs\).HEX'
-    accept ':100000000C004000000000000000000000000000A4[\n]'"$sepx$blobpat*"'[\n][/][*][ ]DSP56001[ ]bootstrap[ ]code[ ][*][/]' firmware/dsp56k/bootstrap.bin.ihex
-    initnc 'static[ ]const[ ]u16[ ]uda1380_reg\[UDA1380_CACHEREGNUM\][ ]=' sound/soc/codecs/uda1380.c
-    initnc 'static[ ]const[ ]u16[ ]wm8510_reg\[WM8510_CACHEREGNUM\][ ]=' sound/soc/codecs/wm8510.c
-    initnc 'static[ ]const[ ]unsigned[ ]short[ ]atkbd_set[23]_keycode\[512\][ ]=' drivers/input/keyboard/atkbd.c
-    initnc 'static[ ]const[ ]unsigned[ ]short[ ]atkbd_unxlate_table\[128\][ ]=' drivers/input/keyboard/atkbd.c
-    initnc 'static[ ]const[ ]unsigned[ ]char[ ]usb_kbd_keycode\[256\][ ]=' drivers/hid/usbhid/usbkbd.c
-    initnc '[	][	]u8[ ]buf,[ ]bufs\[\][ ]=' drivers/media/dvb/dvb-usb/cxusb.c
-    initnc 'static[ ]struct[ ]dvb_pll_desc[ ][^\n]*[ ]=' drivers/media/dvb/frontends/dvb-pll.c
-    initnc '[	]static[ ]int[ ]sysdiv_to_div_x_2\[\][ ]=' arch/powerpc/platforms/512x/clock.c
-    defsnc 'static[ ]const[ ]__u8[ ]cx_inits_\(176\|320\|352\|640\)\[\][ ]=' drivers/media/video/gspca/conex.c
-    defsnc 'static[ ]const[ ]__u8[ ]cx_jpeg_init\[\]\[8\][ ]=' drivers/media/video/gspca/conex.c
-    defsnc 'static[ ]const[ ]__u8[ ]cxjpeg_\(640\|352\|320\|176\|qtable\)\[\]\[8\][ ]=' drivers/media/video/gspca/conex.c
-    initnc 'static[ ]const[ ]unsigned[ ]char[ ]quant\[\]\[0x88\][ ]=' drivers/media/video/gspca/jpeg.h
-    initnc 'static[ ]unsigned[ ]char[ ]huffman\[\][ ]=' drivers/media/video/gspca/jpeg.h
-    initc '[	]\?static[ ]const[ ]struct[ ]ov_i2c_regvals[ ]norm_76[1247]0\[\][ ]=' drivers/media/video/gspca/ov519.c
-    initnc 'static[ ]const[ ]__u8[ ]pac207_sensor_init\[\]\[8\][ ]=' drivers/media/video/gspca/pac207.c
-    initnc 'static[ ]const[ ]__u8[ ]pac7311_jpeg_header\[\][ ]=' drivers/media/video/gspca/pac7311.c
-    defsnc 'static[ ]const[ ]__u8[ ]\(start\|page[34]\)_73\(02\|11\)\[\][ ]=' drivers/media/video/gspca/pac7311.c
-    initnc 'static[ ]const[ ]__u8[ ]init\(Hv7131\|Ov\(6650\|7630\(_3\)\?\)\|Pas\(106\|202\)\|Tas51[13]0\)\[\][ ]=' drivers/media/video/gspca/sonixb.c
-    initnc 'static[ ]const[ ]__u8[ ]\(hv7131\|ov\(6650\|7630\(_3\)\?\)\|pas\(106\|202\)\|tas51[13]0\)_sensor_init\(_com\)\?\[\]\[8\][ ]=' drivers/media/video/gspca/sonixb.c
-    defsnc 'static[ ]\(const[ ]\)\?__u8[ ]\(hv7131r\|mi0360\|mo4000\|ov76\([36]0\|48\)\|om6802\)_sensor_init\[\]\[8\][ ]=' drivers/media/video/gspca/sonixj.c
-    initnc 'static[ ]const[ ]__u8[ ]qtable4\[\][ ]=' drivers/media/video/gspca/sonixj.c
-    initnc 'static[ ]const[ ]__u16[ ]\(spca500_visual\|Clicksmart510\)_defaults\[\]\[3\][ ]=' drivers/media/video/gspca/spca500.c
-    initnc 'static[ ]const[ ]__u8[ ]qtable_\(creative_pccam\|kodak_ez200\|pocketdv\)\[2\]\[64\][ ]=' drivers/media/video/gspca/spca500.c
-    initnc 'static[ ]const[ ]__u16[ ]spca501c\?_\(\(3com\|arowana\|mysterious\)_\)\?\(init\|open\)_data\[\]\[3\][ ]=' drivers/media/video/gspca/spca501.c
-    defsnc 'static[ ]const[ ]\(__u16\|u8\)[ ]spca505b\?_\(init\|open\)_data\(_ccd\)\?\[\]\[3\][ ]=' drivers/media/video/gspca/spca505.c
-    initnc 'static[ ]const[ ]__u16[ ]spca508\(cs110\|_sightcam2\?\|_vista\)\?_init_data\[\]\[3\][ ]=' drivers/media/video/gspca/spca508.c
-    initnc 'static[ ]const[ ]__u16[ ]spca561_init_data\[\]\[2\][ ]=' drivers/media/video/gspca/spca561.c
-    initnc 'static[ ]const[ ]__u16[ ]spca504\(_pccam600\|A_clicksmart420\)_\(init\|open\)_data\[\]\[3\][ ]=' drivers/media/video/gspca/sunplus.c
-    initnc 'static[ ]const[ ]__u8[ ]qtable_\(creative_pccam\|spca504_default\)\[2\]\[64\][ ]=' drivers/media/video/gspca/sunplus.c
-    initnc 'static[ ]const[ ]__u8[ ]\(effects\|gamma\)_table\[MAX_[A-Z]*\]\[[0-9]*\][ ]=' drivers/media/video/gspca/t631.c
-    initnc 'static[ ]const[ ]__u8[ ]tas5130a_sensor_init\[\]\[8\][ ]=' drivers/media/video/gspca/t613.c
-    defsnc '[	]static[ ]const[ ]\(__\)\?u8[ ]\(read_indexs\|n\(set\)\?[0-9]*\(_other\)\?\|missing\)\[[0-9x]*\][ ]=' drivers/media/video/gspca/t613.c
-    defsnc 'static[ ]const[ ]__u8[ ]\(mi13[12]0\|po3130\|hv7131r\|ov76[67]0\)_\(\(soc\)\?initQ\?VGA_\(JPG\|data\)\|rundata\)\[\]\[4\][ ]=' drivers/media/video/gspca/vc032x.c
-    initnc 'static[ ]const[ ]struct[ ]usb_action[ ]\(cs2102\|hdcs2020xx\|icm105axx\|ov7630c\|pb0330[3x]x\)_Initial\(Scale\)\?\[\][ ]=' drivers/media/video/gspca/zc3xx.c
-    initnc 'static[ ]const[ ]u8[ ]rtl8225z2_agc\[\][ ]=' drivers/net/wireless/rtl8187_rtl8225.c
-    initnc 'static[ ]const[ ]u8[ ]rtl8225z2_ofdm\[\][ ]=' drivers/net/wireless/rtl8187_rtl8225.c
-    initnc 'static[ ]const[ ]u8[ ]rtl8225z2_tx_power_cck\[\][ ]=' drivers/net/wireless/rtl8187_rtl8225.c
-    initnc 'static[ ]const[ ]u8[ ]rtl8225z2_tx_power_cck_ch14\[\][ ]=' drivers/net/wireless/rtl8187_rtl8225.c
-    initnc 'static[ ]const[ ]__u16[ ]t10_dif_crc_table\[256\][ ]=' lib/crc-t10dif.c
-    initnc 'static[ ]crb_128M_2M_block_map_t[ ]crb_128M_2M_map\[64\][ ]=' drivers/net/netxen/netxen_hw.c
-    initnc 'static[ ]const[ ]__u16[ ]crc10_table\[256\][ ]=' drivers/usb/serial/safe_serial.c
-    accept '[ 	]*\([ ]*0\)*\([ ]*1\)*[\n][ 	]*0[ ]1[ ]2[ ]3[ ]4[ ]5[ ]6[ ]7[ ]8[ ]9[ ]0[ ]1[ ]*2[ ]3[ ]4[ ]5[ ]6[ ]7' 'Documentation/bt8xxgpio.txt'
-    initnc '[	]static[ ]int[ ]exp_lut\[256\][ ]=' drivers/isdn/mISDN/dsp_audio.c
-    initnc 'static[ ]const[ ]u32[ ]bf_pbox\[16[ ][+][ ]2\][ ]=' drivers/isdn/mISDN/dsp_blowfish.c
-    initnc 'static[ ]const[ ]u32[ ]bf_sbox\[256[ ][*][ ]4\][ ]=' drivers/isdn/mISDN/dsp_blowfish.c
-    initnc 'static[ ]u8[ ]sample_\(german_\(all\|old\)\|american_\(dialtone\|ringing\|busy\)\|special[123]\|silence\)\[\][ ]=' drivers/isdn/mISDN/dsp_tones.c
-    initnc 'struct[ ]pattern[ ][{][^}]*int[ ]tone[;][^}]*[}][ ]pattern\[\][ ]=' drivers/isdn/mISDN/dsp_tones.c
-    initnc 'static[ ]u8[ ]\([au]\|_4\)law_to_\([ua]law\|4bit\)\[256\][ ]=' drivers/isdn/mISDN/l1oip_codec.c
-    initnc 'static[ ]unsigned[ ]char[ ]banner_table\[\][ ]=' arch/sh/boards/mach-microdev/led.c
-    initnc '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]static[ ]const[ ]\(yytype_u\?int\(8\|16\)\|\(unsigned[ ]\)\?\(short\([ ]int\)\?\|char\)\)[ ]yy[^[]*\[\][ ]=[*][/][;]' scripts/genksyms/parse.c_shipped
-    accept 'irq_prio_\([hdl]\|l[cd]\):'"$sepx$blobpat*" arch/arm/inlcude/asm/hardware/entry-macro-iomd.S
-    defsnc '[	]static[ ]const[ ]int[ ]desc_idx_table\[\][ ]=' arch/arm/include/asm/hardware/iop3xx-adma.h
-    defsnc '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]static[ ]const[ ]__u8[ ]\(hv7131r\|mi0360\|mo4000\|ov76\(60\|48\)\)_sensor_init\[\]\[8\][ ]=[ ][{][*][/][;]' drivers/media/video/gspca/sonixj.c
-    defsnc 'static[ ]const[ ]struct[ ]ath_hal[ ]ar5416hal[ ]=' drivers/net/wireless/ath9k/hw.c
-    defsnc 'static[ ]\(const[ ]\)\?u32[ ]ar\(5416\|9280\)\(Modes\(_fast_clock\)\?\|Common\|BB_RfGain\|Bank6\(TPC\)\?\|Addac\)\(_91[06]0\(1_1\)\?\|_9280\(_2\)\?\)\?\[\]\[[236]\][ ]=' drivers/net/wireless/ath9k/initvals.h
-    ;;
-
-  */linux-2.6-gspca-git.patch)
-    # Probably for 2.6.28 or .29.
-    initnc 'static[ ]const[ ]__u8[ ]ov\(534\|772x\)_reg_initdata\[\]\[2\][ ]=' drivers/media/video/gspca/ov534.c
-    defsc 'static[ ]const[ ]\(__\)\?u8[ ]\(mi\(0360\|13[12]0\)\|po\(1200\|3130\)\|hv7131r\|ov76[67]0\)_\(\(soc\)\?_\?[iI]nit\(Q\?V\|SX\)GA\(_\(JPG\|data\)\)\?\|rundata\)\[\]\[4\][ ]=' drivers/media/video/gspca/vc032x.c
-    # Already in 2.6.27.
-    initnc 'static[ ]const[ ]__u8[ ]initOv6650\[\][ ]=' drivers/media/video/gspca/sonixb.c
-    initnc '[	][/][*][ ]Some[ ]more[ ]unknown[ ]stuff[ ][*][/]' drivers/media/video/gspca/sonixb.c
-    defsnc 'static[ ]const[ ]__u8[ ]ov7648_sensor_init\[\]\[8\][ ]=' drivers/media/video/gspca/sonixj.c
-    # No merge needed
-    defsnc '#if[ ]0[\n][	][{]0x30,[ ]0x0154,[ ]0x0008[}],' drivers/media/video/gspca/sunplus.c
-    ;;
-
-  */linux*alsa*.patch)
-    defsnc 'static[ ]u8[ ]tas3004_treble_table\[\][ ]=' sound/aoa/codecs/tas-basstreble.h
-    defsnc 'static[ ]const[ ]unsigned[ ]char[ ]wm_vol\[256\][ ]=' sound/pci/ice1712/phase.c
-    defsnc 'static[ ]const[ ]u16[ ]wm8900_reg_defaults\[WM8900_MAXREG\][ ]=' sound/soc/wm8900.c
-    defsnc '[}][ ]\(clk_sys_ratios\|bclk_divs\)\[\][ ]=' sound/soc/wm8903.c
-    ;;
-
-  */patch*-2.6.26-rc*)
-    initnc 'static[ ]u64[ ]vec2off\[68\][ ]=' arch/ia64/kvm/process.c
-    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
-    initnc 'static[ ]struct[ ]cipher_testvec[ ]\(bf_cbc\|serpent\|tnepres\|aes\(_\(cbc\|ctr\|xts\)\)\?\|x\?tea\|anubis\(_cbc\)\?\|xeta\|camellia_cbc\|cts_mode\)_\(enc\|dec\)_tv_template\[\][ ]=' crypto/tcrypt.h
-    initnc '[	][	]\.\(digest\|entries\|input\|key\|output\|plaintext\|result\)[ 	]*=[ ][{"]' crypto/tcrypt.h
-    initnc 'static[ ]const[ ]u8[ ]speedtab[ ]\[3\]\[12\][ ]=' drivers/ide/legacy/umc8672.c
-    initnc 'static[ ]u8[ ]cvs_time_value\[\]\[XFER_UDMA_6[ ]-[ ]XFER_UDMA_0[ ][+][ ]1\][ ]=' drivers/ide/pci/sis5513.c
-    initnc 'static[ ]u8[ ]\(ini\|act\|rco\)_time_value\[\]\[8\][ ]=' drivers/ide/pci/sis5513.c
-    initnc 'static[ ]u8[ ]mt2131_config1\[\][ ]=' drivers/media/common/tuners/mt2131.c
-    initnc 'static[ ]u8[ ]mt2266_init2\[\][ ]=' drivers/media/common/tuners/mt2266.c
-    initnc 'u16[ ]e1000_igp_cable_length_table\[IGP01E1000_AGC_LENGTH_TABLE_SIZE\][ ]=' drivers/net/e1000/e1000_hw.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
-    oprepline '#define[ ]AR5K_RATES_11[ABG][ ]' drivers/net/wireless/ath5k/ath5k.h
-    oprepline '[	][{][ ]1,[ ]MODULATION_XR,[ ]1000,[ ]2,[ ]139,[ ]1[ ][}],[	]' drivers/net/wireless/ath5k/ath5k.h
-    initnc 'static[ ]const[ ]struct[ ]ath5k_ini_mode[ ]rf\(5413\|24\(13\|25\)\)_ini_mode_end\[\][ ]=' drivers/net/wireless/ath5k/initvals.c
-    initnc 'static[ ]yyconst[ ]flex_int\(16\|32\)_t[ ]yy_[^[]*\[[0-9]*\][ ]=' '.*\.lex\.c_shipped'
-    initnc 'static[ ]const[ ]yytype_u\?int\(8\|16\)[ ]yy[^\n []*\[\][ ]=' '.*\.lex\.c_shipped'
-    # new in 2.6.26
-    defsnc 'static[ ]struct[ ]mse2snr_tab[ ]\(vsb\|qam\(64\|256\)\)_mse2snr_tab\[\][ ]=' drivers/media/dvb/frontends/au8522.c
-    defsnc '[}][ ]\(VSB\|QAM\)_mod_tab\[\][ ]=' drivers/media/dvb/frontends/au8522.c
-    initnc '[}][ ]itd1000_\(lpf_pga\|fre_values\)\[\][ ]=' drivers/media/dvb/frontends/itd1000.c
-    initnc '[}][ ]\(vsb\|qam\(64\|256\)\)_snr_tab\[\][ ]=' drivers/media/dvb/frontends/s5h1411.c
-    initnc '[}][ ]snr_tab\[\][ ]=' drivers/media/dvb/frontends/tda10048.c
-    initnc '[	]static[ ]const[ ]u8[ ]biphase_tbl\[\][ ]=' drivers/media/video/cx18/cx18-av-vbi.c
-    initnc '[	]static[ ]const[ ]u8[ ]mpeg_hdr_data\[\][ ]=' drivers/media/video/cx18/cx18-vbi.c
-    initnc 'static[ ]u32[ ]reg_init_initialize\[\][ ]=' drivers/media/video/saa717x.c
-    initnc '[	][}][ ]vals\[\][ ]=' drivers/media/video/saa717x.c
-    initnc 'static[ ]const[ ]u32[ ]\(main\|gear\)_seedset\[BACKOFF_SEEDSET_ROWS\]\[BACKOFF_SEEDSET_LFSRS\][ ]=' drivers/net/forcedeth.c
-    blob 'unsigned[ ]char[ ]\(IDX_ACTIVATE_\(READ\|WRITE\)\|\(CM\|ULP\)_\(ENABLE\|SETUP\)\|DM_ACT\)[ ]=[ ]'"$sepx$blobpat*$sepx[;]" drivers/s390/net/qeth_core_mpc.c # from drivers/s390/net/qeth_mpc.c in 2.6.25
-    initnc '[}][ ]pll_table\[\][ ]=' drivers/video/geode/lxfb_ops.c
-    accept "[ ][ ][{][ ]0x00014284,[ ][ ]19688[ ][}],[\n][ ][ ][{][ ]0x00011104,[ ][ ]20400[ ][}],[\n][ ][ ][{][ ]$blobpat*[ ][}]," drivers/video/geode/lxfb_ops.c # won't be necessary in rc3
-    initnc 'static[ ]const[ ]u16[ ]wm9713_reg\[\][ ]=' sound/soc/codecs/wm9713.c
-    accept 'P[13]\([\n]#[^\n]*\)*[\n]*\([\n][0-9 ]*\)\+' drivers/video/logo/logo_blackfin_clut224.ppm
-    ;;
-  */patch*-2.6.25-rc*)
-    initnc '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]static[ ]uchar[ ]sbox\[8\]\[4\]\[16\][ ]=[ ][{][*][/][;]'
-    accept '[	][$]3[ ]=[ ][{][{]pge[ ]=[ ][{][{]ste[ ]=[ ][{]\(\([0-9][0-9a-fx{},\n 	]*\|\(pge\|ste\)[ ]=\|<repeats[ ][0-9]\+[ ]times>\)[{},\n 	]*\)*<repeats[ ]11[ ]times>[}]$'
-    initnc 'static[ ]yyconst[ ]flex_int\(16\|32\)_t[ ]yy_[^[]*\[[0-9]*\][ ]='
-    initnc 'static[ ]const[ ]yytype_u\?int\(8\|16\)[ ]yy[^[]*\[\][ ]='
-    initnc '[	]int[ ]bcomm_irq\[3[*]16\][ ]='
-    initnc '[	]static[ ]const[ ]int8[ ]countLeadingZerosHigh\[\][ ]='
-    initnc 'static[ ]unsigned[ ]long[ ]shmedia_opcode_table\[64\][ ]='
-    initnc 'u_char[ ]const[ ]data_sizes_16\[32\][ ]='
-    initnc 'static[ ]u_char[ ]const[ ]data_sizes_32\[32\][ ]='
-    initnc '[	][	]\.\(digest\|entries\|input\|key\|output\|plaintext\|result\)[ 	]*=[ ][{]'
-    initnc 'static[ ]struct[ ][^\n]*_testvec[ ][^\n]*_tv_template\[\][ ]='
-    initnc 'static[ ]struct[ ]nic_qp_map[ ]nic_qp_mapping_[01]\[\][ ]='
-    initnc 'static[ ]u8[ ]mt2266_init2\[\][ ]='
-    initnc 'static[ ]struct[ ]regval[ ]ov_initvals\[\][ ]='
-    initnc 'static[ ]struct[ ]regval[ ]stk1125_initvals\[\][ ]='
-    initnc 'static[ ]u8[ ]bnx2x_stats_len_arr\[BNX2X_NUM_STATS\][ ]='
-    initnc 'static[ ]const[ ]struct[ ]arb_line[ ]read_arb_data\[NUM_RD_Q\]\[MAX_RD_ORD[ ][+][ ]1\][ ]='
-    initnc 'static[ ]const[ ]struct[ ]arb_line[ ]write_arb_data\[NUM_WR_Q\]\[MAX_WR_ORD[ ][+][ ]1\][ ]='
-    initnc 'uint16_t[ ]e1000_igp_cable_length_table\[IGP01E1000_AGC_LENGTH_TABLE_SIZE\][ ]='
-    initnc 'uint16_t[ ]e1000_igp_2_cable_length_table\[IGP02E1000_AGC_LENGTH_TABLE_SIZE\][ ]='
-    oprepline '#define[ ]AR5K_RATES_11\([ABG]\|TURBO\|XR\)[ ]' drivers/net/wireless/ath5k/ath5k.h
-    initnc '[	][	][}][ ]blinkrates\[\][ ]='
-    initnc 'static[ ]const[ ]struct[ ]ath5k_ini[ ]ar5212_ini\[\][ ]='
-    initnc 'static[ ]const[ ]struct[ ]ath5k_ini_rf[ ]rfregs_5111\[\][ ]='
-    initnc 'static[ ]const[ ]struct[ ]ath5k_ini_rf[ ]rfregs_5112\[\][ ]='
-    initnc 'static[ ]const[ ]struct[ ]ath5k_ini_rf[ ]rfregs_5112a\[\][ ]='
-    initnc 'static[ ]const[ ]struct[ ]ath5k_ini_rf[ ]rfregs_5413\[\][ ]='
-    initnc 'static[ ]const[ ]u16[ ]rtl8225bcd_rxgain\[\][ ]='
-    initnc 'static[ ]const[ ]u8[ ]rtl8225_agc\[\][ ]='
-    initnc 'static[ ]const[ ]u8[ ]rtl8225_tx_power_cck\[\][ ]='
-    initnc 'static[ ]const[ ]u8[ ]rtl8225_tx_power_cck_ch14\[\][ ]='
-    initnc 'static[ ]const[ ]u16[ ]rtl8225z2_rxgain\[\][ ]='
-    accept '[ ][ ][ ][ ][ ]\([ ]49,\)*[\n]\([ 0-9,]*[\n]\)*[ ][ ][ ][ ][ ]\([ ]49,\)*$'
-    initnc 'static[ ]const[ ]unsigned[ ]char[ ]wm_vol\[256\][ ]='
-    accept 'domain<N>[ ]<cpumask>[ ]1[ ]2[ ]3[ ]4[ ]5[ ]6[ ]7[ ]8[ ]9[ ]10[ ]11[ ]12[ ]13[ ]14[ ]15[ ]16[ ]17[ ]18[ ]19[ ]20[ ]21[ ]22[ ]23[ ]24[ ]25[ ]26[ ]27[ ]28[ ]29[ ]30[ ]31[ ]32[ ]33[ ]34[ ]35[ ]36$'
-    defsnc 'static[ ]const[ ]u16[ ]e1000_igp_2_cable_length_table\[\][ ]=' drivers/net/e1000e/phy.c
-    accept '[	]24[ ]=>[ ]\[[\n]\([^\n]*[\n]\)*[	]\]\(,[ ][0-9]\+[ ]=>[ ]\[\)\?$'
-    accept '[	][	]'"[']"'0x[^\n]*[\n]\([^\n]*[\n]\)*[	]\]\([,][ ][0-9]\+[ ]=>[ ]\[\)\?$'
-    initnc 'const[ ]u\(8\|16\|32\)[ ]b43_ntab_\(\(adjustpower\|estimatepowerlt\|gainctl\|iqlt\|loftlt\|noisevar1\|tdi[24]0a\)[01]\|channelest\|frame\(lookup\|struct\)\|mcs\|pilot\|tdtrn\|tmap\)\[\][ ]='
-    ;;
-  */*drm*.patch)
-    defsnc 'static[ ]const[ ]u32[ ]cayman_io_mc_regs\[BTC_IO_MC_REGS_SIZE\]\[2\][ ]=' drivers/gpu/drm/radeon/ni.c
-    defsnc 'static[ ]struct[ ]v_table[ ]v_table\[\][ ]=' drivers/gpu/drm/i915/i915_dma.c
-    defsnc '[}][ ]est3_modes\[\][ ]=' drivers/gpu/drm/drm_edid.c
-    defsnc 'const[ ]u32[ ]r[67]xx_default_state\[\][ ]=' drivers/gpu/drm/radeon/r600_blit_shaders.c
-    defsnc 'struct[ ]nv17_tv_norm_params[ ]nv17_tv_norms\[NUM_TV_NORMS\][ ]=' drivers/gpu/drm/nouveau/nv17_tv_modes.c
-    defsnc 'static[ ]int[ ]atom_dst_to_src\[8\]\[4\][ ]=' drivers/gpu/drm/radeon/atom.c
-    blobname 'matrox[/]g[24]00_warp\.fw' drivers/gpu/drm/mga/mga_warp.c
-    blobname 'r128[/]r128_cce\.bin' drivers/gpu/drm/r128/r128_cce.c
-    blobname 'radeon[/]R\([123]0\|[45]2\|S6[09]\)0_cp\.bin' drivers/gpu/drm/radeon/r100.c
-    blobname 'radeon[/]\(R\(60\|V6[1237]\|S7[1378]\)[05]\|%s\)_\(pfp\|me\)\.bin' drivers/gpu/drm/radeon/r600.c
-
-    # linux-2.6-drm-i915-modeset.patch, nouveau-drm*.patch,
-    # drm-fedora9-rollup.patch
-    initnc 'static[ ]const[ ]u32[ ]filter_table\[\][ ]=' drivers/char/drm/intel_tv.c
-    defsnc '\(static[ ]uint32_t\|[}]\)[ ]nv04_graph_ctx_regs[ ]\?\[\][ ]=' drivers/char/drm/nv04_graph.c
-    defsnc 'static[ ]int[ ]nv1[07]_graph_ctx_regs[ ]\?\[\][ ]=' drivers/char/drm/nv10_graph.c
-    defsnc '[	][}][ ]common_modes\[17\][ ]=' drivers/gpu/drm/radeon/radeon_connectors.c
-    defsnc 'static[ ]const[ ]u8[ ]types\[256\][ ]=' drivers/gpu/drm/nouveau/nvc0_vram.c
-
-    # drm-upgrayedd.patch
-    defsnc 'static[ ]const[ ]u16[ ]\(y\|uv\)_static_hcoeffs\[N_HORIZ_\(Y\|UV\)_TAPS[ ][*][ ]N_PHASES\][ ]=' drivers/gpu/drm/i915/intel_overlay.c
-
-    # Although the developers of the drivers are not trying to stop
-    # anyone from modifying it or understanding it, they acknowledge
-    # these are bits of code, obtained through mmio interactions.
-    # This means these blobs are not source code, AND original authors
-    # of the blobs have power to stop others from modifying them.
-    # Non-Free Software, for sure.
-
-    # initnc 'static[ ]uint32_t[ ]nv\(4[013467ace]\|49_4b\|8[46]\)_ctx_\(voodoo\|prog\)\[\][ ]=' 'drivers/char/drm/nv40_graph.c|.*'
-    ;;
-  */linux-2.6*-lirc.patch | */lirc-*.patch)
-    defsnc 'const[ ]unsigned[ ]char[ ]map_table\[\][ ]=' drivers/input/lirc/lirc_ttusbir.c
-    blobname 'haup-ir-blaster\.bin' drivers/input/lirc/lirc_zilog.c
-    ;;
-  */linux-2.6*-at76.patch)
-    blobname 'atmel_at76c50\(3-\(i386[13]\|rfmd\(-acc\)\?\)\|5\(a\(mx\)\?\)\?-rfmd\(2958\)\?\)\.bin' drivers/net/wireless/at76_usb/at76_usb.c
-    ;;
-  */v4l1*.patch)
-    accept '[(]at[ ]which[ ]point[ ]it[ ]should[ ]use[ ]request_firmware'
-    ;;
-  */linux-2.6-v4l-dvb*.patch)
-    initnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]const[ ]unsigned[ ]char[ ]hid_keyboard\[256\][ ]=\([ ][{][*][/][;]\)\?' drivers/hid/hid-input.c
-  # post 2.6.37 fixes start here
-    defsnc 'static[ ]const[ ]struct[ ]dib0090_pll[ ]dib0090_p1g_pll_table\[\][ ]=' drivers/media/dvb/frontends/dib0090.c
-    defsnc '[	]static[ ]u8[ ]sine\[\][ ]=' drivers/media/dvb/frontends/dib7000p.c
-    defsnc 'u32[ ]fe_info\[44\][ ]=' drivers/media/dvb/frontends/dib9000.c
-    defsnc 'static[ ]const[ ]struct[ ]regval_list[ ]ov2640_init_regs\[\][ ]=' drivers/media/video/ov2640.c
-    accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]technisat_usb2_devices[ ]=[ ][{][\n]\([	]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*\([	]\.identify_state[ ]*=[ ]technisat_usb2_identify_state,[\n]\)\?[	]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/technisat-usb2.c
-    # present in 2.6.37
-    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
-    accept '[	]\+request_firmware[(][)][ ]will[ ]hit[ ]an[ ]OOPS' drivers/media/dvb/frontends/dib7000p.c
-    # post 2.6.35 fixes start here
-    defsnc '[	]static[ ]u8[ ]def_regs\[\][ ]=' drivers/media/common/tuners/tda18218.c
-    accept '[	]p7500->firmware[ ]=' drivers/media/dvb/dvb-usb/dw2102.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
-    blobname 'dvb-usb-lme2510c\?-\(lg\|s7395\)\.fw' drivers/media/dvb/dvb-usb/lmedm04.c
-    defsnc 'static[ ]u8[ ]s7395_inittab\[\][ ]=' drivers/media/dvb/dvb-usb/lmedm04.h
-    initnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]struct[ ]regdesc[ ]\(ofsm_init\|tuner_init_\(env77h11d5\|mt2060\(_2\)\?\|mxl500\(3d\|5\)\|qt1010\|mc44s803\|unknown\|tda18271\)\)\[\][ ]=\([ ][{][*][/][;]\)\?' drivers/media/dvb/frontends/af9013_priv.h
-    blobname 'lgs8g75\.fw' drivers/media/dvb/frontends/lgs8gxxx.c
-    defsnc 'static[ ]struct[ ]regdata[ ]mb86a20s_init\[\][ ]=' drivers/media/dvb/frontends/mb86a20s.c
-    accept '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]static[ ]struct[ ]dvb_usb_device_properties[ ][*][/][;][\n][	]\.firmware[ ]*=[ ]["][/][*][(]DEBLOBBED[)][*][/]["],[\n][	]\.download_firmware[ ]=[ ]m920x_firmware_download' drivers/media/dvb/dvb-usb/m920x.c
-    defsnc 'static[ ]struct[ ]regdata[ ]s921_init\[\][ ]=' drivers/media/dvb/frontends/s921.c
-    blobname 'v4l-cx23885-enc\.fw' drivers/media/video/cx23885/cx23885-417.c
-    initc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]struct[ ]idxdata[ ]tbl_common\(_[a-e]\|5\|_\?3B\?\)\[\][ ]=\([ ][{][*][/][;]\)\?' 'drivers/media/video/gspca/gl860/gl860-\(mi2020\|mi1320\|ov9655\|ov2640\)\.c'
-    initc '[	]\?static[ ]const[ ]struct[ ]ov_i2c_regvals[ ]norm_7660\[\][ ]=' drivers/media/video/gspca/ov519.c
-    defsnc '[	]static[ ]const[ ]struct[ ]ov_regvals[ ]bridge_ov7660\[2\]\[10\][ ]=' drivers/media/video/gspca/ov519.c
-    defsnc '[	]static[ ]const[ ]u8[ ]fr_tb\[2\]\[6\]\[3\][ ]=' drivers/media/video/gspca/ov519.c
-    defsnc '[	]static[ ]const[ ]struct[ ]ov_i2c_regvals[ ]brit_7660\[\]\[7\][ ]=' drivers/media/video/gspca/ov519.c
-    defsnc '[	]static[ ]const[ ]struct[ ]ov_i2c_regvals[ ]contrast_7660\[\]\[31\][ ]=' drivers/media/video/gspca/ov519.c
-    defsnc '[	]static[ ]const[ ]struct[ ]ov_i2c_regvals[ ]colors_7660\[\]\[6\][ ]=' drivers/media/video/gspca/ov519.c
-    initnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]const[ ]__u8[ ]pac207_sensor_init\[\]\[8\(\][ ]=[ ][{]\)\?\([*][/][;]\)\?' drivers/media/video/gspca/pac207.c
-    initnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]const[ ]__u8[ ]pas202_sensor_init\[\]\[8\(\][ ]=[ ][{]\)\?\([*][/][;]\)\?' drivers/media/video/gspca/sonixb.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
-    defsnc 'static[ ]const[ ]struct[ ]ucbus_write_cmd[ ]\(icx098bq\|lz24bp\)_start_[012]\[\][ ]=' drivers/media/video/gspca/sq930x.c
-    defsnc '[}][ ]capconfig\[4\]\[2\][ ]=' drivers/media/video/gspca/sq930x.c
-    defsnc 'static[ ]const[ ]u16[ ]rca_initdata\[\]\[3\][ ]=' drivers/media/video/gspca/xirlink_cit.c
-    defsnc 'static[ ]const[ ]struct[ ]usb_action[ ]\(cs2102\|hdcs2020xx\|icm105a\(xx\)\?\|ov7630c\|mt9v111_[13]\|pb0330\([3x]x\)\?\|mi0360soc\)_Initial\(Scale\)\?\[\][ ]=' drivers/media/video/gspca/zc3xx.c
-    blobname 'NXP7164-2010-03-10\.1\.fw' drivers/media/video/saa7164/saa7164-fw.c
-    defsnc 'const[ ]unsigned[ ]char[ ]map_table\[\][ ]=' drivers/input/lirc/lirc_ttusbir.c
-    blobname 'haup-ir-blaster\.bin' drivers/input/lirc/lirc_zilog.c
-    # removed bits
-    defsnc 'static[ ]u8[ ]af9015_ir_table_\(leadtek\|twinhan\|a_link\|msi\|mygictv\|kworld\)\[\][ ]=' drivers/media/dvb/dvb-usb/af9015.h
-    defsnc 'static[ ]u8[ ]af9015_ir_table_\(avermedia\(_ks\)\?\|digittrade\|trekstor\)\[\][ ]=' drivers/media/dvb/dvb-usb/af9015.h
-    defsnc 'static[ ]struct[ ]keyboard_layout_map_t[ ]keyboard_layout_maps\[\][ ]=' drivers/media/dvb/siano/smsir.c
-    defsnc 'static[ ]\(u16\|struct[ ]i2c_reg_u16\)[ ]\(bridge\|mt9\(v\(11[12]\|011\)\|m001\)\)_init\[\]\(\[2\]\)\?[ ]=' drivers/media/video/gspca/sn9c20x.c
-    initnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]const[ ]u8[ ]\(gc0307\|po2030n\)_sensor_\(init\|param1\)\[\]\[8\][ ]\(=[ ][{]\)\?\([*][/][;]\)\?' drivers/media/video/gspca/sonixj.c
-    initnc '\([;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]\)\?static[ ]const[ ]u8[ ]poxxxx_init\(_common\|Q\?VGA\|_end_1\)\[\]\[4\][ ]\(=[ ][{]\)\?\([*][/][;]\)\?' drivers/media/video/gspca/vc032x.c
-    # post 2.6.33 fixes start here
-    defsnc 'static[ ]struct[ ]i2c_reg_u8[ ]ov9655_init\[\][ ]=' drivers/media/video/gspca/sn9c20x.c
-    defsnc 'static[ ]const[ ]u8[ ]\(gc0307\|po2030n\)_sensor_\(init\|param1\)\[\]\[8\][ ]=' drivers/media/video/gspca/sonixj.c
-    # rebase-gspca-to-latest 2.6.33ish starts here
-    defsnc 'static[ ]const[ ]u8[ ]\(bridge\|sensor\)_init\(_2\)\?\[\]\[2\][ ]=' drivers/media/video/gspca/ov534_9.c
-    defsnc 'static[ ]const[ ]u8[ ]bridge_start_\([qs]\?v\|x\)ga\[\]\[2\][ ]=' drivers/media/video/gspca/ov534_9.c
-    defsnc 'static[ ]const[ ]__u8[ ]\(start\|page3\)_7302\[\][ ]=' drivers/media/video/gspca/pac7302.c
-    defsnc '[	]struct[ ]init_command[ ]\(spy\|cif\|ms350\|genius\|vivitar\)_start_commands\[\][ ]=' drivers/media/video/gspca/sn9c2028.c
-    defsnc 'static[ ]const[ ]__u8[ ]initOv6650\[\][ ]=' drivers/media/video/gspca/sonixb.c
-    defsnc '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]static[ ]const[ ]__u8[ ]ov6650_sensor_init\[\]\[8\][ ]=[*][/][;]' drivers/media/video/gspca/sonixb.c
-    defsnc 'static[ ]const[ ]__u8[ ]pas202_sensor_init\[\]\[8\][ ]=' drivers/media/video/gspca/sonixb.c
-    defsnc 'static[ ]const[ ]u8[ ]\(adcm1700\|om6802\|po1030\)_sensor_\(init\|param1\)\[\]\[8\][ ]=' drivers/media/video/gspca/sonixj.c
-    defsnc '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]static[ ]const[ ]u8[ ]hv7131r_sensor_init\[\]\[8\][ ]=[ ][{][*][/][;]' drivers/media/video/gspca/sonixj.c
-    defsnc '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]static[ ]const[ ]u8[ ]po1030_sensor_param1\[\]\[8\][ ]=[ ][{][*][/][;]' drivers/media/video/gspca/sonixj.c
-    defsnc '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]static[ ]const[ ]u8[ ]\(mi1320\|po3130\)_initVGA_data\[\]\[4\][ ]=[ ][{][*][/][;]' drivers/media/video/gspca/sonixj.c
-    defsnc 'static[ ]const[ ]u8[ ]poxxxx_init\(_common\|Q\?VGA\|_end_1\)\[\]\[4\][ ]=' drivers/media/video/gspca/vc032x.c
-    defsnc '[	]static[ ]const[ ]u8[ ]gamma_tb\[6\]\[16\][ ]=' drivers/media/video/gspca/zc3xx.c
-    # rebase-gspca-to-latest ends here
-    defsnc 'static[ ]u8[ ]af9015_ir_table_\(avermedia\(_ks\)\?\|digittrade\)\[\][ ]=' drivers/media/dvb/dvb-usb/af9015.h
-    defsnc 'struct[ ]au8522_register_config[ ]lpfilter_coef\[\][ ]=' drivers/media/dvb/frontends/au8522_decoder.c
-    defsnc 'static[ ]struct[ ]mse2snr_tab[ ]\(vsb\|qam\(64\|256\)\)_mse2snr_tab\[\][ ]=' drivers/media/dvb/frontends/au8522.c
-    defsnc '[}][ ]\(VSB\|QAM\)_mod_tab\[\][ ]=' drivers/media/dvb/frontends/au8522.c
-    initc 'static[ ]const[ ]u8[ ]jpeg_head\[\][ ]=' drivers/media/video/gspca/jpeg.h
-    defsnc 'static[ ]const[ ]u8[ ]\(bridge\|sensor\)_init_ov965x\(_2\)\?\[\]\[2\][ ]=' drivers/media/video/gspca/ov534.c
-    defsnc '[	]static[ ]const[ ]u8[ ]probe_tb\[\]\[4\]\[8\][ ]=' drivers/media/video/gspca/sonixj.c
-    defsnc 'static[ ]const[ ]\(__u16\|u8\)[ ]spca505b\?_\(init\|open\)_data\(_ccd\)\?\[\]\[3\][ ]=' drivers/media/video/gspca/spca505.c
-    defsnc 'static[ ]const[ ]u8[ ]n4_lt168g\[\][ ]=' drivers/media/video/gspca/t613.c
-    defsnc '[	]static[ ]const[ ]\(__\)\?u8[ ]\(read_indexs\|n\(set\)\?[0-9]*\(_other\)\?\|missing\)\[[0-9x]*\][ ]=' drivers/media/video/gspca/t613.c
-    defsnc 'static[ ]const[ ]u8[ ]eeprom_data\[\]\[3\][ ]=' drivers/media/gspca/tv8532.c
-    initnc '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]static[ ]const[ ]__u16[ ]spca508_vista_init_data\[\]\[3\][ ]=[ ][{][*][/][;]' drivers/media/video/gspca/spca508.c
-    defsc '[;][/][*]@@[ ]-[0-9]*,[0-9]*[ ][+][0-9]*,[0-9]*[ ]@@[ ]static[ ]const[ ]__u8[ ]mi1310_socinitVGA_JPG\[\]\[4\][ ]=[ ][{][*][/][;]' drivers/media/video/gspca/vc032x.c
-    initc 'static[ ]const[ ]\(__\)\?u8[ ]\(mi\(0360\|13[12]0\)\|po\(1200\|3130\)\|hv7131r\|ov76[67]0\)_\(\(soc\)\?_\?[iI]nit\(Q\?V\|SX\)GA\(_\(JPG\|data\)\)\?\|rundata\)\[\]\[4\][ ]=' drivers/media/video/gspca/vc032x.c
-    ;;
-  */linux-2.6-modsign-mpilib.patch)
-    initnc 'const[ ]unsigned[ ]char[ ]__clz_tab\[\][ ]='
-    ;;
-  */linux-2.6-netdev*.patch | \
-  */linux-2.6.27-net-r8169-2.6.28.patch)
-    defsnc '[	][	]*struct[ ]phy_reg[ ]phy_reg_init_[01]\[\][ ]=' drivers/net/r8169.c
-    ;;
-  */linux-2.6-wireless*.patch | */linux-2.6-ath5k.patch | \
-  */git-wireless-dev.patch | */linux-2.6-zd1211rw-mac80211.patch)
-    initnc 'const[ ]u\(8\|16\|32\)[ ]b43_ntab_\(\(adjustpower\|estimatepowerlt\|gainctl\|iqlt\|loftlt\|noisevar1\|tdi[24]0a\)[01]\|channelest\|frame\(lookup\|struct\)\|mcs\|pilot\|tdtrn\|tmap\)\[\][ ]='
-    initnc 'static[ ]const[ ]s8[ ]\(b43\(legacy\)\?\|bcm43xx\)_tssi2dbm_[bg]_table\[\][ ]='
-    initnc 'static[ ]struct[ ]iwl\(3945\)\?_tx_power[ ]power_gain_table\[2\]\[IWL_MAX_GAIN_ENTRIES\][ ]='
-    initnc 'static[ ]const[ ]struct[ ]gain_entry[ ]gain_table\[2\]\[108\][ ]='
-    initnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_5222\[\][ ]='
-    initnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_5225_2527\[\][ ]=' drivers/net/wireless/rt2x00/rt73usb.c
-    initnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_5226\[\][ ]=' drivers/net/wireless/rt2x00/rt73usb.c
-    initnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_bg\[\][ ]='
-    initnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_bg_2522\[\][ ]='
-    initnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_bg_2523\[\][ ]='
-    initnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_bg_2524\[\][ ]='
-    initnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_bg_2525\[\][ ]='
-    initnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_bg_2525e\[\][ ]='
-    initnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_bg_2528\[\][ ]=' drivers/net/wireless/rt2x00/rt73usb.c
-    initnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_noseq\[\][ ]='
-    initnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_seq\[\][ ]='
-    initnc '[	]static[ ]const[ ]u8[ ]t\[\][ ]='
-    initnc 'static[ ]const[ ]u16[ ]rtl8225bcd_rxgain\[\][ ]='
-    initnc 'static[ ]const[ ]u8[ ]rtl8225_agc\[\][ ]='
-    initnc 'static[ ]const[ ]u8[ ]rtl8225_tx_power_cck\[\][ ]='
-    initnc 'static[ ]const[ ]u8[ ]rtl8225_tx_power_cck_ch14\[\][ ]='
-    initnc 'static[ ]const[ ]u16[ ]rtl8225z2_rxgain\[\][ ]='
-    initnc 'static[ ]const[ ]struct[ ]ath5k_ini_rf[ ]rfregs_5111\[\][ ]='
-    initnc 'static[ ]const[ ]struct[ ]ath5k_ini_rf[ ]rfregs_5112\[\][ ]='
-    initnc 'static[ ]const[ ]struct[ ]ath5k_ini_rf[ ]rfregs_5112a\[\][ ]='
-    initnc 'static[ ]const[ ]struct[ ]ath5k_ini_rf[ ]rfregs_5413\[\][ ]='
-    oprepline '#define[ ]AR5K_RATES_11A[ ]'
-    oprepline '#define[ ]AR5K_RATES_11B[ ]'
-    oprepline '#define[ ]AR5K_RATES_11G[ ]'
-    oprepline '#define[ ]AR5K_RATES_TURBO[ ]'
-    oprepline '#define[ ]AR5K_RATES_XR[ ]'
-    initnc 'static[ ]const[ ]struct[ ]ath5k_ini[ ]ar5212_ini\[\][ ]='
-    initnc 'static[ ]const[ ]struct[ ]ath5k_ini_mode[ ]rf\(5413\|24\(13\|25\)\)_ini_mode_end\[\][ ]=' drivers/net/wireless/ath5k/initvals.c # ?
-    initnc '[	][	][}][ ]blinkrates\[\][ ]='
-
-    initnc 'static[ ]const[ ]u8[ ]rtl8225z2_agc\[\][ ]=' drivers/net/wireless/rtl8187_rtl8225.c
-    initnc 'static[ ]const[ ]u8[ ]rtl8225z2_ofdm\[\][ ]=' drivers/net/wireless/rtl8187_rtl8225.c
-    initnc 'static[ ]const[ ]u8[ ]rtl8225z2_tx_power_cck\[\][ ]=' drivers/net/wireless/rtl8187_rtl8225.c
-    initnc 'static[ ]const[ ]u8[ ]rtl8225z2_tx_power_cck_ch14\[\][ ]=' drivers/net/wireless/rtl8187_rtl8225.c
-
-    # git logs
-    accept '[ ][ ][ ]sudo[ ]modprobe[ ]ath5k[ ]debug=0x00000400[\n][ 	]*[\n]\([ 	]*Band[^\n]*[\n]\([ 	]*\(\(channels\|rates\):\|[- 	0-9a-f]*\|\[\.\.\.[ ]etc[ ]\]\)[\n]\)\+\)\+[ ][ ][ ][ ][ ][ ][ ]540[ ]000c[ ]0000[ ]0000'
-    oprepline '[	][{][ ]1,[ ]MODULATION_XR,[ ]3000,[ ]1,[ ]150,[ ]3[ ][}],'
-
-    # Fedora 8ish kernel-xen builds
-    initnc 'const[ ]u16[ ]crc_itu_t_table\[256\][ ]='
-    initnc 'static[ ]const[ ]u16[ ]tkip_sbox\[256\][ ]='
-    initnc 'static[ ]const[ ]struct[ ]ath5k_ini_mode[ ]ar5211_ini_mode\[\][ ]='
-    initnc 'static[ ]const[ ]struct[ ]ath5k_ini_mode[ ]ar5212_rf511[12]_ini_mode\[\][ ]='
-    initnc '[	]static[ ]const[ ]u8[ ]log10\[\][ ]='
-    initnc 'static[ ]const[ ]u8[ ]rtl8225z2_tx_gain_cck_ofdm\[\][ ]='
-    initnc 'static[ ]const[ ]u32[ ]rf_vals_abg_5222\[\][ ]='
-    ;;
-
-  */linux-2.6-netdev-e1000e*.patch)
-    initnc 'static[ ]const[ ]u16[ ]e1000_igp_2_cable_length_table\[\][ ]=' drivers/net/e1000e/phy.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'
     ;;
 
   */deblob-check-testsuite/*)
@@ -8255,7 +6476,7 @@ s,^\\(.*\\)\$,falsepos = r'(?P<falsepos>\\1)',;\
 s,^\\(.*\\)\$,blob = r'(?P<blob>\\1)',;\
 "' p;}' >> "$scriptname"
 
-  echo "\\($initblob\\|$defineblob\\|$asmblob\\)" |
+  $echo "\\($initblob\\|$defineblob\\|$asmblob\\)" |
     ${SED-sed} -e "$adjust_rx" \
         -e "s,^\\(.*\\)\$,cblob = r'(?P<cblob>\\1)'," >> "$scriptname"
 
@@ -8461,7 +6682,7 @@ s,^\\(.*\\)\$,\$falsepos = qr'(?<falsepos>\\1)'ms;,;\
 s,^\\(.*\\)\$,my \$blob = qr'(?<blob>\\1)'ms;,;\
 "' p;}' >> "$scriptname"
 
-  echo "\\($initblob\\|$defineblob\\|$asmblob\\)" |
+  $echo "\\($initblob\\|$defineblob\\|$asmblob\\)" |
     ${SED-sed} -e "$adjust_rx" \
         -e "s,^\\(.*\\)\$,my \$cblob = qr'(?<cblob>\\1)'ms if \$with_context;," >> "$scriptname"
 
diff --git a/helpers/DATA/linux/deblob-main b/helpers/DATA/linux/deblob-main
deleted file mode 100644
index 80c8ba91126665d7df0061d605b063e95f1678f9..0000000000000000000000000000000000000000
--- a/helpers/DATA/linux/deblob-main
+++ /dev/null
@@ -1,311 +0,0 @@
-#! /bin/sh
-
-# Copyright (C) 2008-2017 Alexandre Oliva <lxoliva@fsfla.org>
-
-# This program is part of GNU Linux-libre, a GNU project that
-# publishes scripts to clean up Linux so as to make it suitable for
-# use in the GNU Project and in Free System Distributions.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
-# USA
-
-# deblob-main - prepare a GNU Linux-libre tarball out of a non-libre
-# Linux tarball.  It expects the Linux release (mver, say 3.0) as the
-# first argument, the gnu sub-release (extra) as the second optional
-# argument, and the patch release (sver, say .13) as an optional third
-# argument.  mver and sver are pasted together to form kver.
-
-# linux-$kver.tar.bz2 and deblob-$mver must exist in the current
-# directory, and the line that sets kver and extra in deblob-$mver
-# must match mver and extra.
-
-# The resulting tarball is put in linux-libre-$kver-gnu$extra.tar.bz2.
-# An uncompressed xdelta that produces linux-libre-$kver-gnu$extra.tar
-# out of linux-$kver.tar is put in linux-libre-$kver-gnu$extra.xdelta.
-# This xdelta can be distributed to enable third parties to easily
-# reconstruct the binary tarball starting out of sources downloaded
-# from kernel.org, but without distributing non-Free Software
-# yourself, because xdelta (unlike patches) is not reversible: the
-# removed bits are not present in it at all.
-
-# xdelta version 3 uses different command line syntax, and it switched
-# to the more standardized but less efficient vcdiff file format.
-# This script will also produce a vcdiff file if xdelta3 is present,
-# and it expects the xdelta program to use the version 1 syntax.
-
-# To enable you to check the differences between the tarballs, a patch
-# file is generated in linux-libre-$kver-gnu$extra.patch.  This patch
-# file contains the non-Free blobs, even though in reversed form, so
-# its distribution is discouraged.
-
-# The tar files and binary deltas are finally compressed with bzip2,
-# and optionally with lzip and xz too, if the compressors are
-# available.
-
-# At the end, the script attempts to generate a digital signature for
-# the newly-created tarball.  This is the last thing the script does,
-# so interrupting it at that point to skip the signing won't fail to
-# do anything else.
-
-# It is safe to interrupt the script at any other point.  When it gets
-# a ^C (other than during signing), it starts cleaning up all of its
-# temporary and output files.  If you insist, it may leave junk
-# behind, and then it will refuse to run again before you clean it up
-# by hand.  It takes extra care to avoid overwriting useful files.
-
-# If deblob-$mver finds any unexpected situation, it will error out,
-# and then deblob-main will quit.  Pass --force to deblob-main, before
-# any other argument, for deblob-main to ignore any such situations.
-
-case $1 in
---force) force=--force; shift;;
-*) force=;;
-esac
-
-# We don't want e.g. diff output translations to affect us.
-LC_ALL=C; export LC_ALL
-LANGUAGE=C; export LANGUAGE
-
-mver=$1 extra=$2 sver=$3
-kver=$mver$sver gnu=gnu$extra
-deblob= dir=`echo "$0" | sed 's,[^/]*$,,;s,^$,.,;s,/*$,,'`
-
-if test -f linux-$kver.tar; then
-  zext=tar     zcmd=
-elif test -f linux-$kver.tar.bz2; then
-  zext=tar.bz2 zcmd=bunzip2
-elif test -f linux-$kver.tar.xz; then
-  zext=tar.xz  zcmd=unxz
-elif test -f linux-$kver.tar.lz; then
-  zext=tar.lz  zcmd="lzip -d"
-elif test -f linux-$kver.tar.gz; then
-  zext=tar.gz  zcmd=gunzip
-elif test -f linux-$kver.tgz; then
-  zext=tgz     zcmd=gunzip
-else
-  echo linux-$kver.tar not found, tried .bz2, .xz, .lz, .gz and .tgz too >&2
-  exit 1
-fi
-
-if test -f deblob-$mver; then
-  deblob=deblob-$mver
-elif test -f deblob; then
-  deblob=deblob
-elif test -f $dir/deblob-$mver; then
-  cp $dir/deblob-$mver deblob
-  deblob=deblob
-else
-  echo deblob does not exist >&2
-  exit 1
-fi
-
-x1="kver=$mver extra=$extra"
-x2=`grep "^kver=[^ ]* extra=" $deblob | sed 's, *#.*,,'`
-if test "$x1" = "$x2"; then
-  :
-else
-  echo deblob script does not match command-line arguments >&2
-  echo expected: $x1 >&2
-  echo found   : $x2 >&2
-  exit 1
-fi
-
-cleanup=
-
-for f in \
-  linux-libre-$kver-$gnu.tar.bz2 \
-  linux-libre-$kver-$gnu.tar.bz2.asc \
-  linux-libre-$kver-$gnu.tar.bz2.sign \
-  linux-libre-$kver-$gnu.tar.xz \
-  linux-libre-$kver-$gnu.tar.xz.asc \
-  linux-libre-$kver-$gnu.tar.xz.sign \
-  linux-libre-$kver-$gnu.tar.lz \
-  linux-libre-$kver-$gnu.tar.lz.asc \
-  linux-libre-$kver-$gnu.tar.lz.sign \
-  linux-libre-$kver-$gnu.tar \
-  linux-libre-$kver-$gnu.tar.asc \
-  linux-libre-$kver-$gnu.tar.sign \
-  linux-libre-$kver-$gnu.patch \
-  linux-libre-$kver-$gnu.log \
-  linux-libre-$kver-$gnu.vcdiff \
-  linux-libre-$kver-$gnu.vcdiff.bz2 \
-  linux-libre-$kver-$gnu.vcdiff.bz2.asc \
-  linux-libre-$kver-$gnu.vcdiff.bz2.sign \
-  linux-libre-$kver-$gnu.vcdiff.xz \
-  linux-libre-$kver-$gnu.vcdiff.xz.asc \
-  linux-libre-$kver-$gnu.vcdiff.xz.sign \
-  linux-libre-$kver-$gnu.vcdiff.lz \
-  linux-libre-$kver-$gnu.vcdiff.lz.asc \
-  linux-libre-$kver-$gnu.vcdiff.lz.sign \
-  linux-libre-$kver-$gnu.xdelta \
-  linux-libre-$kver-$gnu.xdelta.bz2 \
-  linux-libre-$kver-$gnu.xdelta.bz2.asc \
-  linux-libre-$kver-$gnu.xdelta.bz2.sign \
-  linux-libre-$kver-$gnu.xdelta.xz \
-  linux-libre-$kver-$gnu.xdelta.xz.asc \
-  linux-libre-$kver-$gnu.xdelta.xz.sign \
-  linux-libre-$kver-$gnu.xdelta.lz \
-  linux-libre-$kver-$gnu.xdelta.lz.asc \
-  linux-libre-$kver-$gnu.xdelta.lz.sign \
-; do
-  if test -f $f; then
-    echo $f already exists >&2
-    exit 1
-  fi
-  cleanup="$cleanup $f"
-done
-
-for d in \
-  linux-$kver \
-  linux-libre-$kver-$gnu \
-  orig-linux-$kver \
-; do
-  if test -d $d; then
-    echo $d already exists >&2
-    exit 1
-  fi
-  cleanup="$cleanup $d"
-done
-
-if test -f $dir/deblob-$kver; then
-  if cmp $dir/deblob-$kver $deblob; then
-    :
-  else
-    echo $dir/deblob-$kver and $deblob are different >&2
-    exit 1
-  fi
-fi
-
-if test ! -f deblob-check; then
-  if test -f $dir/deblob-check; then
-    cp $dir/deblob-check deblob-check
-  fi
-else
-  if test -f $dir/deblob-check; then
-    if cmp $dir/deblob-check deblob-check; then
-      :
-    else
-      echo $dir/deblob-check and deblob-check are different >&2
-      exit 1
-    fi
-  fi
-fi
-
-trap 'status=$?; echo cleaning up...; rm -rf $cleanup; (exit $status); exit' 0 1 2 15
-
-set -e
-
-if test -n "$zcmd"; then
-  echo Uncompressing linux-$kver.$zext into linux-$kver.tar
-  rm -rf linux-$kver.tar
-  cleanup="$cleanup linux-$kver.tar"
-  $zcmd < linux-$kver.$zext > linux-$kver.tar
-fi
-
-echo Extracting linux-$kver.tar into linux-$kver
-rm -rf linux-$kver
-tar -xf linux-$kver.tar
-rm -rf linux-libre-$kver-$gnu linux-libre-$kver-$gnu.tar
-
-echo Copying linux-$kver to linux-libre-$kver-$gnu
-cp linux-$kver.tar linux-libre-$kver-$gnu.tar
-cp -lR linux-$kver/. linux-libre-$kver-$gnu
-
-rm -f linux-libre-$kver-$gnu.log linux-libre-$kver-$gnu.log.tmp
-echo Deblobbing within linux-libre-$kver-$gnu, saving output to linux-libre-$kver-$gnu.log
-# We can't just pipe deblob into tee, for then we fail to detect
-# error conditions.  Use file renaming to tell whether we succeeded.
-if (cd linux-libre-$kver-$gnu && /bin/sh ../$deblob $force) 2>&1; then
-  mv linux-libre-$kver-$gnu.log.tmp linux-libre-$kver-$gnu.log
-fi | tee linux-libre-$kver-$gnu.log.tmp
-if test ! -f linux-libre-$kver-$gnu.log; then
-  mv linux-libre-$kver-$gnu.log.tmp linux-libre-$kver-$gnu.log
-  echo $deblob failed, aborting >&2
-  exit 1
-fi
-rm -f linux-libre-$kver-$gnu.patch
-
-# Do not copy these scripts for now, deblob-check regards itself as a blob.
-# cp -p $0 $deblob deblob-check linux-libre-$kver-$gnu
-
-echo Generating linux-libre-$kver-$gnu.patch
-diff -druN linux-$kver linux-libre-$kver-$gnu > linux-libre-$kver-$gnu.patch || :
-
-echo Removing removed or modified files from linux-libre-$kver-$gnu.tar
-diff -rq linux-$kver linux-libre-$kver-$gnu |
-sed -n "
-  s,^Only in \\(linux-$kver\\(/.*\\)\\?\\): \\(.*\\),\1/\3,p;
-  s,^Files \\(linux-$kver\\)/\\(.*\\) and linux-libre-$kver-$gnu/\\2 differ,\\1/\\2,p;
-" |
-xargs tar --delete -f linux-libre-$kver-$gnu.tar
-
-echo Adding modified or added files to linux-libre-$kver-$gnu.tar
-rm -rf orig-linux-$kver
-mv linux-$kver orig-linux-$kver
-mv linux-libre-$kver-$gnu linux-$kver
-diff -rq orig-linux-$kver linux-$kver |
-sed -n "
-  s,^Files orig-\\(linux-$kver/.*\\) and \\1 differ,\\1,p;
-  s,^Only in \\(linux-$kver\\(/.*\\)\\?\\): \\(.*\\),\\1/\\3,p;
-" |
-xargs tar --append -f linux-libre-$kver-$gnu.tar
-
-echo Wiping out extracted trees
-rm -rf linux-$kver orig-linux-$kver
-
-echo Creating vcdiff between linux-$kver.tar and linux-libre-$kver-$gnu.tar
-xdelta3 -e -9 -S djw -s linux-$kver.tar linux-libre-$kver-$gnu.tar linux-libre-$kver-$gnu.vcdiff || : # don't fail if xdelta3 is not present
-
-echo Creating xdelta between linux-$kver.tar and linux-libre-$kver-$gnu.tar
-xdelta delta -0 linux-$kver.tar linux-libre-$kver-$gnu.tar linux-libre-$kver-$gnu.xdelta || : # xdelta returns nonzero on success
-
-cleanup="linux-libre-$kver-$gnu.tar linux-libre-$kver-$gnu.xdelta"
-
-echo Compressing binary deltas and linux-libre-$kver-$gnu.tar
-rm -f linux-$kver.tar
-if test -f linux-libre-$kver-$gnu.xdelta; then
-  bzip2 -k9 linux-libre-$kver-$gnu.xdelta
-  xz -k9 linux-libre-$kver-$gnu.xdelta || :
-  lzip -k9s64MiB linux-libre-$kver-$gnu.xdelta || :
-fi
-bzip2 -k9 linux-libre-$kver-$gnu.tar
-xz -k9 linux-libre-$kver-$gnu.tar || :
-lzip -k9s64MiB linux-libre-$kver-$gnu.tar || :
-
-echo Done except for signing, feel free to interrupt
-for f in \
-  linux-libre-$kver-$gnu.tar \
-  linux-libre-$kver-$gnu.tar.bz2 \
-  linux-libre-$kver-$gnu.tar.xz \
-  linux-libre-$kver-$gnu.tar.lz \
-  linux-libre-$kver-$gnu.vcdiff \
-  linux-libre-$kver-$gnu.xdelta \
-  linux-libre-$kver-$gnu.xdelta.bz2 \
-  linux-libre-$kver-$gnu.xdelta.xz \
-  linux-libre-$kver-$gnu.xdelta.lz \
-; do
-  if test -f $f; then
-    gpg -a --detach-sign $f
-    mv $f.asc $f.sign
-  fi
-done
-
-rm -f $cleanup
-cleanup=
-trap 'status=$?; (exit $status); exit' 0 1 2 15
-
-echo All set, please review linux-libre-$kver-$gnu.patch
-
-exit 0
diff --git a/helpers/DATA/linux/silent-accept-firmware.patch b/helpers/DATA/linux/silent-accept-firmware.patch
index de0e49ddbd797481c36f01378b1e9ec33992db6d..48e2dbc18ca2532d997571be16a4434d8d2231b9 100644
--- a/helpers/DATA/linux/silent-accept-firmware.patch
+++ b/helpers/DATA/linux/silent-accept-firmware.patch
@@ -4,226 +4,461 @@ An alternative solution is to preserve the loading functionality and remove the
 This method is done by a patch (silent-accept-firmware.patch) that removes all the instances where the blob filenames are printed to the user (via kernel logs), and a section on the package helper that takes care of preventing the deblob script from acting on the files modified by the patch. This is done manually, for individual drivers (usually those for very common devices). It needs to be reviewed on any new major release, checking that no new lines were added to the upstream driver in where it prints the blob filename on the log.
 Printing the blob filename on success operations (that is, when the blob file is present) is acceptable. If in doubt, all instances of printing the blob filenames should be removed.
 
-diff --git a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c
-index bfbe1e1..5a2ee57 100644
---- a/drivers/base/firmware_class.c
-+++ b/drivers/base/firmware_class.c
-@@ -447,14 +447,14 @@ fw_get_filesystem_firmware(struct device *device, struct firmware_buf *buf)
- 						id);
- 		if (rc) {
- 			if (rc == -ENOENT)
--				dev_dbg(device, "loading %s failed with error %d\n",
-+				dev_dbg(device, "loading failed with error %d\n",
- 					 path, rc);
- 			else
--				dev_warn(device, "loading %s failed with error %d\n",
-+				dev_warn(device, "loadingfailed with error %d\n",
- 					 path, rc);
- 			continue;
- 		}
--		dev_dbg(device, "direct-loading %s\n", buf->fw_id);
-+		dev_dbg(device, "direct-loading\n", buf->fw_id);
- 		buf->size = size;
- 		fw_state_done(&buf->fw_st);
- 		break;
-@@ -1072,7 +1072,7 @@ static int _request_firmware_load(struct firmware_priv *fw_priv,
+--- a/arch/x86/kernel/cpu/microcode/amd.c	2019-11-25 01:32:01.000000000 +0100
++++ b/arch/x86/kernel/cpu/microcode/amd.c	2021-06-25 14:54:58.316092472 +0200
+@@ -902,7 +902,7 @@
+ 		snprintf(fw_name, sizeof(fw_name), "amd-ucode/microcode_amd_fam%.2xh.bin", c->x86);
+
+ 	if (request_firmware_direct(&fw, (const char *)fw_name, device)) {
+-		pr_debug("failed to load file %s\n", fw_name);
++		pr_debug("failed to load file\n");
+ 		goto out;
+ 	}
+
+diff -ur a/arch/x86/kernel/cpu/microcode/intel.c b/arch/x86/kernel/cpu/microcode/intel.c
+--- a/arch/x86/kernel/cpu/microcode/intel.c	2021-06-25 14:52:20.000000000 +0200
++++ b/arch/x86/kernel/cpu/microcode/intel.c	2021-06-25 14:54:58.320092521 +0200
+@@ -939,7 +939,7 @@
+ 		c->x86, c->x86_model, c->x86_stepping);
+
+ 	if (request_firmware_direct(&firmware, name, device)) {
+-		pr_debug("data file %s load failed\n", name);
++		pr_debug("data file load failed\n");
+ 		return UCODE_NFOUND;
+ 	}
+
+diff -ur a/drivers/base/firmware_loader/fallback.c b/drivers/base/firmware_loader/fallback.c
+--- a/drivers/base/firmware_loader/fallback.c	2021-06-25 14:52:20.000000000 +0200
++++ b/drivers/base/firmware_loader/fallback.c	2021-06-25 14:54:58.320092521 +0200
+@@ -518,7 +518,7 @@
  	if (opt_flags & FW_OPT_UEVENT) {
- 		buf->need_uevent = true;
+ 		fw_priv->need_uevent = true;
  		dev_set_uevent_suppress(f_dev, false);
--		dev_dbg(f_dev, "firmware: requesting %s\n", buf->fw_id);
-+		dev_dbg(f_dev, "firmware: requesting\n", buf->fw_id);
- 		kobject_uevent(&fw_priv->dev.kobj, KOBJ_ADD);
+-		dev_dbg(f_dev, "firmware: requesting %s\n", fw_priv->fw_name);
++		dev_dbg(f_dev, "firmware: requesting\n");
+ 		kobject_uevent(&fw_sysfs->dev.kobj, KOBJ_ADD);
  	} else {
  		timeout = MAX_JIFFY_OFFSET;
-@@ -1108,14 +1108,14 @@ static int fw_load_from_user_helper(struct firmware *firmware,
+@@ -557,15 +557,13 @@
  	if (opt_flags & FW_OPT_NOWAIT) {
  		timeout = usermodehelper_read_lock_wait(timeout);
  		if (!timeout) {
 -			dev_dbg(device, "firmware: %s loading timed out\n",
-+			dev_dbg(device, "firmware: loading timed out\n",
- 				name);
+-				name);
++			dev_dbg(device, "firmware: loading timed out\n");
  			return -EBUSY;
  		}
  	} else {
  		ret = usermodehelper_read_trylock();
  		if (WARN_ON(ret)) {
 -			dev_err(device, "firmware: %s will not be loaded\n",
-+			dev_err(device, "firmware: will not be loaded\n",
- 				name);
+-				name);
++			dev_err(device, "firmware: will not be loaded\n");
  			return ret;
  		}
-@@ -1171,7 +1171,7 @@ _request_firmware_prepare(struct firmware **firmware_p, const char *name,
  	}
- 
+@@ -646,10 +644,8 @@
+ 		return ret;
+
+ 	if (!(opt_flags & FW_OPT_NO_WARN))
+-		dev_warn(device, "Falling back to sysfs fallback for: %s\n",
+-				 name);
++		dev_warn(device, "Falling back to sysfs fallback\n");
+ 	else
+-		dev_dbg(device, "Falling back to sysfs fallback for: %s\n",
+-				name);
++		dev_dbg(device, "Falling back to sysfs fallback\n");
+ 	return fw_load_from_user_helper(fw, name, device, opt_flags);
+ }
+diff -ur a/drivers/base/firmware_loader/main.c b/drivers/base/firmware_loader/main.c
+--- a/drivers/base/firmware_loader/main.c	2021-06-25 14:52:20.000000000 +0200
++++ b/drivers/base/firmware_loader/main.c	2021-06-25 14:57:07.550971727 +0200
+@@ -502,11 +502,10 @@
+ 						msize, id);
+ 		if (rc) {
+ 			if (rc != -ENOENT)
+-				dev_warn(device, "loading %s failed with error %d\n",
+-					 path, rc);
++				dev_warn(device, "loading firmware failed with error %d\n",
++					 rc);
+ 			else
+-				dev_dbg(device, "loading %s failed for no such file or directory.\n",
+-					 path);
++				dev_dbg(device, "loading firmware failed for no such file or directory.\n");
+ 			continue;
+ 		}
+ 		if (decompress) {
+@@ -521,8 +520,7 @@
+ 				continue;
+ 			}
+ 		} else {
+-			dev_dbg(device, "direct-loading %s\n",
+-				fw_priv->fw_name);
++			dev_dbg(device, "direct-loading\n");
+ 			if (!fw_priv->data)
+ 				fw_priv->data = buffer;
+ 			fw_priv->size = size;
+@@ -703,7 +701,7 @@
+ 	}
+
  	if (fw_get_builtin_firmware(firmware, name, dbuf, size)) {
 -		dev_dbg(device, "using built-in %s\n", name);
-+		dev_dbg(device, "using built-in\n", name);
++		dev_dbg(device, "using built-in\n");
  		return 0; /* assigned */
  	}
- 
-@@ -1249,12 +1249,13 @@ _request_firmware(const struct firmware **firmware_p, const char *name,
+
+@@ -783,8 +781,8 @@
  	if (ret) {
  		if (!(opt_flags & FW_OPT_NO_WARN))
  			dev_warn(device,
 -				 "Direct firmware load for %s failed with error %d\n",
+-				 name, ret);
 +				 "Direct firmware load failed with error %d\n",
- 				 name, ret);
- 		if (opt_flags & FW_OPT_USERHELPER) {
- 			dev_warn(device, "Falling back to user helper\n");
- 			ret = fw_load_from_user_helper(fw, name, device,
- 						       opt_flags);
-+			dev_warn(device, "Please read https://www.gnu.org/distros/free-system-distribution-guidelines.html#nonfree-firmware\n");
- 		}
++				  ret);
+ 		ret = firmware_fallback_sysfs(fw, name, device, opt_flags, ret);
  	} else
- 		ret = assign_firmware_buf(fw, device, opt_flags);
-diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
-index c0a8062..65c1170 100644
---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
-+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
-@@ -734,7 +734,7 @@ static int amdgpu_cgs_get_firmware_info(struct cgs_device *cgs_device,
- 
+ 		ret = assign_fw(fw, device, opt_flags);
+diff -ur a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c	2019-11-25 01:32:01.000000000 +0100
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c	2021-06-25 14:54:58.320092521 +0200
+@@ -443,7 +443,7 @@
+
  			err = amdgpu_ucode_validate(adev->pm.fw);
  			if (err) {
 -				DRM_ERROR("Failed to load firmware \"%s\"", fw_name);
-+				DRM_ERROR("Failed to load firmware", fw_name);
++				DRM_ERROR("Failed to load firmware");
  				release_firmware(adev->pm.fw);
  				adev->pm.fw = NULL;
  				return err;
-diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
-index 2ca09f1..15caf24 100644
---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
-+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
-@@ -173,7 +173,7 @@ int amdgpu_uvd_sw_init(struct amdgpu_device *adev)
- 
+diff -ur a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c	2021-06-25 14:52:20.000000000 +0200
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c	2021-06-25 14:54:58.320092521 +0200
+@@ -1445,15 +1445,13 @@
+ 	err = request_firmware(&adev->firmware.gpu_info_fw, fw_name, adev->dev);
+ 	if (err) {
+ 		dev_err(adev->dev,
+-			"Failed to load gpu_info firmware \"%s\"\n",
+-			fw_name);
++			"Failed to load gpu_info firmware\n");
+ 		goto out;
+ 	}
+ 	err = amdgpu_ucode_validate(adev->firmware.gpu_info_fw);
+ 	if (err) {
+ 		dev_err(adev->dev,
+-			"Failed to validate gpu_info firmware \"%s\"\n",
+-			fw_name);
++			"Failed to validate gpu_info firmware\n");
+ 		goto out;
+ 	}
+
+diff -ur a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c	2021-06-25 14:52:20.000000000 +0200
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c	2021-06-25 14:54:58.320092521 +0200
+@@ -187,15 +187,13 @@
+
  	r = request_firmware(&adev->uvd.fw, fw_name, adev->dev);
  	if (r) {
 -		dev_err(adev->dev, "amdgpu_uvd: Can't load firmware \"%s\"\n",
-+		dev_err(adev->dev, "amdgpu_uvd: Can't load firmware\n",
- 			fw_name);
+-			fw_name);
++		dev_err(adev->dev, "amdgpu_uvd: Can't load firmware\n");
  		return r;
  	}
-diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c
-index b692ad4..1ca7f9f 100644
---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c
-+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c
-@@ -140,7 +140,7 @@ int amdgpu_vce_sw_init(struct amdgpu_device *adev, unsigned long size)
- 
+
+ 	r = amdgpu_ucode_validate(adev->uvd.fw);
+ 	if (r) {
+-		dev_err(adev->dev, "amdgpu_uvd: Can't validate firmware \"%s\"\n",
+-			fw_name);
++		dev_err(adev->dev, "amdgpu_uvd: Can't validate firmware\n");
+ 		release_firmware(adev->uvd.fw);
+ 		adev->uvd.fw = NULL;
+ 		return r;
+diff -ur a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c	2019-11-25 01:32:01.000000000 +0100
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c	2021-06-25 14:54:58.324092569 +0200
+@@ -153,15 +153,13 @@
+
  	r = request_firmware(&adev->vce.fw, fw_name, adev->dev);
  	if (r) {
 -		dev_err(adev->dev, "amdgpu_vce: Can't load firmware \"%s\"\n",
-+		dev_err(adev->dev, "amdgpu_vce: Can't load firmware\n",
- 			fw_name);
+-			fw_name);
++		dev_err(adev->dev, "amdgpu_vce: Can't load firmware\n");
  		return r;
  	}
-diff --git a/drivers/gpu/drm/amd/amdgpu/ci_dpm.c b/drivers/gpu/drm/amd/amdgpu/ci_dpm.c
-index cb508a2..ca4453b 100644
---- a/drivers/gpu/drm/amd/amdgpu/ci_dpm.c
-+++ b/drivers/gpu/drm/amd/amdgpu/ci_dpm.c
-@@ -5848,7 +5848,7 @@ static int ci_dpm_init_microcode(struct amdgpu_device *adev)
- 
- out:
- 	if (err) {
--		pr_err("cik_smc: Failed to load firmware \"%s\"\n", fw_name);
-+		pr_err("cik_smc: Failed to load firmware\n", fw_name);
- 		release_firmware(adev->pm.fw);
- 		adev->pm.fw = NULL;
+
+ 	r = amdgpu_ucode_validate(adev->vce.fw);
+ 	if (r) {
+-		dev_err(adev->dev, "amdgpu_vce: Can't validate firmware \"%s\"\n",
+-			fw_name);
++		dev_err(adev->dev, "amdgpu_vce: Can't validate firmware\n");
+ 		release_firmware(adev->vce.fw);
+ 		adev->vce.fw = NULL;
+ 		return r;
+diff -ur a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c	2021-06-25 14:52:20.000000000 +0200
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c	2021-06-25 14:54:58.324092569 +0200
+@@ -113,15 +113,13 @@
+
+ 	r = request_firmware(&adev->vcn.fw, fw_name, adev->dev);
+ 	if (r) {
+-		dev_err(adev->dev, "amdgpu_vcn: Can't load firmware \"%s\"\n",
+-			fw_name);
++		dev_err(adev->dev, "amdgpu_vcn: Can't load firmware\n");
+ 		return r;
  	}
-diff --git a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c
-index c216e16..4a399cc 100644
---- a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c
-+++ b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c
-@@ -142,7 +142,7 @@ static int cik_sdma_init_microcode(struct amdgpu_device *adev)
+
+ 	r = amdgpu_ucode_validate(adev->vcn.fw);
+ 	if (r) {
+-		dev_err(adev->dev, "amdgpu_vcn: Can't validate firmware \"%s\"\n",
+-			fw_name);
++		dev_err(adev->dev, "amdgpu_vcn: Can't validate firmware\n");
+ 		release_firmware(adev->vcn.fw);
+ 		adev->vcn.fw = NULL;
+ 		return r;
+diff -ur a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c
+--- a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c	2021-06-25 14:52:20.000000000 +0200
++++ b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c	2021-06-25 14:54:58.324092569 +0200
+@@ -144,7 +144,7 @@
  	}
  out:
  	if (err) {
 -		pr_err("cik_sdma: Failed to load firmware \"%s\"\n", fw_name);
-+		pr_err("cik_sdma: Failed to load firmware\n", fw_name);
++		pr_err("cik_sdma: Failed to load firmware\n");
  		for (i = 0; i < adev->sdma.num_instances; i++) {
  			release_firmware(adev->sdma.instance[i].fw);
  			adev->sdma.instance[i].fw = NULL;
-diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
-index 37b45e4..b7fa33c 100644
---- a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
-+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
-@@ -973,7 +973,7 @@ static int gfx_v7_0_init_microcode(struct amdgpu_device *adev)
- 
+diff -ur a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
+--- a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c	2021-06-25 14:52:20.000000000 +0200
++++ b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c	2021-06-25 14:54:58.324092569 +0200
+@@ -855,8 +855,7 @@
+ out:
+ 	if (err) {
+ 		dev_err(adev->dev,
+-			"gfx10: Failed to load firmware \"%s\"\n",
+-			fw_name);
++			"gfx10: Failed to load firmware\n");
+ 		release_firmware(adev->gfx.pfp_fw);
+ 		adev->gfx.pfp_fw = NULL;
+ 		release_firmware(adev->gfx.me_fw);
+diff -ur a/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c
+--- a/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c	2019-11-25 01:32:01.000000000 +0100
++++ b/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c	2021-06-25 14:54:58.324092569 +0200
+@@ -381,7 +381,7 @@
+
+ out:
+ 	if (err) {
+-		pr_err("gfx6: Failed to load firmware \"%s\"\n", fw_name);
++		pr_err("gfx6: Failed to load firmware\n");
+ 		release_firmware(adev->gfx.pfp_fw);
+ 		adev->gfx.pfp_fw = NULL;
+ 		release_firmware(adev->gfx.me_fw);
+diff -ur a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
+--- a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c	2021-06-25 14:52:20.000000000 +0200
++++ b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c	2021-06-25 14:54:58.324092569 +0200
+@@ -976,7 +976,7 @@
+
  out:
  	if (err) {
 -		pr_err("gfx7: Failed to load firmware \"%s\"\n", fw_name);
-+		pr_err("gfx7: Failed to load firmware\n", fw_name);
++		pr_err("gfx7: Failed to load firmware\n");
  		release_firmware(adev->gfx.pfp_fw);
  		adev->gfx.pfp_fw = NULL;
  		release_firmware(adev->gfx.me_fw);
-diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
-index aa5a50f..c7acffb 100644
---- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
-+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
-@@ -1106,7 +1106,7 @@ static int gfx_v8_0_init_microcode(struct amdgpu_device *adev)
+diff -ur a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
+--- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c	2021-06-25 14:52:20.000000000 +0200
++++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c	2021-06-25 14:54:58.324092569 +0200
+@@ -1221,8 +1221,7 @@
  out:
  	if (err) {
  		dev_err(adev->dev,
 -			"gfx8: Failed to load firmware \"%s\"\n",
-+			"gfx8: Failed to load firmware\n",
- 			fw_name);
+-			fw_name);
++			"gfx8: Failed to load firmware\n");
  		release_firmware(adev->gfx.pfp_fw);
  		adev->gfx.pfp_fw = NULL;
-diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c
-index 7e9ea53..6815fb5 100644
---- a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c
-+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c
-@@ -163,7 +163,7 @@ static int gmc_v7_0_init_microcode(struct amdgpu_device *adev)
- 
+ 		release_firmware(adev->gfx.me_fw);
+diff -ur a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
+--- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c	2021-06-25 14:52:20.000000000 +0200
++++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c	2021-06-25 14:54:58.328092618 +0200
+@@ -1126,8 +1126,7 @@
+ out:
+ 	if (err) {
+ 		dev_err(adev->dev,
+-			"gfx9: Failed to load firmware \"%s\"\n",
+-			fw_name);
++			"gfx9: Failed to load firmware\n");
+ 		release_firmware(adev->gfx.pfp_fw);
+ 		adev->gfx.pfp_fw = NULL;
+ 		release_firmware(adev->gfx.me_fw);
+@@ -1261,8 +1260,7 @@
+ out:
+ 	if (err) {
+ 		dev_err(adev->dev,
+-			"gfx9: Failed to load firmware \"%s\"\n",
+-			fw_name);
++			"gfx9: Failed to load firmware\n");
+ 		release_firmware(adev->gfx.rlc_fw);
+ 		adev->gfx.rlc_fw = NULL;
+ 	}
+@@ -1349,8 +1347,7 @@
+ 	gfx_v9_0_check_fw_write_wait(adev);
+ 	if (err) {
+ 		dev_err(adev->dev,
+-			"gfx9: Failed to load firmware \"%s\"\n",
+-			fw_name);
++			"gfx9: Failed to load firmware\n");
+ 		release_firmware(adev->gfx.mec_fw);
+ 		adev->gfx.mec_fw = NULL;
+ 		release_firmware(adev->gfx.mec2_fw);
+diff -ur a/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c
+--- a/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c	2019-11-25 01:32:01.000000000 +0100
++++ b/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c	2021-06-25 14:54:58.328092618 +0200
+@@ -151,8 +151,7 @@
+ out:
+ 	if (err) {
+ 		dev_err(adev->dev,
+-		       "si_mc: Failed to load firmware \"%s\"\n",
+-		       fw_name);
++		       "si_mc: Failed to load firmware\n");
+ 		release_firmware(adev->gmc.fw);
+ 		adev->gmc.fw = NULL;
+ 	}
+diff -ur a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c
+--- a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c	2019-11-25 01:32:01.000000000 +0100
++++ b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c	2021-06-25 14:54:58.328092618 +0200
+@@ -163,7 +163,7 @@
+
  out:
  	if (err) {
 -		pr_err("cik_mc: Failed to load firmware \"%s\"\n", fw_name);
-+		pr_err("cik_mc: Failed to load firmware\n", fw_name);
- 		release_firmware(adev->mc.fw);
- 		adev->mc.fw = NULL;
++		pr_err("cik_mc: Failed to load firmware\n");
+ 		release_firmware(adev->gmc.fw);
+ 		adev->gmc.fw = NULL;
  	}
-diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c
-index cc9f880..67359b3 100644
---- a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c
-+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c
-@@ -247,7 +247,7 @@ static int gmc_v8_0_init_microcode(struct amdgpu_device *adev)
- 
+diff -ur a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c
+--- a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c	2019-11-25 01:32:01.000000000 +0100
++++ b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c	2021-06-25 14:54:58.328092618 +0200
+@@ -280,7 +280,7 @@
+
  out:
  	if (err) {
 -		pr_err("mc: Failed to load firmware \"%s\"\n", fw_name);
-+		pr_err("mc: Failed to load firmware\n", fw_name);
- 		release_firmware(adev->mc.fw);
- 		adev->mc.fw = NULL;
++		pr_err("mc: Failed to load firmware\n");
+ 		release_firmware(adev->gmc.fw);
+ 		adev->gmc.fw = NULL;
  	}
-diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c b/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
-index f2d0710..bf0edd5 100644
---- a/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
-+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
-@@ -170,7 +170,7 @@ static int sdma_v2_4_init_microcode(struct amdgpu_device *adev)
- 
+diff -ur a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c
+--- a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c	2019-11-25 01:32:01.000000000 +0100
++++ b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c	2021-06-25 15:00:19.088551321 +0200
+@@ -83,8 +83,7 @@
+ out:
+ 	if (err) {
+ 		dev_err(adev->dev,
+-			"psp v10.0: Failed to load firmware \"%s\"\n",
+-			fw_name);
++			"psp v10.0: Failed to load firmware\n");
+ 		release_firmware(adev->psp.asd_fw);
+ 		adev->psp.asd_fw = NULL;
+ 	}
+diff -ur a/drivers/gpu/drm/amd/amdgpu/psp_v11_0.c b/drivers/gpu/drm/amd/amdgpu/psp_v11_0.c
+--- a/drivers/gpu/drm/amd/amdgpu/psp_v11_0.c	2021-06-25 14:52:20.000000000 +0200
++++ b/drivers/gpu/drm/amd/amdgpu/psp_v11_0.c	2021-06-25 15:01:11.314442919 +0200
+@@ -156,7 +156,7 @@
+ 			release_firmware(adev->psp.ta_fw);
+ 			adev->psp.ta_fw = NULL;
+ 			dev_info(adev->dev,
+-				 "psp v11.0: Failed to load firmware \"%s\"\n", fw_name);
++				 "psp v11.0: Failed to load firmware\n");
+ 		} else {
+ 			err = amdgpu_ucode_validate(adev->psp.ta_fw);
+ 			if (err)
+@@ -193,7 +193,7 @@
+ 	adev->psp.asd_fw = NULL;
+ out:
+ 	dev_err(adev->dev,
+-		"psp v11.0: Failed to load firmware \"%s\"\n", fw_name);
++		"psp v11.0: Failed to load firmware\n");
+ 	release_firmware(adev->psp.sos_fw);
+ 	adev->psp.sos_fw = NULL;
+
+diff -ur a/drivers/gpu/drm/amd/amdgpu/psp_v3_1.c b/drivers/gpu/drm/amd/amdgpu/psp_v3_1.c
+--- a/drivers/gpu/drm/amd/amdgpu/psp_v3_1.c	2019-11-25 01:32:01.000000000 +0100
++++ b/drivers/gpu/drm/amd/amdgpu/psp_v3_1.c	2021-06-25 15:02:09.156281812 +0200
+@@ -116,8 +116,7 @@
+ out:
+ 	if (err) {
+ 		dev_err(adev->dev,
+-			"psp v3.1: Failed to load firmware \"%s\"\n",
+-			fw_name);
++			"psp v3.1: Failed to load firmware\n");
+ 		release_firmware(adev->psp.sos_fw);
+ 		adev->psp.sos_fw = NULL;
+ 		release_firmware(adev->psp.asd_fw);
+diff -ur a/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c b/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
+--- a/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c	2021-06-25 14:52:20.000000000 +0200
++++ b/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c	2021-06-25 14:54:58.328092618 +0200
+@@ -175,7 +175,7 @@
+
  out:
  	if (err) {
 -		pr_err("sdma_v2_4: Failed to load firmware \"%s\"\n", fw_name);
-+		pr_err("sdma_v2_4: Failed to load firmware\n", fw_name);
++		pr_err("sdma_v2_4: Failed to load firmware\n");
  		for (i = 0; i < adev->sdma.num_instances; i++) {
  			release_firmware(adev->sdma.instance[i].fw);
  			adev->sdma.instance[i].fw = NULL;
-diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
-index 1d766ae..1103992 100644
---- a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
-+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
-@@ -321,7 +321,7 @@ static int sdma_v3_0_init_microcode(struct amdgpu_device *adev)
+diff -ur a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
+--- a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c	2021-06-25 14:52:20.000000000 +0200
++++ b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c	2021-06-25 14:54:58.328092618 +0200
+@@ -331,7 +331,7 @@
  	}
  out:
  	if (err) {
 -		pr_err("sdma_v3_0: Failed to load firmware \"%s\"\n", fw_name);
-+		pr_err("sdma_v3_0: Failed to load firmware\n", fw_name);
++		pr_err("sdma_v3_0: Failed to load firmware\n");
+ 		for (i = 0; i < adev->sdma.num_instances; i++) {
+ 			release_firmware(adev->sdma.instance[i].fw);
+ 			adev->sdma.instance[i].fw = NULL;
+diff -ur a/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
+--- a/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c	2021-06-25 14:52:20.000000000 +0200
++++ b/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c	2021-06-25 14:54:58.328092618 +0200
+@@ -524,7 +524,7 @@
+
+ out:
+ 	if (err) {
+-		DRM_ERROR("sdma_v4_0: Failed to load firmware \"%s\"\n", fw_name);
++		DRM_ERROR("sdma_v4_0: Failed to load firmware\n");
+ 		sdma_v4_0_destroy_inst_ctx(adev);
+ 	}
+ 	return err;
+diff -ur a/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
+--- a/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c	2021-06-25 14:52:20.000000000 +0200
++++ b/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c	2021-06-25 14:54:58.328092618 +0200
+@@ -217,7 +217,7 @@
+ 	}
+ out:
+ 	if (err) {
+-		DRM_ERROR("sdma_v5_0: Failed to load firmware \"%s\"\n", fw_name);
++		DRM_ERROR("sdma_v5_0: Failed to load firmware\n");
  		for (i = 0; i < adev->sdma.num_instances; i++) {
  			release_firmware(adev->sdma.instance[i].fw);
  			adev->sdma.instance[i].fw = NULL;
-diff --git a/drivers/gpu/drm/drm_edid_load.c b/drivers/gpu/drm/drm_edid_load.c
-index 1c0495a..0085e8e 100644
---- a/drivers/gpu/drm/drm_edid_load.c
-+++ b/drivers/gpu/drm/drm_edid_load.c
-@@ -188,8 +188,8 @@ static void *edid_load(struct drm_connector *connector, const char *name,
+diff -ur a/drivers/gpu/drm/amd/amdgpu/si_dpm.c b/drivers/gpu/drm/amd/amdgpu/si_dpm.c
+--- a/drivers/gpu/drm/amd/amdgpu/si_dpm.c	2019-11-25 01:32:01.000000000 +0100
++++ b/drivers/gpu/drm/amd/amdgpu/si_dpm.c	2021-06-25 14:54:58.328092618 +0200
+@@ -7676,8 +7676,8 @@
+
+ out:
+ 	if (err) {
+-		DRM_ERROR("si_smc: Failed to load firmware. err = %d\"%s\"\n",
+-			  err, fw_name);
++		DRM_ERROR("si_smc: Failed to load firmware. err = %d\n",
++			  err);
+ 		release_firmware(adev->pm.fw);
+ 		adev->pm.fw = NULL;
+ 	}
+diff -ur a/drivers/gpu/drm/drm_edid_load.c b/drivers/gpu/drm/drm_edid_load.c
+--- a/drivers/gpu/drm/drm_edid_load.c	2019-11-25 01:32:01.000000000 +0100
++++ b/drivers/gpu/drm/drm_edid_load.c	2021-06-25 14:54:58.332092667 +0200
+@@ -195,8 +195,8 @@
  		err = request_firmware(&fw, name, &pdev->dev);
  		platform_device_unregister(pdev);
  		if (err) {
@@ -233,483 +468,579 @@ index 1c0495a..0085e8e 100644
 +				  err);
  			return ERR_PTR(err);
  		}
- 
-diff --git a/drivers/gpu/drm/r128/r128_cce.c b/drivers/gpu/drm/r128/r128_cce.c
-index c9890af..cfe11ce 100644
---- a/drivers/gpu/drm/r128/r128_cce.c
-+++ b/drivers/gpu/drm/r128/r128_cce.c
-@@ -155,13 +155,13 @@ static int r128_cce_load_microcode(drm_r128_private_t *dev_priv)
+
+diff -ur a/drivers/gpu/drm/r128/r128_cce.c b/drivers/gpu/drm/r128/r128_cce.c
+--- a/drivers/gpu/drm/r128/r128_cce.c	2019-11-25 01:32:01.000000000 +0100
++++ b/drivers/gpu/drm/r128/r128_cce.c	2021-06-25 14:54:58.332092667 +0200
+@@ -163,14 +163,13 @@
  	rc = request_firmware(&fw, FIRMWARE_NAME, &pdev->dev);
  	platform_device_unregister(pdev);
  	if (rc) {
 -		pr_err("r128_cce: Failed to load firmware \"%s\"\n",
-+		pr_err("r128_cce: Failed to load firmware\n",
- 		       FIRMWARE_NAME);
+-		       FIRMWARE_NAME);
++		pr_err("r128_cce: Failed to load firmware\n");
  		return rc;
  	}
- 
+
  	if (fw->size != 256 * 8) {
 -		pr_err("r128_cce: Bogus length %zu in firmware \"%s\"\n",
+-		       fw->size, FIRMWARE_NAME);
 +		pr_err("r128_cce: Bogus length %zu in firmware\n",
- 		       fw->size, FIRMWARE_NAME);
++		       fw->size);
  		rc = -EINVAL;
  		goto out_release;
-diff --git a/drivers/gpu/drm/radeon/cik.c b/drivers/gpu/drm/radeon/cik.c
-index 3cb6c55..5bf3ff6 100644
---- a/drivers/gpu/drm/radeon/cik.c
-+++ b/drivers/gpu/drm/radeon/cik.c
-@@ -2072,7 +2072,7 @@ static int cik_init_microcode(struct radeon_device *rdev)
+ 	}
+diff -ur a/drivers/gpu/drm/radeon/cik.c b/drivers/gpu/drm/radeon/cik.c
+--- a/drivers/gpu/drm/radeon/cik.c	2021-06-25 14:52:20.000000000 +0200
++++ b/drivers/gpu/drm/radeon/cik.c	2021-06-25 14:54:58.332092667 +0200
+@@ -2062,7 +2062,7 @@
+ 	default: BUG();
+ 	}
+
+-	DRM_INFO("Loading %s Microcode\n", new_chip_name);
++	DRM_INFO("Loading Microcode\n");
+
+ 	snprintf(fw_name, sizeof(fw_name), "radeon/%s_pfp.bin", new_chip_name);
+ 	err = request_firmware(&rdev->pfp_fw, fw_name, rdev->dev);
+@@ -2072,16 +2072,15 @@
  		if (err)
  			goto out;
  		if (rdev->pfp_fw->size != pfp_req_size) {
 -			pr_err("cik_cp: Bogus length %zu in firmware \"%s\"\n",
+-			       rdev->pfp_fw->size, fw_name);
 +			pr_err("cik_cp: Bogus length %zu in firmware\n",
- 			       rdev->pfp_fw->size, fw_name);
++			       rdev->pfp_fw->size);
  			err = -EINVAL;
  			goto out;
-@@ -2080,7 +2080,7 @@ static int cik_init_microcode(struct radeon_device *rdev)
+ 		}
  	} else {
  		err = radeon_ucode_validate(rdev->pfp_fw);
  		if (err) {
 -			pr_err("cik_fw: validation failed for firmware \"%s\"\n",
-+			pr_err("cik_fw: validation failed for firmware\n",
- 			       fw_name);
+-			       fw_name);
++			pr_err("cik_fw: validation failed for firmware\n");
  			goto out;
  		} else {
-@@ -2096,14 +2096,14 @@ static int cik_init_microcode(struct radeon_device *rdev)
+ 			new_fw++;
+@@ -2096,15 +2095,14 @@
  		if (err)
  			goto out;
  		if (rdev->me_fw->size != me_req_size) {
 -			pr_err("cik_cp: Bogus length %zu in firmware \"%s\"\n",
+-			       rdev->me_fw->size, fw_name);
 +			pr_err("cik_cp: Bogus length %zu in firmware\n",
- 			       rdev->me_fw->size, fw_name);
++			       rdev->me_fw->size);
  			err = -EINVAL;
  		}
  	} else {
  		err = radeon_ucode_validate(rdev->me_fw);
  		if (err) {
 -			pr_err("cik_fw: validation failed for firmware \"%s\"\n",
-+			pr_err("cik_fw: validation failed for firmware\n",
- 			       fw_name);
+-			       fw_name);
++			pr_err("cik_fw: validation failed for firmware\n");
  			goto out;
  		} else {
-@@ -2119,14 +2119,14 @@ static int cik_init_microcode(struct radeon_device *rdev)
+ 			new_fw++;
+@@ -2119,15 +2117,14 @@
  		if (err)
  			goto out;
  		if (rdev->ce_fw->size != ce_req_size) {
 -			pr_err("cik_cp: Bogus length %zu in firmware \"%s\"\n",
+-			       rdev->ce_fw->size, fw_name);
 +			pr_err("cik_cp: Bogus length %zu in firmware\n",
- 			       rdev->ce_fw->size, fw_name);
++			       rdev->ce_fw->size);
  			err = -EINVAL;
  		}
  	} else {
  		err = radeon_ucode_validate(rdev->ce_fw);
  		if (err) {
 -			pr_err("cik_fw: validation failed for firmware \"%s\"\n",
-+			pr_err("cik_fw: validation failed for firmware\n",
- 			       fw_name);
+-			       fw_name);
++			pr_err("cik_fw: validation failed for firmware\n");
  			goto out;
  		} else {
-@@ -2142,14 +2142,14 @@ static int cik_init_microcode(struct radeon_device *rdev)
+ 			new_fw++;
+@@ -2142,15 +2139,14 @@
  		if (err)
  			goto out;
  		if (rdev->mec_fw->size != mec_req_size) {
 -			pr_err("cik_cp: Bogus length %zu in firmware \"%s\"\n",
+-			       rdev->mec_fw->size, fw_name);
 +			pr_err("cik_cp: Bogus length %zu in firmware\n",
- 			       rdev->mec_fw->size, fw_name);
++			       rdev->mec_fw->size);
  			err = -EINVAL;
  		}
  	} else {
  		err = radeon_ucode_validate(rdev->mec_fw);
  		if (err) {
 -			pr_err("cik_fw: validation failed for firmware \"%s\"\n",
-+			pr_err("cik_fw: validation failed for firmware\n",
- 			       fw_name);
+-			       fw_name);
++			pr_err("cik_fw: validation failed for firmware\n");
  			goto out;
  		} else {
-@@ -2180,14 +2180,14 @@ static int cik_init_microcode(struct radeon_device *rdev)
+ 			new_fw++;
+@@ -2180,15 +2176,14 @@
  		if (err)
  			goto out;
  		if (rdev->rlc_fw->size != rlc_req_size) {
 -			pr_err("cik_rlc: Bogus length %zu in firmware \"%s\"\n",
+-			       rdev->rlc_fw->size, fw_name);
 +			pr_err("cik_rlc: Bogus length %zu in firmware\n",
- 			       rdev->rlc_fw->size, fw_name);
++			       rdev->rlc_fw->size);
  			err = -EINVAL;
  		}
  	} else {
  		err = radeon_ucode_validate(rdev->rlc_fw);
  		if (err) {
 -			pr_err("cik_fw: validation failed for firmware \"%s\"\n",
-+			pr_err("cik_fw: validation failed for firmware\n",
- 			       fw_name);
+-			       fw_name);
++			pr_err("cik_fw: validation failed for firmware\n");
  			goto out;
  		} else {
-@@ -2203,14 +2203,14 @@ static int cik_init_microcode(struct radeon_device *rdev)
+ 			new_fw++;
+@@ -2203,15 +2198,14 @@
  		if (err)
  			goto out;
  		if (rdev->sdma_fw->size != sdma_req_size) {
 -			pr_err("cik_sdma: Bogus length %zu in firmware \"%s\"\n",
+-			       rdev->sdma_fw->size, fw_name);
 +			pr_err("cik_sdma: Bogus length %zu in firmware\n",
- 			       rdev->sdma_fw->size, fw_name);
++ 			       rdev->sdma_fw->size);
  			err = -EINVAL;
  		}
  	} else {
  		err = radeon_ucode_validate(rdev->sdma_fw);
  		if (err) {
 -			pr_err("cik_fw: validation failed for firmware \"%s\"\n",
-+			pr_err("cik_fw: validation failed for firmware\n",
- 			       fw_name);
+-			       fw_name);
++			pr_err("cik_fw: validation failed for firmware\n");
  			goto out;
  		} else {
-@@ -2233,7 +2233,7 @@ static int cik_init_microcode(struct radeon_device *rdev)
+ 			new_fw++;
+@@ -2233,16 +2227,15 @@
  			}
  			if ((rdev->mc_fw->size != mc_req_size) &&
  			    (rdev->mc_fw->size != mc2_req_size)){
 -				pr_err("cik_mc: Bogus length %zu in firmware \"%s\"\n",
+-				       rdev->mc_fw->size, fw_name);
 +				pr_err("cik_mc: Bogus length %zu in firmware\n",
- 				       rdev->mc_fw->size, fw_name);
++				       rdev->mc_fw->size);
  				err = -EINVAL;
  			}
-@@ -2241,7 +2241,7 @@ static int cik_init_microcode(struct radeon_device *rdev)
+ 			DRM_INFO("%s: %zu bytes\n", fw_name, rdev->mc_fw->size);
  		} else {
  			err = radeon_ucode_validate(rdev->mc_fw);
  			if (err) {
 -				pr_err("cik_fw: validation failed for firmware \"%s\"\n",
-+				pr_err("cik_fw: validation failed for firmware\n",
- 				       fw_name);
+-				       fw_name);
++				pr_err("cik_fw: validation failed for firmware\n");
  				goto out;
  			} else {
-@@ -2258,20 +2258,20 @@ static int cik_init_microcode(struct radeon_device *rdev)
+ 				new_fw++;
+@@ -2258,21 +2251,19 @@
  			snprintf(fw_name, sizeof(fw_name), "radeon/%s_smc.bin", chip_name);
  			err = request_firmware(&rdev->smc_fw, fw_name, rdev->dev);
  			if (err) {
 -				pr_err("smc: error loading firmware \"%s\"\n",
-+				pr_err("smc: error loading firmware\n",
- 				       fw_name);
+-				       fw_name);
++				pr_err("smc: error loading firmware\n");
  				release_firmware(rdev->smc_fw);
  				rdev->smc_fw = NULL;
  				err = 0;
  			} else if (rdev->smc_fw->size != smc_req_size) {
 -				pr_err("cik_smc: Bogus length %zu in firmware \"%s\"\n",
+-				       rdev->smc_fw->size, fw_name);
 +				pr_err("cik_smc: Bogus length %zu in firmware\n",
- 				       rdev->smc_fw->size, fw_name);
++				       rdev->smc_fw->size);
  				err = -EINVAL;
  			}
  		} else {
  			err = radeon_ucode_validate(rdev->smc_fw);
  			if (err) {
 -				pr_err("cik_fw: validation failed for firmware \"%s\"\n",
-+				pr_err("cik_fw: validation failed for firmware\n",
- 				       fw_name);
+-				       fw_name);
++				pr_err("cik_fw: validation failed for firmware\n");
  				goto out;
  			} else {
-@@ -2292,7 +2292,7 @@ static int cik_init_microcode(struct radeon_device *rdev)
+ 				new_fw++;
+@@ -2292,8 +2283,7 @@
  out:
  	if (err) {
  		if (err != -EINVAL)
 -			pr_err("cik_cp: Failed to load firmware \"%s\"\n",
-+			pr_err("cik_cp: Failed to load firmware\n",
- 			       fw_name);
+-			       fw_name);
++			pr_err("cik_cp: Failed to load firmware\n");
  		release_firmware(rdev->pfp_fw);
  		rdev->pfp_fw = NULL;
-diff --git a/drivers/gpu/drm/radeon/ni.c b/drivers/gpu/drm/radeon/ni.c
-index 9eccd0c..3b9b7d6 100644
---- a/drivers/gpu/drm/radeon/ni.c
-+++ b/drivers/gpu/drm/radeon/ni.c
-@@ -774,7 +774,7 @@ int ni_init_microcode(struct radeon_device *rdev)
+ 		release_firmware(rdev->me_fw);
+diff -ur a/drivers/gpu/drm/radeon/ni.c b/drivers/gpu/drm/radeon/ni.c
+--- a/drivers/gpu/drm/radeon/ni.c	2019-11-25 01:32:01.000000000 +0100
++++ b/drivers/gpu/drm/radeon/ni.c	2021-06-25 14:54:58.332092667 +0200
+@@ -770,15 +770,15 @@
+ 	default: BUG();
+ 	}
+
+-	DRM_INFO("Loading %s Microcode\n", chip_name);
++	DRM_INFO("Loading Microcode\n");
+
+ 	snprintf(fw_name, sizeof(fw_name), "radeon/%s_pfp.bin", chip_name);
+ 	err = request_firmware(&rdev->pfp_fw, fw_name, rdev->dev);
  	if (err)
  		goto out;
  	if (rdev->pfp_fw->size != pfp_req_size) {
 -		pr_err("ni_cp: Bogus length %zu in firmware \"%s\"\n",
+-		       rdev->pfp_fw->size, fw_name);
 +		pr_err("ni_cp: Bogus length %zu in firmware\n",
- 		       rdev->pfp_fw->size, fw_name);
++		       rdev->pfp_fw->size);
  		err = -EINVAL;
  		goto out;
-@@ -785,7 +785,7 @@ int ni_init_microcode(struct radeon_device *rdev)
+ 	}
+@@ -788,8 +788,8 @@
  	if (err)
  		goto out;
  	if (rdev->me_fw->size != me_req_size) {
 -		pr_err("ni_cp: Bogus length %zu in firmware \"%s\"\n",
+-		       rdev->me_fw->size, fw_name);
 +		pr_err("ni_cp: Bogus length %zu in firmware\n",
- 		       rdev->me_fw->size, fw_name);
++		       rdev->me_fw->size);
  		err = -EINVAL;
  	}
-@@ -795,7 +795,7 @@ int ni_init_microcode(struct radeon_device *rdev)
+
+@@ -798,8 +798,8 @@
  	if (err)
  		goto out;
  	if (rdev->rlc_fw->size != rlc_req_size) {
 -		pr_err("ni_rlc: Bogus length %zu in firmware \"%s\"\n",
+-		       rdev->rlc_fw->size, fw_name);
 +		pr_err("ni_rlc: Bogus length %zu in firmware\n",
- 		       rdev->rlc_fw->size, fw_name);
++		       rdev->rlc_fw->size);
  		err = -EINVAL;
  	}
-@@ -807,7 +807,7 @@ int ni_init_microcode(struct radeon_device *rdev)
+
+@@ -810,8 +810,8 @@
  		if (err)
  			goto out;
  		if (rdev->mc_fw->size != mc_req_size) {
 -			pr_err("ni_mc: Bogus length %zu in firmware \"%s\"\n",
+-			       rdev->mc_fw->size, fw_name);
 +			pr_err("ni_mc: Bogus length %zu in firmware\n",
- 			       rdev->mc_fw->size, fw_name);
++			       rdev->mc_fw->size);
  			err = -EINVAL;
  		}
-@@ -817,12 +817,12 @@ int ni_init_microcode(struct radeon_device *rdev)
+ 	}
+@@ -820,13 +820,13 @@
  		snprintf(fw_name, sizeof(fw_name), "radeon/%s_smc.bin", chip_name);
  		err = request_firmware(&rdev->smc_fw, fw_name, rdev->dev);
  		if (err) {
 -			pr_err("smc: error loading firmware \"%s\"\n", fw_name);
-+			pr_err("smc: error loading firmware\n", fw_name);
++			pr_err("smc: error loading firmware\n");
  			release_firmware(rdev->smc_fw);
  			rdev->smc_fw = NULL;
  			err = 0;
  		} else if (rdev->smc_fw->size != smc_req_size) {
 -			pr_err("ni_mc: Bogus length %zu in firmware \"%s\"\n",
+-			       rdev->mc_fw->size, fw_name);
 +			pr_err("ni_mc: Bogus length %zu in firmware\n",
- 			       rdev->mc_fw->size, fw_name);
++			       rdev->mc_fw->size);
  			err = -EINVAL;
  		}
-@@ -831,7 +831,7 @@ int ni_init_microcode(struct radeon_device *rdev)
+ 	}
+@@ -834,8 +834,7 @@
  out:
  	if (err) {
  		if (err != -EINVAL)
 -			pr_err("ni_cp: Failed to load firmware \"%s\"\n",
-+			pr_err("ni_cp: Failed to load firmware\n",
- 			       fw_name);
+-			       fw_name);
++			pr_err("ni_cp: Failed to load firmware\n");
  		release_firmware(rdev->pfp_fw);
  		rdev->pfp_fw = NULL;
-diff --git a/drivers/gpu/drm/radeon/r100.c b/drivers/gpu/drm/radeon/r100.c
-index c31e660..658eaf8 100644
---- a/drivers/gpu/drm/radeon/r100.c
-+++ b/drivers/gpu/drm/radeon/r100.c
-@@ -1042,9 +1042,9 @@ static int r100_cp_init_microcode(struct radeon_device *rdev)
- 
+ 		release_firmware(rdev->me_fw);
+diff -ur a/drivers/gpu/drm/radeon/r100.c b/drivers/gpu/drm/radeon/r100.c
+--- a/drivers/gpu/drm/radeon/r100.c	2021-06-25 14:52:20.000000000 +0200
++++ b/drivers/gpu/drm/radeon/r100.c	2021-06-25 14:54:58.332092667 +0200
+@@ -1048,10 +1048,10 @@
+
  	err = request_firmware(&rdev->me_fw, fw_name, rdev->dev);
  	if (err) {
 -		pr_err("radeon_cp: Failed to load firmware \"%s\"\n", fw_name);
-+		pr_err("radeon_cp: Failed to load firmware\n", fw_name);
++		pr_err("radeon_cp: Failed to load firmware\n");
  	} else if (rdev->me_fw->size % 8) {
 -		pr_err("radeon_cp: Bogus length %zu in firmware \"%s\"\n",
+-		       rdev->me_fw->size, fw_name);
 +		pr_err("radeon_cp: Bogus length %zu in firmware\n",
- 		       rdev->me_fw->size, fw_name);
++		       rdev->me_fw->size);
  		err = -EINVAL;
  		release_firmware(rdev->me_fw);
-diff --git a/drivers/gpu/drm/radeon/r600.c b/drivers/gpu/drm/radeon/r600.c
-index e06e2d8..9004945 100644
---- a/drivers/gpu/drm/radeon/r600.c
-+++ b/drivers/gpu/drm/radeon/r600.c
-@@ -2550,7 +2550,7 @@ int r600_init_microcode(struct radeon_device *rdev)
+ 		rdev->me_fw = NULL;
+diff -ur a/drivers/gpu/drm/radeon/r600.c b/drivers/gpu/drm/radeon/r600.c
+--- a/drivers/gpu/drm/radeon/r600.c	2021-06-25 14:52:20.000000000 +0200
++++ b/drivers/gpu/drm/radeon/r600.c	2021-06-25 14:54:58.332092667 +0200
+@@ -2549,15 +2549,15 @@
+ 		rlc_req_size = R600_RLC_UCODE_SIZE * 4;
+ 	}
+
+-	DRM_INFO("Loading %s Microcode\n", chip_name);
++	DRM_INFO("Loading Microcode\n");
+
+ 	snprintf(fw_name, sizeof(fw_name), "radeon/%s_pfp.bin", chip_name);
+ 	err = request_firmware(&rdev->pfp_fw, fw_name, rdev->dev);
  	if (err)
  		goto out;
  	if (rdev->pfp_fw->size != pfp_req_size) {
 -		pr_err("r600_cp: Bogus length %zu in firmware \"%s\"\n",
+-		       rdev->pfp_fw->size, fw_name);
 +		pr_err("r600_cp: Bogus length %zu in firmware\n",
- 		       rdev->pfp_fw->size, fw_name);
++		       rdev->pfp_fw->size);
  		err = -EINVAL;
  		goto out;
-@@ -2561,7 +2561,7 @@ int r600_init_microcode(struct radeon_device *rdev)
+ 	}
+@@ -2567,8 +2567,8 @@
  	if (err)
  		goto out;
  	if (rdev->me_fw->size != me_req_size) {
 -		pr_err("r600_cp: Bogus length %zu in firmware \"%s\"\n",
+-		       rdev->me_fw->size, fw_name);
 +		pr_err("r600_cp: Bogus length %zu in firmware\n",
- 		       rdev->me_fw->size, fw_name);
++		       rdev->me_fw->size);
  		err = -EINVAL;
  	}
-@@ -2571,7 +2571,7 @@ int r600_init_microcode(struct radeon_device *rdev)
+
+@@ -2577,8 +2577,8 @@
  	if (err)
  		goto out;
  	if (rdev->rlc_fw->size != rlc_req_size) {
 -		pr_err("r600_rlc: Bogus length %zu in firmware \"%s\"\n",
+-		       rdev->rlc_fw->size, fw_name);
 +		pr_err("r600_rlc: Bogus length %zu in firmware\n",
- 		       rdev->rlc_fw->size, fw_name);
++		       rdev->rlc_fw->size);
  		err = -EINVAL;
  	}
-@@ -2580,12 +2580,12 @@ int r600_init_microcode(struct radeon_device *rdev)
+
+@@ -2586,13 +2586,13 @@
  		snprintf(fw_name, sizeof(fw_name), "radeon/%s_smc.bin", smc_chip_name);
  		err = request_firmware(&rdev->smc_fw, fw_name, rdev->dev);
  		if (err) {
 -			pr_err("smc: error loading firmware \"%s\"\n", fw_name);
-+			pr_err("smc: error loading firmware\n", fw_name);
++			pr_err("smc: error loading firmware\n");
  			release_firmware(rdev->smc_fw);
  			rdev->smc_fw = NULL;
  			err = 0;
  		} else if (rdev->smc_fw->size != smc_req_size) {
 -			pr_err("smc: Bogus length %zu in firmware \"%s\"\n",
+-			       rdev->smc_fw->size, fw_name);
 +			pr_err("smc: Bogus length %zu in firmware\n",
- 			       rdev->smc_fw->size, fw_name);
++			       rdev->smc_fw->size);
  			err = -EINVAL;
  		}
-@@ -2594,7 +2594,7 @@ int r600_init_microcode(struct radeon_device *rdev)
+ 	}
+@@ -2600,8 +2600,7 @@
  out:
  	if (err) {
  		if (err != -EINVAL)
 -			pr_err("r600_cp: Failed to load firmware \"%s\"\n",
-+			pr_err("r600_cp: Failed to load firmware\n",
- 			       fw_name);
+-			       fw_name);
++			pr_err("r600_cp: Failed to load firmware\n");
  		release_firmware(rdev->pfp_fw);
  		rdev->pfp_fw = NULL;
-diff --git a/drivers/gpu/drm/radeon/radeon_uvd.c b/drivers/gpu/drm/radeon/radeon_uvd.c
-index d34d1cf..10e859c 100644
---- a/drivers/gpu/drm/radeon/radeon_uvd.c
-+++ b/drivers/gpu/drm/radeon/radeon_uvd.c
-@@ -140,7 +140,7 @@ int radeon_uvd_init(struct radeon_device *rdev)
+ 		release_firmware(rdev->me_fw);
+diff -ur a/drivers/gpu/drm/radeon/radeon_uvd.c b/drivers/gpu/drm/radeon/radeon_uvd.c
+--- a/drivers/gpu/drm/radeon/radeon_uvd.c	2019-11-25 01:32:01.000000000 +0100
++++ b/drivers/gpu/drm/radeon/radeon_uvd.c	2021-06-25 14:54:58.332092667 +0200
+@@ -140,8 +140,7 @@
  		/* Let's try to load the newer firmware first */
  		r = request_firmware(&rdev->uvd_fw, fw_name, rdev->dev);
  		if (r) {
 -			dev_err(rdev->dev, "radeon_uvd: Can't load firmware \"%s\"\n",
-+			dev_err(rdev->dev, "radeon_uvd: Can't load firmware\n",
- 				fw_name);
+-				fw_name);
++			dev_err(rdev->dev, "radeon_uvd: Can't load firmware\n");
  		} else {
  			struct common_firmware_header *hdr = (void *)rdev->uvd_fw->data;
-@@ -175,7 +175,7 @@ int radeon_uvd_init(struct radeon_device *rdev)
+ 			unsigned version_major, version_minor, family_id;
+@@ -175,8 +174,7 @@
  	if (!fw_name || r) {
  		r = request_firmware(&rdev->uvd_fw, legacy_fw_name, rdev->dev);
  		if (r) {
 -			dev_err(rdev->dev, "radeon_uvd: Can't load firmware \"%s\"\n",
-+			dev_err(rdev->dev, "radeon_uvd: Can't load firmware\n",
- 				legacy_fw_name);
+-				legacy_fw_name);
++			dev_err(rdev->dev, "radeon_uvd: Can't load firmware\n");
  			return r;
  		}
-diff --git a/drivers/gpu/drm/radeon/radeon_vce.c b/drivers/gpu/drm/radeon/radeon_vce.c
-index c1c619f..744612d 100644
---- a/drivers/gpu/drm/radeon/radeon_vce.c
-+++ b/drivers/gpu/drm/radeon/radeon_vce.c
-@@ -87,7 +87,7 @@ int radeon_vce_init(struct radeon_device *rdev)
- 
+ 	}
+diff -ur a/drivers/gpu/drm/radeon/radeon_vce.c b/drivers/gpu/drm/radeon/radeon_vce.c
+--- a/drivers/gpu/drm/radeon/radeon_vce.c	2019-11-25 01:32:01.000000000 +0100
++++ b/drivers/gpu/drm/radeon/radeon_vce.c	2021-06-25 14:54:58.332092667 +0200
+@@ -87,8 +87,7 @@
+
  	r = request_firmware(&rdev->vce_fw, fw_name, rdev->dev);
  	if (r) {
 -		dev_err(rdev->dev, "radeon_vce: Can't load firmware \"%s\"\n",
-+		dev_err(rdev->dev, "radeon_vce: Can't load firmware\n",
- 			fw_name);
+-			fw_name);
++		dev_err(rdev->dev, "radeon_vce: Can't load firmware\n");
  		return r;
  	}
-diff --git a/drivers/gpu/drm/radeon/si.c b/drivers/gpu/drm/radeon/si.c
-index 1907c95..7ff65cc 100644
---- a/drivers/gpu/drm/radeon/si.c
-+++ b/drivers/gpu/drm/radeon/si.c
-@@ -1786,7 +1786,7 @@ static int si_init_microcode(struct radeon_device *rdev)
+
+diff -ur a/drivers/gpu/drm/radeon/si.c b/drivers/gpu/drm/radeon/si.c
+--- a/drivers/gpu/drm/radeon/si.c	2021-06-25 14:52:20.000000000 +0200
++++ b/drivers/gpu/drm/radeon/si.c	2021-06-25 14:54:58.336092716 +0200
+@@ -1780,7 +1780,7 @@
+ 	if (((RREG32(MC_SEQ_MISC0) & 0xff000000) >> 24) == 0x58)
+ 		si58_fw = true;
+
+-	DRM_INFO("Loading %s Microcode\n", new_chip_name);
++	DRM_INFO("Loading Microcode\n");
+
+ 	snprintf(fw_name, sizeof(fw_name), "radeon/%s_pfp.bin", new_chip_name);
+ 	err = request_firmware(&rdev->pfp_fw, fw_name, rdev->dev);
+@@ -1790,16 +1790,15 @@
  		if (err)
  			goto out;
  		if (rdev->pfp_fw->size != pfp_req_size) {
 -			pr_err("si_cp: Bogus length %zu in firmware \"%s\"\n",
+-			       rdev->pfp_fw->size, fw_name);
 +			pr_err("si_cp: Bogus length %zu in firmware\n",
- 			       rdev->pfp_fw->size, fw_name);
++			       rdev->pfp_fw->size);
  			err = -EINVAL;
  			goto out;
-@@ -1794,7 +1794,7 @@ static int si_init_microcode(struct radeon_device *rdev)
+ 		}
  	} else {
  		err = radeon_ucode_validate(rdev->pfp_fw);
  		if (err) {
 -			pr_err("si_cp: validation failed for firmware \"%s\"\n",
-+			pr_err("si_cp: validation failed for firmware\n",
- 			       fw_name);
+-			       fw_name);
++			pr_err("si_cp: validation failed for firmware\n");
  			goto out;
  		} else {
-@@ -1810,14 +1810,14 @@ static int si_init_microcode(struct radeon_device *rdev)
+ 			new_fw++;
+@@ -1814,15 +1813,14 @@
  		if (err)
  			goto out;
  		if (rdev->me_fw->size != me_req_size) {
 -			pr_err("si_cp: Bogus length %zu in firmware \"%s\"\n",
+-			       rdev->me_fw->size, fw_name);
 +			pr_err("si_cp: Bogus length %zu in firmware\n",
- 			       rdev->me_fw->size, fw_name);
++			       rdev->me_fw->size);
  			err = -EINVAL;
  		}
  	} else {
  		err = radeon_ucode_validate(rdev->me_fw);
  		if (err) {
 -			pr_err("si_cp: validation failed for firmware \"%s\"\n",
-+			pr_err("si_cp: validation failed for firmware\n",
- 			       fw_name);
+-			       fw_name);
++			pr_err("si_cp: validation failed for firmware\n");
  			goto out;
  		} else {
-@@ -1833,14 +1833,14 @@ static int si_init_microcode(struct radeon_device *rdev)
+ 			new_fw++;
+@@ -1837,15 +1835,14 @@
  		if (err)
  			goto out;
  		if (rdev->ce_fw->size != ce_req_size) {
 -			pr_err("si_cp: Bogus length %zu in firmware \"%s\"\n",
+-			       rdev->ce_fw->size, fw_name);
 +			pr_err("si_cp: Bogus length %zu in firmware\n",
- 			       rdev->ce_fw->size, fw_name);
++			       rdev->ce_fw->size);
  			err = -EINVAL;
  		}
  	} else {
  		err = radeon_ucode_validate(rdev->ce_fw);
  		if (err) {
 -			pr_err("si_cp: validation failed for firmware \"%s\"\n",
-+			pr_err("si_cp: validation failed for firmware\n",
- 			       fw_name);
+-			       fw_name);
++			pr_err("si_cp: validation failed for firmware\n");
  			goto out;
  		} else {
-@@ -1856,14 +1856,14 @@ static int si_init_microcode(struct radeon_device *rdev)
+ 			new_fw++;
+@@ -1860,15 +1857,14 @@
  		if (err)
  			goto out;
  		if (rdev->rlc_fw->size != rlc_req_size) {
 -			pr_err("si_rlc: Bogus length %zu in firmware \"%s\"\n",
+-			       rdev->rlc_fw->size, fw_name);
 +			pr_err("si_rlc: Bogus length %zu in firmware\n",
- 			       rdev->rlc_fw->size, fw_name);
++			       rdev->rlc_fw->size);
  			err = -EINVAL;
  		}
  	} else {
  		err = radeon_ucode_validate(rdev->rlc_fw);
  		if (err) {
 -			pr_err("si_cp: validation failed for firmware \"%s\"\n",
-+			pr_err("si_cp: validation failed for firmware\n",
- 			       fw_name);
+-			       fw_name);
++			pr_err("si_cp: validation failed for firmware\n");
  			goto out;
  		} else {
-@@ -1887,7 +1887,7 @@ static int si_init_microcode(struct radeon_device *rdev)
+ 			new_fw++;
+@@ -1891,16 +1887,15 @@
  		}
  		if ((rdev->mc_fw->size != mc_req_size) &&
  		    (rdev->mc_fw->size != mc2_req_size)) {
 -			pr_err("si_mc: Bogus length %zu in firmware \"%s\"\n",
+-			       rdev->mc_fw->size, fw_name);
 +			pr_err("si_mc: Bogus length %zu in firmware\n",
- 			       rdev->mc_fw->size, fw_name);
++			       rdev->mc_fw->size);
  			err = -EINVAL;
  		}
-@@ -1895,7 +1895,7 @@ static int si_init_microcode(struct radeon_device *rdev)
+ 		DRM_INFO("%s: %zu bytes\n", fw_name, rdev->mc_fw->size);
  	} else {
  		err = radeon_ucode_validate(rdev->mc_fw);
  		if (err) {
 -			pr_err("si_cp: validation failed for firmware \"%s\"\n",
-+			pr_err("si_cp: validation failed for firmware\n",
- 			       fw_name);
+-			       fw_name);
++			pr_err("si_cp: validation failed for firmware\n");
  			goto out;
  		} else {
-@@ -1914,19 +1914,19 @@ static int si_init_microcode(struct radeon_device *rdev)
+ 			new_fw++;
+@@ -1918,20 +1913,19 @@
  		snprintf(fw_name, sizeof(fw_name), "radeon/%s_smc.bin", chip_name);
  		err = request_firmware(&rdev->smc_fw, fw_name, rdev->dev);
  		if (err) {
 -			pr_err("smc: error loading firmware \"%s\"\n", fw_name);
-+			pr_err("smc: error loading firmware\n", fw_name);
++			pr_err("smc: error loading firmware\n");
  			release_firmware(rdev->smc_fw);
  			rdev->smc_fw = NULL;
  			err = 0;
  		} else if (rdev->smc_fw->size != smc_req_size) {
 -			pr_err("si_smc: Bogus length %zu in firmware \"%s\"\n",
+-			       rdev->smc_fw->size, fw_name);
 +			pr_err("si_smc: Bogus length %zu in firmware\n",
- 			       rdev->smc_fw->size, fw_name);
++			       rdev->smc_fw->size);
  			err = -EINVAL;
  		}
  	} else {
  		err = radeon_ucode_validate(rdev->smc_fw);
  		if (err) {
 -			pr_err("si_cp: validation failed for firmware \"%s\"\n",
-+			pr_err("si_cp: validation failed for firmware\n",
- 			       fw_name);
+-			       fw_name);
++			pr_err("si_cp: validation failed for firmware\n");
  			goto out;
  		} else {
-@@ -1945,7 +1945,7 @@ static int si_init_microcode(struct radeon_device *rdev)
+ 			new_fw++;
+@@ -1949,8 +1943,7 @@
  out:
  	if (err) {
  		if (err != -EINVAL)
 -			pr_err("si_cp: Failed to load firmware \"%s\"\n",
-+			pr_err("si_cp: Failed to load firmware\n",
- 			       fw_name);
+-			       fw_name);
++			pr_err("si_cp: Failed to load firmware\n");
  		release_firmware(rdev->pfp_fw);
  		rdev->pfp_fw = NULL;
-diff --git a/drivers/net/wireless/intel/ipw2x00/ipw2200.c b/drivers/net/wireless/intel/ipw2x00/ipw2200.c
-index 9368abd..fa4de6a 100644
---- a/drivers/net/wireless/intel/ipw2x00/ipw2200.c
-+++ b/drivers/net/wireless/intel/ipw2x00/ipw2200.c
-@@ -3417,12 +3417,12 @@ static int ipw_get_fw(struct ipw_priv *priv,
+ 		release_firmware(rdev->me_fw);
+diff -ur a/drivers/net/wireless/intel/ipw2x00/ipw2100.c b/drivers/net/wireless/intel/ipw2x00/ipw2100.c
+--- a/drivers/net/wireless/intel/ipw2x00/ipw2100.c	2021-06-25 14:52:20.000000000 +0200
++++ b/drivers/net/wireless/intel/ipw2x00/ipw2100.c	2021-06-25 14:54:58.336092716 +0200
+@@ -8395,8 +8395,8 @@
+
+ 	if (rc < 0) {
+ 		printk(KERN_ERR DRV_NAME ": "
+-		       "%s: Firmware '%s' not available or load failed.\n",
+-		       priv->net_dev->name, fw_name);
++		       "%s: Firmware not available or load failed.\n",
++		       priv->net_dev->name);
+ 		return rc;
+ 	}
+ 	IPW_DEBUG_INFO("firmware data %p size %zd\n", fw->fw_entry->data,
+diff -ur a/drivers/net/wireless/intel/ipw2x00/ipw2200.c b/drivers/net/wireless/intel/ipw2x00/ipw2200.c
+--- a/drivers/net/wireless/intel/ipw2x00/ipw2200.c	2021-06-25 14:52:20.000000000 +0200
++++ b/drivers/net/wireless/intel/ipw2x00/ipw2200.c	2021-06-25 14:54:58.336092716 +0200
+@@ -3398,12 +3398,12 @@
  	/* ask firmware_class module to get the boot firmware off disk */
  	rc = request_firmware(raw, name, &priv->pci_dev->dev);
  	if (rc < 0) {
@@ -717,15 +1048,15 @@ index 9368abd..fa4de6a 100644
 +		IPW_ERROR("request_firmware failed: Reason %d\n", rc);
  		return rc;
  	}
- 
+
  	if ((*raw)->size < sizeof(*fw)) {
 -		IPW_ERROR("%s is too small (%zd)\n", name, (*raw)->size);
 +		IPW_ERROR("Firmware file is too small (%zd)\n", (*raw)->size);
  		return -EINVAL;
  	}
- 
-@@ -3430,13 +3430,12 @@ static int ipw_get_fw(struct ipw_priv *priv,
- 
+
+@@ -3411,13 +3411,12 @@
+
  	if ((*raw)->size < sizeof(*fw) + le32_to_cpu(fw->boot_size) +
  	    le32_to_cpu(fw->ucode_size) + le32_to_cpu(fw->fw_size)) {
 -		IPW_ERROR("%s is too small or corrupt (%zd)\n",
@@ -734,476 +1065,269 @@ index 9368abd..fa4de6a 100644
 +			  (*raw)->size);
  		return -EINVAL;
  	}
- 
+
 -	IPW_DEBUG_INFO("Read firmware '%s' image v%d.%d (%zd bytes)\n",
 -		       name,
 +	IPW_DEBUG_INFO("Read firmware image v%d.%d (%zd bytes)\n",
  		       le32_to_cpu(fw->ver) >> 16,
  		       le32_to_cpu(fw->ver) & 0xff,
  		       (*raw)->size - sizeof(*fw));
-@@ -3569,7 +3568,7 @@ static int ipw_load(struct ipw_priv *priv)
- 	/* DMA the initial boot firmware into the device */
- 	rc = ipw_load_firmware(priv, boot_img, le32_to_cpu(fw->boot_size));
- 	if (rc < 0) {
--		IPW_ERROR("Unable to load boot firmware: %d\n", rc);
-+		IPW_ERROR("Unable to load boot firmware\n", rc);
- 		goto error;
- 	}
- 
-@@ -3601,7 +3600,7 @@ static int ipw_load(struct ipw_priv *priv)
- 	/* DMA bss firmware into the device */
- 	rc = ipw_load_firmware(priv, fw_img, le32_to_cpu(fw->fw_size));
- 	if (rc < 0) {
--		IPW_ERROR("Unable to load firmware: %d\n", rc);
-+		IPW_ERROR("Unable to load firmware\n", rc);
- 		goto error;
- 	}
- #ifdef CONFIG_PM
-@@ -11213,7 +11212,7 @@ static int ipw_up(struct ipw_priv *priv)
- 		 * Also start the clocks. */
- 		rc = ipw_load(priv);
- 		if (rc) {
--			IPW_ERROR("Unable to load firmware: %d\n", rc);
-+			IPW_ERROR("Unable to load firmware\n", rc);
- 			return rc;
- 		}
- 
-diff --git a/drivers/net/wireless/intel/iwlegacy/3945-mac.c b/drivers/net/wireless/intel/iwlegacy/3945-mac.c
-index 38bf403..a7934a6 100644
---- a/drivers/net/wireless/intel/iwlegacy/3945-mac.c
-+++ b/drivers/net/wireless/intel/iwlegacy/3945-mac.c
-@@ -1861,7 +1861,7 @@ il3945_read_ucode(struct il_priv *il)
+diff -ur a/drivers/net/wireless/intel/iwlegacy/3945-mac.c b/drivers/net/wireless/intel/iwlegacy/3945-mac.c
+--- a/drivers/net/wireless/intel/iwlegacy/3945-mac.c	2021-06-25 14:52:20.000000000 +0200
++++ b/drivers/net/wireless/intel/iwlegacy/3945-mac.c	2021-06-25 14:54:58.336092716 +0200
+@@ -1839,7 +1839,7 @@
  		sprintf(buf, "%s%u%s", name_pre, idx, ".ucode");
  		ret = request_firmware(&ucode_raw, buf, &il->pci_dev->dev);
  		if (ret < 0) {
 -			IL_ERR("%s firmware file req failed: %d\n", buf, ret);
-+			IL_ERR("Firmware file req failed\n", buf, ret);
++			IL_ERR("Firmware file req failed: %d\n", ret);
  			if (ret == -ENOENT)
  				continue;
  			else
-@@ -1870,7 +1870,7 @@ il3945_read_ucode(struct il_priv *il)
- 			if (idx < api_max)
- 				IL_ERR("Loaded firmware %s, "
- 				       "which is deprecated. "
--				       " Please use API v%u instead.\n", buf,
-+				       "\n", buf,
- 				       api_max);
- 			D_INFO("Got firmware '%s' file "
- 			       "(%zd bytes) from disk\n", buf, ucode_raw->size);
-@@ -1906,16 +1906,14 @@ il3945_read_ucode(struct il_priv *il)
- 
- 	if (api_ver < api_min || api_ver > api_max) {
- 		IL_ERR("Driver unable to support your firmware API. "
--		       "Driver supports v%u, firmware is v%u.\n", api_max,
-+		       "\n", api_max,
- 		       api_ver);
- 		il->ucode_ver = 0;
- 		ret = -EINVAL;
- 		goto err_release;
+@@ -3702,7 +3702,7 @@
+ 		goto out_unset_hw_params;
  	}
- 	if (api_ver != api_max)
--		IL_ERR("Firmware has old API version. Expected %u, "
--		       "got %u. New firmware can be obtained "
--		       "from http://www.intellinuxwireless.org.\n", api_max,
-+		IL_ERR("Firmware has old API version\n", api_max,
- 		       api_ver);
- 
- 	IL_INFO("loaded firmware version %u.%u.%u.%u\n",
-diff --git a/drivers/net/wireless/intel/iwlegacy/4965-mac.c b/drivers/net/wireless/intel/iwlegacy/4965-mac.c
-index 5b51fba..b16ab69 100644
---- a/drivers/net/wireless/intel/iwlegacy/4965-mac.c
-+++ b/drivers/net/wireless/intel/iwlegacy/4965-mac.c
-@@ -4708,7 +4708,7 @@ il4965_request_firmware(struct il_priv *il, bool first)
- 
+
+-	IL_INFO("Detected Intel Wireless WiFi Link %s\n", il->cfg->name);
++	IL_INFO("Detected Intel Wireless WiFi Link\n");
+
+ 	/***********************
+ 	 * 7. Setup Services
+diff -ur a/drivers/net/wireless/intel/iwlegacy/4965-mac.c b/drivers/net/wireless/intel/iwlegacy/4965-mac.c
+--- a/drivers/net/wireless/intel/iwlegacy/4965-mac.c	2021-06-25 14:52:20.000000000 +0200
++++ b/drivers/net/wireless/intel/iwlegacy/4965-mac.c	2021-06-25 14:54:58.336092716 +0200
+@@ -4690,7 +4690,7 @@
+
  	sprintf(il->firmware_name, "%s%s%s", name_pre, tag, ".ucode");
- 
+
 -	D_INFO("attempting to load firmware '%s'\n", il->firmware_name);
-+	D_INFO("attempting to load firmware\n", il->firmware_name);
- 
++	D_INFO("attempting to load firmware\n");
+
  	return request_firmware_nowait(THIS_MODULE, 1, il->firmware_name,
  				       &il->pci_dev->dev, GFP_KERNEL, il,
-@@ -4799,7 +4799,7 @@ il4965_ucode_callback(const struct firmware *ucode_raw, void *context)
- 
+@@ -4780,8 +4780,7 @@
+
  	if (!ucode_raw) {
  		if (il->fw_idx <= il->cfg->ucode_api_max)
 -			IL_ERR("request for firmware file '%s' failed.\n",
-+			IL_ERR("request for firmware failed.\n",
- 			       il->firmware_name);
+-			       il->firmware_name);
++			IL_ERR("request for firmware failed.\n");
  		goto try_again;
  	}
-@@ -4829,16 +4829,13 @@ il4965_ucode_callback(const struct firmware *ucode_raw, void *context)
- 	 * on the API version read from firmware header from here on forward
- 	 */
- 	if (api_ver < api_min || api_ver > api_max) {
--		IL_ERR("Driver unable to support your firmware API. "
--		       "Driver supports v%u, firmware is v%u.\n", api_max,
-+		IL_ERR("Driver unable to support your firmware API.\n", api_max,
- 		       api_ver);
- 		goto try_again;
+
+diff -ur a/drivers/net/wireless/intel/iwlwifi/dvm/main.c b/drivers/net/wireless/intel/iwlwifi/dvm/main.c
+--- a/drivers/net/wireless/intel/iwlwifi/dvm/main.c	2019-11-25 01:32:01.000000000 +0100
++++ b/drivers/net/wireless/intel/iwlwifi/dvm/main.c	2021-06-25 14:59:00.475523656 +0200
+@@ -1255,7 +1255,7 @@
+ 	 ************************/
+ 	hw = iwl_alloc_all();
+ 	if (!hw) {
+-		pr_err("%s: Cannot allocate network device\n", cfg->name);
++		pr_err(": Cannot allocate network device\n");
+ 		goto out;
  	}
- 
- 	if (api_ver != api_max)
--		IL_ERR("Firmware has old API version. Expected v%u, "
--		       "got v%u. New firmware can be obtained "
--		       "from http://www.intellinuxwireless.org.\n", api_max,
-+		IL_ERR("Firmware has old API version.\n", api_max,
- 		       api_ver);
- 
- 	IL_INFO("loaded firmware version %u.%u.%u.%u\n",
-diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c
-index 4e0f86f..05ac835 100644
---- a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c
-+++ b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c
-@@ -257,7 +257,7 @@ static int iwl_request_firmware(struct iwl_drv *drv, bool first)
+
+@@ -1389,8 +1389,7 @@
+ 	/***********************
+ 	 * 2. Read REV register
+ 	 ***********************/
+-	IWL_INFO(priv, "Detected %s, REV=0x%X\n",
+-		priv->cfg->name, priv->trans->hw_rev);
++	IWL_INFO(priv, "Detected, REV=0x%X\n", priv->trans->hw_rev);
+
+ 	if (iwl_trans_start_hw(priv->trans))
+ 		goto out_free_hw;
+diff -ur a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c
+--- a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c	2021-06-25 14:52:20.000000000 +0200
++++ b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c	2021-06-25 14:54:58.336092716 +0200
+@@ -253,8 +253,7 @@
  	snprintf(drv->firmware_name, sizeof(drv->firmware_name), "%s%s.ucode",
- 		 fw_pre_name, tag);
- 
--	IWL_DEBUG_INFO(drv, "attempting to load firmware '%s'\n",
-+	IWL_DEBUG_INFO(drv, "attempting to load firmware\n",
- 		       drv->firmware_name);
- 
+ 		 cfg->fw_name_pre, tag);
+
+-	IWL_DEBUG_FW_INFO(drv, "attempting to load firmware '%s'\n",
+-			  drv->firmware_name);
++	IWL_DEBUG_FW_INFO(drv, "attempting to load firmware\n");
+
  	return request_firmware_nowait(THIS_MODULE, 1, drv->firmware_name,
-diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
-index 82863e9..1f2f235 100644
---- a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
-+++ b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
-@@ -1677,7 +1677,7 @@ int iwl_mvm_load_d3_fw(struct iwl_mvm *mvm)
- 
- 	ret = iwl_mvm_load_ucode_wait_alive(mvm, IWL_UCODE_WOWLAN);
- 	if (ret) {
--		IWL_ERR(mvm, "Failed to start WoWLAN firmware: %d\n", ret);
-+		IWL_ERR(mvm, "Failed to start WoWLAN firmware\n", ret);
- 		goto error;
- 	}
- 
-diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/nvm.c b/drivers/net/wireless/intel/iwlwifi/mvm/nvm.c
-index dac7e54..d2aefe6 100644
---- a/drivers/net/wireless/intel/iwlwifi/mvm/nvm.c
-+++ b/drivers/net/wireless/intel/iwlwifi/mvm/nvm.c
-@@ -410,7 +410,7 @@ int iwl_mvm_read_external_nvm(struct iwl_mvm *mvm)
- 	ret = request_firmware(&fw_entry, mvm->nvm_file_name,
- 			       mvm->trans->dev);
+ 				       drv->trans->dev,
+diff -ur a/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c b/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c
+--- a/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c	2021-06-25 14:52:20.000000000 +0200
++++ b/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c	2021-06-25 14:54:58.340092764 +0200
+@@ -1312,8 +1312,8 @@
+ 	 */
+ 	ret = request_firmware(&fw_entry, nvm_file_name, trans->dev);
  	if (ret) {
--		IWL_ERR(mvm, "ERROR: %s isn't available %d\n",
-+		IWL_ERR(mvm, "ERROR: firmware isn't available \n",
- 			mvm->nvm_file_name, ret);
+-		IWL_ERR(trans, "ERROR: %s isn't available %d\n",
+-			nvm_file_name, ret);
++		IWL_ERR(trans, "ERROR: firmware isn't available %d\n",
++			ret);
  		return ret;
  	}
-diff --git a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
-index 21e5ef0..520e63b 100644
---- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
-+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
-@@ -2074,9 +2074,9 @@ int rtl8xxxu_load_firmware(struct rtl8xxxu_priv *priv, char *fw_name)
+
+diff -ur a/drivers/net/wireless/intel/iwlwifi/mvm/ops.c b/drivers/net/wireless/intel/iwlwifi/mvm/ops.c
+--- a/drivers/net/wireless/intel/iwlwifi/mvm/ops.c	2021-06-25 14:52:20.000000000 +0200
++++ b/drivers/net/wireless/intel/iwlwifi/mvm/ops.c	2021-06-25 14:57:59.617549796 +0200
+@@ -807,8 +807,7 @@
+ 		goto out_free;
+ 	}
+
+-	IWL_INFO(mvm, "Detected %s, REV=0x%X\n",
+-		 mvm->cfg->name, mvm->trans->hw_rev);
++	IWL_INFO(mvm, "Detected, REV=0x%X\n", mvm->trans->hw_rev);
+
+ 	if (iwlwifi_mod_params.nvm_file)
+ 		mvm->nvm_file_name = iwlwifi_mod_params.nvm_file;
+diff -ur a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
+--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c	2021-06-25 14:52:20.000000000 +0200
++++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c	2021-06-25 14:54:58.340092764 +0200
+@@ -2070,9 +2070,9 @@
  	int ret = 0;
  	u16 signature;
- 
+
 -	dev_info(dev, "%s: Loading firmware %s\n", DRIVER_NAME, fw_name);
-+	dev_info(dev, "%s: Loading firmware\n", DRIVER_NAME, fw_name);
++	dev_info(dev, "%s: Loading firmware\n", DRIVER_NAME);
  	if (request_firmware(&fw, fw_name, &priv->udev->dev)) {
 -		dev_warn(dev, "request_firmware(%s) failed\n", fw_name);
-+		dev_warn(dev, "request_firmware failed\n", fw_name);
++		dev_warn(dev, "request_firmware failed\n");
  		ret = -EAGAIN;
  		goto exit;
  	}
-diff --git a/drivers/net/wireless/realtek/rtlwifi/core.c b/drivers/net/wireless/realtek/rtlwifi/core.c
-index b0ad061..dab2248 100644
---- a/drivers/net/wireless/realtek/rtlwifi/core.c
-+++ b/drivers/net/wireless/realtek/rtlwifi/core.c
-@@ -106,7 +106,7 @@ static void rtl_fw_do_work(const struct firmware *firmware, void *context,
+diff -ur a/drivers/net/wireless/realtek/rtlwifi/core.c b/drivers/net/wireless/realtek/rtlwifi/core.c
+--- a/drivers/net/wireless/realtek/rtlwifi/core.c	2019-11-25 01:32:01.000000000 +0100
++++ b/drivers/net/wireless/realtek/rtlwifi/core.c	2021-06-25 14:54:58.340092764 +0200
+@@ -84,8 +84,7 @@
  			err = request_firmware(&firmware,
  					       rtlpriv->cfg->alt_fw_name,
  					       rtlpriv->io.dev);
 -			pr_info("Loading alternative firmware %s\n",
-+			pr_info("Loading alternative firmware \n",
- 				rtlpriv->cfg->alt_fw_name);
+-				rtlpriv->cfg->alt_fw_name);
++			pr_info("Loading alternative firmware\n");
  			if (!err)
  				goto found_alt;
-diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/sw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/sw.c
-index 774e720..a364c1b 100644
---- a/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/sw.c
-+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/sw.c
-@@ -169,7 +169,7 @@ int rtl88e_init_sw_vars(struct ieee80211_hw *hw)
- 
+ 		}
+diff -ur a/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/sw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/sw.c
+--- a/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/sw.c	2019-11-25 01:32:01.000000000 +0100
++++ b/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/sw.c	2021-06-25 14:54:58.340092764 +0200
+@@ -144,7 +144,7 @@
+
  	fw_name = "rtlwifi/rtl8188efw.bin";
  	rtlpriv->max_fw_size = 0x8000;
 -	pr_info("Using firmware %s\n", fw_name);
-+	pr_info("Using firmware \n", fw_name);
++	pr_info("Using firmware\n");
  	err = request_firmware_nowait(THIS_MODULE, 1, fw_name,
  				      rtlpriv->io.dev, GFP_KERNEL, hw,
  				      rtl_fw_cb);
-diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/sw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/sw.c
-index bcbb0c6..a1a9734 100644
---- a/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/sw.c
-+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/sw.c
-@@ -170,7 +170,7 @@ int rtl92c_init_sw_vars(struct ieee80211_hw *hw)
+diff -ur a/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/sw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/sw.c
+--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/sw.c	2019-11-25 01:32:01.000000000 +0100
++++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/sw.c	2021-06-25 14:54:58.340092764 +0200
+@@ -147,7 +147,7 @@
  		fw_name = "rtlwifi/rtl8192cfw.bin";
- 
+
  	rtlpriv->max_fw_size = 0x4000;
 -	pr_info("Using firmware %s\n", fw_name);
-+	pr_info("Using firmware \n", fw_name);
++	pr_info("Using firmware\n");
  	err = request_firmware_nowait(THIS_MODULE, 1, fw_name,
  				      rtlpriv->io.dev, GFP_KERNEL, hw,
  				      rtl_fw_cb);
-diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c
-index 96c923b..26eece2 100644
---- a/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c
-+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c
-@@ -80,7 +80,7 @@ static int rtl92cu_init_sw_vars(struct ieee80211_hw *hw)
+diff -ur a/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c
+--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c	2019-11-25 01:32:01.000000000 +0100
++++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c	2021-06-25 14:54:58.340092764 +0200
+@@ -56,7 +56,7 @@
  	}
  	/* provide name of alternative file */
  	rtlpriv->cfg->alt_fw_name = "rtlwifi/rtl8192cufw.bin";
 -	pr_info("Loading firmware %s\n", fw_name);
-+	pr_info("Loading firmware \n", fw_name);
++	pr_info("Loading firmware\n");
  	rtlpriv->max_fw_size = 0x4000;
  	err = request_firmware_nowait(THIS_MODULE, 1,
  				      fw_name, rtlpriv->io.dev,
-diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192de/sw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192de/sw.c
-index 16132c6..dc9db6d 100644
---- a/drivers/net/wireless/realtek/rtlwifi/rtl8192de/sw.c
-+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192de/sw.c
-@@ -175,7 +175,7 @@ static int rtl92d_init_sw_vars(struct ieee80211_hw *hw)
- 
+diff -ur a/drivers/net/wireless/realtek/rtlwifi/rtl8192de/sw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192de/sw.c
+--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192de/sw.c	2021-06-25 14:52:20.000000000 +0200
++++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192de/sw.c	2021-06-25 14:54:58.340092764 +0200
+@@ -154,7 +154,7 @@
+
  	rtlpriv->max_fw_size = 0x8000;
  	pr_info("Driver for Realtek RTL8192DE WLAN interface\n");
 -	pr_info("Loading firmware file %s\n", fw_name);
-+	pr_info("Loading firmware file\n", fw_name);
- 
++	pr_info("Loading firmware\n");
+
  	/* request fw */
  	err = request_firmware_nowait(THIS_MODULE, 1, fw_name,
-diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/sw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/sw.c
-index eaa503b..343f691 100644
---- a/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/sw.c
-+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/sw.c
-@@ -171,7 +171,7 @@ int rtl92ee_init_sw_vars(struct ieee80211_hw *hw)
+diff -ur a/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/sw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/sw.c
+--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/sw.c	2019-11-25 01:32:01.000000000 +0100
++++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/sw.c	2021-06-25 14:54:58.340092764 +0200
+@@ -150,7 +150,7 @@
  	fw_name = "rtlwifi/rtl8192eefw.bin";
- 
+
  	rtlpriv->max_fw_size = 0x8000;
 -	pr_info("Using firmware %s\n", fw_name);
-+	pr_info("Using firmware \n", fw_name);
++	pr_info("Using firmware\n");
  	err = request_firmware_nowait(THIS_MODULE, 1, fw_name,
  				      rtlpriv->io.dev, GFP_KERNEL, hw,
  				      rtl_fw_cb);
-diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192se/sw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192se/sw.c
-index 2006b09..475940e 100644
---- a/drivers/net/wireless/realtek/rtlwifi/rtl8192se/sw.c
-+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192se/sw.c
-@@ -91,7 +91,7 @@ static void rtl92se_fw_cb(const struct firmware *firmware, void *context)
+diff -ur a/drivers/net/wireless/realtek/rtlwifi/rtl8192se/sw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192se/sw.c
+--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192se/sw.c	2019-11-25 01:32:01.000000000 +0100
++++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192se/sw.c	2021-06-25 14:54:58.340092764 +0200
+@@ -70,7 +70,7 @@
  			 "Firmware callback routine entered!\n");
  	complete(&rtlpriv->firmware_loading_complete);
  	if (!firmware) {
 -		pr_err("Firmware %s not available\n", fw_name);
-+		pr_err("Firmware not available\n", fw_name);
++		pr_err("Firmware not available\n");
  		rtlpriv->max_fw_size = 0;
  		return;
  	}
-@@ -209,7 +209,7 @@ static int rtl92s_init_sw_vars(struct ieee80211_hw *hw)
+@@ -186,7 +186,7 @@
  	rtlpriv->max_fw_size = RTL8190_MAX_FIRMWARE_CODE_SIZE*2 +
  			       sizeof(struct fw_hdr);
  	pr_info("Driver for Realtek RTL8192SE/RTL8191SE\n"
 -		"Loading firmware %s\n", fw_name);
-+		"Loading firmware \n", fw_name);
++		"Loading firmware\n");
  	/* request fw */
  	err = request_firmware_nowait(THIS_MODULE, 1, fw_name,
  				      rtlpriv->io.dev, GFP_KERNEL, hw,
-diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/sw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/sw.c
-index 7bf9f25..a2acfac 100644
---- a/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/sw.c
-+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/sw.c
-@@ -178,7 +178,7 @@ int rtl8723e_init_sw_vars(struct ieee80211_hw *hw)
+diff -ur a/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/sw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/sw.c
+--- a/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/sw.c	2019-11-25 01:32:01.000000000 +0100
++++ b/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/sw.c	2021-06-25 14:54:58.340092764 +0200
+@@ -153,7 +153,7 @@
  		fw_name = "rtlwifi/rtl8723fw_B.bin";
- 
+
  	rtlpriv->max_fw_size = 0x6000;
 -	pr_info("Using firmware %s\n", fw_name);
-+	pr_info("Using firmware \n", fw_name);
++	pr_info("Using firmware\n");
  	err = request_firmware_nowait(THIS_MODULE, 1, fw_name,
  				      rtlpriv->io.dev, GFP_KERNEL, hw,
  				      rtl_fw_cb);
-diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8723be/sw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8723be/sw.c
-index f9d10f1..9048c51 100644
---- a/drivers/net/wireless/realtek/rtlwifi/rtl8723be/sw.c
-+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8723be/sw.c
-@@ -182,7 +182,7 @@ int rtl8723be_init_sw_vars(struct ieee80211_hw *hw)
+diff -ur a/drivers/net/wireless/realtek/rtlwifi/rtl8723be/sw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8723be/sw.c
+--- a/drivers/net/wireless/realtek/rtlwifi/rtl8723be/sw.c	2019-11-25 01:32:01.000000000 +0100
++++ b/drivers/net/wireless/realtek/rtlwifi/rtl8723be/sw.c	2021-06-25 14:54:58.340092764 +0200
+@@ -157,7 +157,7 @@
  	}
- 
+
  	rtlpriv->max_fw_size = 0x8000;
 -	pr_info("Using firmware %s\n", fw_name);
-+	pr_info("Using firmware \n", fw_name);
++	pr_info("Using firmware\n");
  	err = request_firmware_nowait(THIS_MODULE, 1, fw_name,
  				      rtlpriv->io.dev, GFP_KERNEL, hw,
  				      rtl_fw_cb);
-diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c
-index d71d277..f2c70e1 100644
---- a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c
-+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c
-@@ -209,7 +209,7 @@ int rtl8821ae_init_sw_vars(struct ieee80211_hw *hw)
- 
+diff -ur a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c
+--- a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c	2019-11-25 01:32:01.000000000 +0100
++++ b/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c	2021-06-25 14:54:58.340092764 +0200
+@@ -186,7 +186,7 @@
+
  	rtlpriv->max_fw_size = 0x8000;
  	/*load normal firmware*/
 -	pr_info("Using firmware %s\n", fw_name);
-+	pr_info("Using firmware \n", fw_name);
++	pr_info("Using firmware\n");
  	err = request_firmware_nowait(THIS_MODULE, 1, fw_name,
  				      rtlpriv->io.dev, GFP_KERNEL, hw,
  				      rtl_fw_cb);
-@@ -226,7 +226,7 @@ int rtl8821ae_init_sw_vars(struct ieee80211_hw *hw)
- 		}
+@@ -197,7 +197,7 @@
+ 		return 1;
  	}
  	/*load wowlan firmware*/
 -	pr_info("Using firmware %s\n", wowlan_fw_name);
-+	pr_info("Using firmware \n", wowlan_fw_name);
++	pr_info("Using firmware\n");
  	err = request_firmware_nowait(THIS_MODULE, 1,
  				      wowlan_fw_name,
  				      rtlpriv->io.dev, GFP_KERNEL, hw,
-diff -ru linux.orig/source/arch/x86/kernel/cpu/microcode/amd.c linux/source/arch/x86/kernel/cpu/microcode/amd.c
---- a/arch/x86/kernel/cpu/microcode/amd.c	2020-06-27 13:12:17.000000000 -0400
-+++ b/arch/x86/kernel/cpu/microcode/amd.c	2020-06-27 13:21:09.792495638 -0400
-@@ -756,7 +756,7 @@
- 		snprintf(fw_name, sizeof(fw_name), "amd-ucode/microcode_amd_fam%.2xh.bin", c->x86);
- 
- 	if (request_firmware_direct(&fw, (const char *)fw_name, device)) {
--		pr_debug("failed to load file %s\n", fw_name);
-+		pr_debug("failed to load file\n", fw_name);
- 		goto out;
- 	}
- 
-diff -ru linux.orig/source/arch/x86/kernel/cpu/microcode/intel.c linux/source/arch/x86/kernel/cpu/microcode/intel.c
---- a/arch/x86/kernel/cpu/microcode/intel.c	2020-06-27 13:12:17.000000000 -0400
-+++ b/arch/x86/kernel/cpu/microcode/intel.c	2020-06-27 13:37:05.143739228 -0400
-@@ -989,7 +989,7 @@
- 		c->x86, c->x86_model, c->x86_stepping);
- 
- 	if (request_firmware_direct(&firmware, name, device)) {
--		pr_debug("data file %s load failed\n", name);
-+		pr_debug("data file load failed\n", name);
- 		return UCODE_NFOUND;
- 	}
- 
-diff -ru a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c	2020-07-06 14:31:51.000000000 -0400
-+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c	2020-07-06 15:04:47.318942996 -0400
-@@ -1499,14 +1499,14 @@
- 	err = request_firmware(&adev->firmware.gpu_info_fw, fw_name, adev->dev);
- 	if (err) {
- 		dev_err(adev->dev,
--			"Failed to load gpu_info firmware \"%s\"\n",
-+			"Failed to load gpu_info firmware \n",
- 			fw_name);
- 		goto out;
- 	}
- 	err = amdgpu_ucode_validate(adev->firmware.gpu_info_fw);
- 	if (err) {
- 		dev_err(adev->dev,
--			"Failed to validate gpu_info firmware \"%s\"\n",
-+			"Failed to validate gpu_info firmware \n",
- 			fw_name);
- 		goto out;
- 	}
-diff -ru a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c	2020-07-06 14:31:51.000000000 -0400
-+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c	2020-07-06 15:07:45.178781957 -0400
-@@ -70,7 +70,7 @@
- 
- 	r = request_firmware(&adev->vcn.fw, fw_name, adev->dev);
- 	if (r) {
--		dev_err(adev->dev, "amdgpu_vcn: Can't load firmware \"%s\"\n",
-+		dev_err(adev->dev, "amdgpu_vcn: Can't load firmware \n",
- 			fw_name);
- 		return r;
- 	}
-diff -ru a/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c
---- a/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c	2018-01-28 16:20:33.000000000 -0500
-+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c	2020-07-06 15:02:53.419019182 -0400
-@@ -378,7 +378,7 @@
- 
- out:
- 	if (err) {
--		pr_err("gfx6: Failed to load firmware \"%s\"\n", fw_name);
-+		pr_err("gfx6: Failed to load firmware \n", fw_name);
- 		release_firmware(adev->gfx.pfp_fw);
- 		adev->gfx.pfp_fw = NULL;
- 		release_firmware(adev->gfx.me_fw);
-diff -ru a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
---- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c	2020-07-06 14:31:51.000000000 -0400
-+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c	2020-07-06 15:07:23.966802499 -0400
-@@ -609,7 +609,7 @@
- out:
- 	if (err) {
- 		dev_err(adev->dev,
--			"gfx9: Failed to load firmware \"%s\"\n",
-+			"gfx9: Failed to load firmware \n",
- 			fw_name);
- 		release_firmware(adev->gfx.pfp_fw);
- 		adev->gfx.pfp_fw = NULL;
-diff -ru a/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c
---- a/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c	2020-07-06 14:31:51.000000000 -0400
-+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c	2020-07-06 15:02:30.263034763 -0400
-@@ -145,7 +145,7 @@
- out:
- 	if (err) {
- 		dev_err(adev->dev,
--		       "si_mc: Failed to load firmware \"%s\"\n",
-+		       "si_mc: Failed to load firmware \n",
- 		       fw_name);
- 		release_firmware(adev->mc.fw);
- 		adev->mc.fw = NULL;
-diff -ru a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c
---- a/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c	2020-07-06 14:31:51.000000000 -0400
-+++ b/drivers/gpu/drm/amd/amdgpu/psp_v10_0.c	2020-07-06 15:06:58.862827119 -0400
-@@ -128,7 +128,7 @@
- out:
- 	if (err) {
- 		dev_err(adev->dev,
--			"psp v10.0: Failed to load firmware \"%s\"\n",
-+			"psp v10.0: Failed to load firmware \n",
- 			fw_name);
- 		release_firmware(adev->psp.asd_fw);
- 		adev->psp.asd_fw = NULL;
-diff -ru a/drivers/gpu/drm/amd/amdgpu/psp_v3_1.c b/drivers/gpu/drm/amd/amdgpu/psp_v3_1.c
---- a/drivers/gpu/drm/amd/amdgpu/psp_v3_1.c	2018-01-28 16:20:33.000000000 -0500
-+++ b/drivers/gpu/drm/amd/amdgpu/psp_v3_1.c	2020-07-06 15:07:11.678814507 -0400
-@@ -151,7 +151,7 @@
- out:
- 	if (err) {
- 		dev_err(adev->dev,
--			"psp v3.1: Failed to load firmware \"%s\"\n",
-+			"psp v3.1: Failed to load firmware \n",
- 			fw_name);
- 		release_firmware(adev->psp.sos_fw);
- 		adev->psp.sos_fw = NULL;
-diff -ru a/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
---- a/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c	2020-07-06 14:31:51.000000000 -0400
-+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c	2020-07-06 15:06:45.466840398 -0400
-@@ -217,7 +217,7 @@
- 	}
- out:
- 	if (err) {
--		DRM_ERROR("sdma_v4_0: Failed to load firmware \"%s\"\n", fw_name);
-+		DRM_ERROR("sdma_v4_0: Failed to load firmware \n", fw_name);
- 		for (i = 0; i < adev->sdma.num_instances; i++) {
- 			release_firmware(adev->sdma.instance[i].fw);
- 			adev->sdma.instance[i].fw = NULL;
-diff -ru a/drivers/gpu/drm/amd/amdgpu/si_dpm.c b/drivers/gpu/drm/amd/amdgpu/si_dpm.c
---- a/drivers/gpu/drm/amd/amdgpu/si_dpm.c	2020-07-06 14:31:51.000000000 -0400
-+++ b/drivers/gpu/drm/amd/amdgpu/si_dpm.c	2020-07-06 15:03:44.522984911 -0400
-@@ -7673,8 +7673,8 @@
- 
- out:
- 	if (err) {
--		DRM_ERROR("si_smc: Failed to load firmware. err = %d\"%s\"\n",
--			  err, fw_name);
-+		DRM_ERROR("si_smc: Failed to load firmware. err = %d\n",
-+			  err);
- 		release_firmware(adev->pm.fw);
- 		adev->pm.fw = NULL;
- 	}
-diff -ru a/drivers/net/wireless/intel/ipw2x00/ipw2100.c b/drivers/net/wireless/intel/ipw2x00/ipw2100.c
---- a/drivers/net/wireless/intel/ipw2x00/ipw2100.c	2020-07-06 14:31:51.000000000 -0400
-+++ b/drivers/net/wireless/intel/ipw2x00/ipw2100.c	2020-07-06 15:09:35.178678896 -0400
-@@ -8420,7 +8420,7 @@
- 
- 	if (rc < 0) {
- 		printk(KERN_ERR DRV_NAME ": "
--		       "%s: Firmware '%s' not available or load failed.\n",
-+		       "%s: Firmware not available or load failed.\n",
- 		       priv->net_dev->name, fw_name);
- 		return rc;
- 	}
diff --git a/helpers/make-linux b/helpers/make-linux
index 10e926998eaf09dd490132692bf9ee6f3c8b1b08..86fc95eab03fc43edd113b530a853ae60d372d61 100644
--- a/helpers/make-linux
+++ b/helpers/make-linux
@@ -1,5 +1,6 @@
 #!/bin/sh
 #
+#    Copyright (C) 2021 Luis Guzman <ark@switnet.org>
 #    Copyright (C) 2008-2020  Ruben Rodriguez <ruben@trisquel.info>
 #    Copyright (C) 2019 David Trudgian <dave@trudgian.net>
 #
@@ -18,7 +19,7 @@
 #    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 #
 
-VERSION=7
+VERSION=8
 
 . ./config
 
@@ -56,7 +57,7 @@ for DIR in $PRESERVEDIRS; do
   cp $DIR $TMPDIR --parents -a
 done
 
-sh $DATA/deblob-4.15 --force
+sh $DATA/deblob-5.4
 
 echo "Reverting deblobbing for files patched by silent-accept-firmware"
 cp $TMPDIR/* . -av
@@ -74,9 +75,7 @@ rm zfs spl debian/scripts/misc/update-zfs.sh -rf
 /bin/sed  '/zfs/d' -i debian.master/rules.d/* debian.master/d-i/modules/fs-core-modules debian.master/control.d/generic.inclusion-list debian.master/abi/*/*/*.modules debian/rules debian.master/control.d/vars.*
 
 # Remove VBox
-rm ubuntu/vbox* -rf
-sed /vbox/d -i debian.master/control.d/generic.inclusion-list ubuntu/Makefile 
-sed '/vbox/d' -i debian.master/reconstruct
+sed -i '/vbox/s|true|false|' debian.master/rules.d/amd64.mk
 
 # Remove nvidia
 rm -rf debian/scripts/debian/scripts/dkms-build--nvidia-N
@@ -107,7 +106,7 @@ line=$(grep -n ')-Ubuntu' debian/rules.d/0-common-vars.mk|cut -d: -f1)
 sed $(expr $line - 1 ),$(expr $line + 1 )d debian/rules.d/0-common-vars.mk -i
 sed s/family=ubuntu/family=trisquel/ -i debian/rules.d/0-common-vars.mk
 
-rename s/ubuntu/trisquel/ debian.*/config/config.common.ubuntu 
+rename s/ubuntu/trisquel/ debian.*/config/config.common.ubuntu
 
 find debian* -type f -name *control* -exec sed 's/ with Ubuntu patches//; s/Linux/Linux-libre/g' -i {} \;
 
@@ -121,6 +120,13 @@ echo > ./debian.master/d-i/firmware/scsi-modules
 # Disable using udev as a fallback for firmware loading
 replace "CONFIG_FW_LOADER_USER_HELPER=y" "CONFIG_FW_LOADER_USER_HELPER=n" debian.master/config
 
+# Fix armhf port build
+sed -i "/CONFIG_FW_LOADER_USER_HELPER/s|'armhf': 'y',|'armhf': 'n',|g" debian.master/config/annotations
+sed -i "/CONFIG_FW_LOADER_USER_HELPER_FALLBACK/s|'armhf': 'n',|'armhf': '-',|g" debian.master/config/annotations
+
+# Disable ahc1ec0.
+sed -i "/AHC1EC0/d" debian.master/config/annotations
+
 cp debian.master/config debian.hwe -a
 
 changelog "Removed non-free bits"