2.6.29-libre3
[releases.git] / deblob-check
index 88622ec76dfa9973a97ecf58b57d49082fc531c0..e8f9028b9f0ad2105486e631b2eed64d27ae3341 100755 (executable)
@@ -1,13 +1,13 @@
 #! /bin/sh
 
-# deblob-check version 2010-12-27
+# deblob-check version 2011-01-07
 # 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, 2009, 2010 Alexandre Oliva <lxoliva@fsfla.org>
+# Copyright 2008, 2009, 2010, 2011 Alexandre Oliva <lxoliva@fsfla.org>
 #
 # 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
@@ -885,7 +885,13 @@ set_except () {
   blobna 'DEFAULT_FIRMWARE'
   blobna '\([.]\|->\)firmware[         \n]*=[^=]'
   blobna 'mod_firmware_load' # sound/
-  blobname '[.]\(fw\|bin[0-9]*\|hex\|frm\|co[dx]\|cis\|dat\|elf\|xlx\|rfb\|ucode\|img\|sbcf\|ctx\(prog\|vals\)\|z77\)["]'
+  blobname '[.]\(fw\|bin[0-9]*\|hex\|frm\|co[dx]\|dat\|elf\|xlx\|rfb\|ucode\|img\|sbcf\|ctx\(prog\|vals\)\|z77\)["]'
+  # Ideally we'd whitelist URLs that don't recommend non-Free
+  # Software, but there are just too many URLs in Linux, and most are
+  # fine, so we just blacklist when we find undesirable URLs.
+  # Please report if you find any inappropriate URL in Linux-libre
+  # deblobbed documentation, sources or run-time log messages.
+  # blobna '\(f\|ht\)tp:[/]\([/]\+[^/ \n ]\+\)\+'
 
   case $prefix$1 in
   */*linux*.tar* | */*kernel*.tar* | */*linux-*.*.*/*)
@@ -1432,7 +1438,10 @@ set_except () {
     accept '[  ]*priv->firmware[ ]=[ ]\(NULL\|new_firmware\)[;]' drivers/net/wireless/atmel.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 'pcm5\.fw' drivers/net/wireless/b43/main.c
     blobna 'b43legacyerr[(][^;]*must[ ]go[ ]to[ ]http[^;]*b43#devicefirmware[^;]*[)][;]' drivers/net/wireless/b43legacy/main.c
+    blobna 'You[ ]must[ ]go[ ]to[^;]*b43#devicefirmware[^;]*[^";)]' drivers/net/wireless/b43/main.c
+    blobna 'http:[/][/]wireless[^ ";)]*b43#devicefirmware' drivers/net/wireless/b43/main.c
 
     blob '#define[ ]IPW2100_FW_\(\(\(MAJOR\|MINOR\)_VERSION\|\(MAJOR\|MINOR\)[(]x[)]\)\|VERSION\)\([^\n]*\\[\n]\)*[^\n]*\([\n][\n]*#define[ ]IPW2100_FW_\(\(\(MAJOR\|MINOR\)_VERSION\|\(MAJOR\|MINOR\)[(]x[)]\)\|VERSION\)\([^\n]*\\[\n]\)*[^\n]*\)*' 'drivers/net/wireless/\(ipw2x00/\)\?ipw2100\.c'
     blobname 'ipw2100-\(["]\([^"\n]\|[\\][\n]\)*["]\([^"]\|[\\]["]\)*\)\+' 'drivers/net/wireless/\(ipw2x00/\)\?ipw2100\.c'
@@ -1492,13 +1501,19 @@ set_except () {
     # accept '[        ]    PCMCIA_\([PM]FC_\)\?DEVICE_CIS_\(MANF_CARD\|PROD_ID[1-4]*\)[(][^)]*, ["][/][*][(]DEBLOBBED[)][*][/]["][)]'
     # accept '#define PCMCIA_\([PM]FC_\)\?DEVICE_CIS_\(MANF_CARD\|PROD_ID[1-4]*\)[(]' include/pcmcia/device_id.h
 
-    blobname '\(cis[/]\)\?3CCFEM556\.cis' drivers/net/pcmcia/3c574_cs.c
+    # These are not software; they're Free, but GPLed without in-tree sources.
+    # blobname '\(cis[/]\)\?3CCFEM556\.cis' drivers/net/pcmcia/3c574_cs.c
+    # blobname '\(cis[/]\)\?3CXEM556\.cis' drivers/net/pcmcia/3c589_cs.c
+    # blobname '\(cis[/]\)\?\(PCMLM28\|DP83903\|LA-PCM\|PE520\|NE2K\|PE-200\|tamarack\)\.cis' drivers/net/pcmcia/pcnet_cs.c
+    # blobname '\(cis[/]\)\?\(PCMLM28\|DP83903\|3C\(CF\|X\)EM556\|MT5634ZLX\|COMpad[24]\|RS-COM-2P\|GLOBETROTTER\)\.cis' drivers/serial/serial_cs.c
+    # These are not software; they're Free, but GPLed without textual sources.
+    # It is safe to assume that these binaries *are* sources, since they
+    # can be trivially converted back to a textual form, without loss.
+    # blobname '\(cis[/]\)\?SW_\([78]xx\|555\)_SER\.cis' drivers/serial/serial_cs.c
 
-    blobname '\(cis[/]\)\?3CXEM556\.cis' drivers/net/pcmcia/3c589_cs.c
-
-    blobname '\(cis[/]\)\?\(PCMLM28\|DP83903\|LA-PCM\|PE520\|NE2K\|PE-200\|tamarack\)\.cis' drivers/net/pcmcia/pcnet_cs.c
-
-    blobname '\(cis[/]\)\?\(PCMLM28\|DP83903\|3C\(CF\|X\)EM556\|SW_\([78]xx\|555\)_SER\|MT5634ZLX\|COMpad[24]\|RS-COM-2P\|GLOBETROTTER\)\.cis' drivers/serial/serial_cs.c
+    accept '[  ]\(ds_\)\?\(dev_\)\?dbg[(]\(1[,][ ]\)\?\([&]dev->dev,[ ]\)\?["]trying[ ]to[ ]load[ ]\(CIS[ ]file\|firmware\)[ ]%s[\\]n["],[ ]filename[)][;][\n]*[       ]if[ ][(]\(strlen[(]filename[)][^\n]*\([{][^}]*[        ][}]\|[)][\n][  ]*return[^\n]*[;]\)[\n]*[       ]snprintf[(]path,[ ]\(20\|sizeof[(]path[)]\),[^\n]*,[ ]filename[)][;][\n]*[     ]if[ ][(]request_firmware[(][&]fw,[ ]path\|request_firmware[(][&]fw,[ ]filename\),[ ][&]dev->dev[)][^\n]*[)][ ][{][\n][ ]*if[ ][(]fw->size[ ]>=[ ]CISTPL_MAX_CIS_SIZE[)]' drivers/pcmcia/ds.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
+    accept 'MODULE_FIRMWARE[(]["]\(cis[/]\)\?\(PCMLM28\|DP83903\|LA-PCM\|PE520\|NE2K\|PE-200\|tamarack\)\.cis["][)][;]\([\n]MODULE_FIRMWARE[(]["]\(cis[/]\)\?\(PCMLM28\|DP83903\|LA-PCM\|PE520\|NE2K\|PE-200\|tamarack\)\.cis["][)][;]\)*' drivers/net/pcnet_cs.c
 
     # This enables but does not encourage firmware updates.
     accept '[  ]err[ ]=[ ]request_firmware[(][&]asd_ha->bios_image,[\n         ]*filename_ptr,[\n      ]*[&]asd_ha->pcidev->dev[)][;]' drivers/scsi/aic94xx/aic94xx_init.c
@@ -1975,7 +1990,7 @@ set_except () {
     initnc 'static[ ]const[ ]u16[ ]rtl8225z2_rxgain\[\][ ]='
     defsnc 'static[ ]const[ ]u16[ ]stufftab\[5[ ][*][ ]256\][ ]=' drivers/isdn/gigaset/isocdata.c
     initnc 'static[ ]const[ ]u16[ ]tkip_sbox\[256\][ ]='
-    initnc 'static[ ]const[ ]u16[ ]wm8753_reg\[\][ ]='
+    defsnc 'static[ ]const[ ]u16[ ]wm8753_reg\[\][ ]=' sound/soc/codecs/wm8753.c
     initnc 'static[ ]const[ ]u32[ ]SS[0-3]\[256\][ ]='
     initnc 'static[ ]const[ ]u32[ ]S[1-8]\[64\][ ]='
     initnc 'static[ ]const[ ]u32[ ]T[0-5]\[256\][ ]='
@@ -2078,7 +2093,7 @@ set_except () {
     initnc 'static[ ]u8[ ]alps_tdee4_stv0297_inittab\[\][ ]='
     defsnc 'static[ ]u8[ ]bnx2_570[68]_stats_len_arr\[BNX2_NUM_STATS\][ ]=' drivers/net/bnx2.c
     initnc 'static[ ]u8[ ]flit_desc_map\[\][ ]='
-    defsnc 'static[ ]u8[ ]init_tab[ ]\?\[\][ ]=' 'drivers/media/dvb/frontends/cx2270\(0\|2\)\.c'
+    defsnc 'static[ ]\(const[ ]\)\?u8[ ]init_tab[ ]\?\[\][ ]=' 'drivers/media/dvb/frontends/cx2270\(0\|2\)\.c'
     defsnc 'static[ ]u8[ ]mac_reader\[\][ ]=' drivers/net/wireless/atmel.c
     initnc 'static[ ]u8[ ]mt2131_config1\[\][ ]=' drivers/media/dvb/frontends/mt2131.c # <= 2.6.25
     initnc 'static[ ]u8[ ]mt2131_config1\[\][ ]=' drivers/media/common/tuners/mt2131.c # >= 2.6.26
@@ -2242,7 +2257,7 @@ set_except () {
     blobna 'linux-firmware\.git' firmware/README.AddingFirmware
     blobname '\(ea[/]\)\?\(loader\|indigo_djx\)_dsp\.fw' sound/pci/echoaudio/indigodjx.c
     blobname '\(ea[/]\)\?\(loader\|indigo_iox\)_dsp\.fw' sound/pci/echoaudio/indigoiox.c
-    blobname 'cis[/]LA-PCM\.cis' drivers/net/pcmcia/pcnet_cs.c
+    blobname 'cis[/]LA-PCM\.cis' drivers/net/pcmcia/pcnet_cs.c
     blobname 'ositech[/]Xilinx7OD\.bin' drivers/net/pcmcia/smc91c92_cs.c
     blobname 'tehuti[/]\(firmware\|bdx\)\.bin' drivers/net/tehuti.c
     accept '[  ]*["]b43-open%s[/]%s\.fw["]' drivers/net/wireless/b43/main.c
@@ -2327,7 +2342,7 @@ set_except () {
     defsnc 'static[ ]const[ ]u32[ ]lpphy_\(\(rev01_ps\|tx_power\)_control\|\(a0_\)\?gain_\(idx\|value\)\|papd_\(eps\|mult\)\)_table\[\][ ]=' drivers/net/wireless/b43/tables_lpphy.c
     blobname 'v4l-saa7164-1\.0\.[23]\.fw' drivers/media/video/saa7164/saa7164-fw.c
     defsnc 'static[ ]const[ ]u8[ ]n4_\(om6802\|other\|tas5130a\)\[\][ ]=' drivers/media/video/gspca/t613.c
-    defsnc '[  ][      ]const[ ]struct[ ]sensor_w_data[ ]\(cif\|vga\)_sensor[01]_init_data\[\][ ]=' drivers/media/video/gspca/mr97310a.c
+    defsnc '[  ][      ]\(static[ ]\)\?const[ ]struct[ ]sensor_w_data[ ]\(cif\|vga\)_sensor[01]_init_data\[\][ ]=' drivers/media/video/gspca/mr97310a.c
     defsnc '[  ]struct[ ]jlj_command[ ]start_commands\[\][ ]=' drivers/media/video/gspca/jeilinj.c
     defsnc 'static[ ]u8[ ]init_code\[\]\[2\][ ]=' drivers/media/dvb/dvb-usb/friio-fe.c
     defsnc 'static[ ]const[ ]u8[ ]va1j5jf8007[ts]_\(2[05]mhz_\)\?prepare_bufs\[\]\[2\][ ]=' 'drivers/media/dvb/pt1/va1j5jf8007[st]\.c'
@@ -2405,7 +2420,7 @@ set_except () {
     defsnc '[  ]static[ ]const[ ]u8[ ]rsshash\[40\][ ]=' drivers/net/igb/igb_main.c
     defsnc 'static[ ]const[ ]struct[ ]rf_channel[ ]rf_vals_3\(02\)\?x\[\][ ]=' 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
+    defsnc 'static[ ]\(const[ ]\)\?u16[ ]bios_to_linux_keycode\[256\][ ]\(__initconst[ ]\)\?=' 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
@@ -2440,7 +2455,7 @@ set_except () {
     defsnc 'static[ ]u8[ ]ITUDecoderSetup\[4\]\[16\][ ]=' drivers/media/dvb/ngene/ngene-core.c
     blobname 'ngene_1[567]\.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[ ]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
@@ -2541,7 +2556,7 @@ set_except () {
     blobna '[/][*][^*]*\([*]\+[^/*][^*]*\)*[*]*[(]f2255usb\.bin[)][^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]' drivers/media/video/s2255drv.c
 
     # New in 2.6.36:
-    defsnc 'static[ ]struct[ ]clk_pll_table[ ]tegra_pll_[pxm]_table\[\][ ]=' arch/arm/mach-tegra/tegra2_clocks.c
+    defsnc 'static[ ]struct[ ]clk_pll_table[ ]tegra_pll_[apxm]_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
@@ -2589,7 +2604,7 @@ set_except () {
     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[13]\)\(_helper\)\?\.bin' drivers/net/wireless/libertas/if_cs.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
@@ -2661,7 +2676,7 @@ set_except () {
     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
+    blobname 'ft3000\.img' drivers/staging/ft1000/ft1000-usb/ft1000_usb.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
@@ -2674,16 +2689,17 @@ set_except () {
     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
+    blob 'static[ ]u32[ ]rtl871x_open_fw[(][^)]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*f_array[^\n]*\([\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
-    defsnc '[  ]119,[ ]62,[ ]6,[\n][   ]0,[ ]16,[ ]20,[ ]17,[ ]32,[ ]48,[ ]0,'"$sepx$blobpat*"',[\n][  ]0,[ ]119' drivers/staging/speakup/speakupmap.h
+    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
     ;;
 
   */*freedo*.patch | */*logo*.patch)
@@ -2694,7 +2710,7 @@ set_except () {
     defsnc 'static[ ]u8[ ]sa2400_rf_rssi_map\[\][ ]=' drivers/net/wireless/rtl818x/rtl8180_sa2400.c
     ;;
 
-  */patch*-2.6.37-rc*) # up to -rc5
+  */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
@@ -2715,7 +2731,7 @@ set_except () {
     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[13]\)\(_helper\)\?\.bin' drivers/net/wireless/libertas/if_cs.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
@@ -2804,12 +2820,13 @@ set_except () {
     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
-    defsnc '[  ]119,[ ]62,[ ]6,[\n][   ]0,[ ]16,[ ]20,[ ]17,[ ]32,[ ]48,[ ]0,'"$sepx$blobpat*"',[\n][  ]0,[ ]119' drivers/staging/speakup/speakupmap.h
+    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
@@ -2866,6 +2883,8 @@ set_except () {
     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.*)