X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=deblob-check;h=d8e1dcd885af613357179c8713cd6f2fa43a0b7e;hb=4455530f28bbe92b040463e4781ca4a7ce7ead9b;hp=41906f6776e51577f7bff296b0cb124607303f03;hpb=e32592a4bb48f6acee2ea423600e2a69c2ad8a66;p=releases.git diff --git a/deblob-check b/deblob-check index 41906f6776e5..d8e1dcd885af 100755 --- a/deblob-check +++ b/deblob-check @@ -1,6 +1,6 @@ #! /bin/sh -# deblob-check version 2009-03-18 +# deblob-check version 2009-03-19 # Inspired in gNewSense's find-firmware script. # Written by Alexandre Oliva @@ -395,7 +395,9 @@ case $1 in set_sed_cmd () { set_sedmain "" "" " i\\ -$file +$file\\ +/*(DEBLOB-\\ +ERROR)*/ q 1;" } ;; @@ -405,10 +407,14 @@ q 1;" set_sed_cmd () { set_sedmain " i\\ -$file +$file\\ +/*(DEBLOB-\\ +ERROR)*/ q 1;" "" " i\\ -$file +$file\\ +/*(DEBLOB-\\ +ERROR)*/ q 1;" } ;; @@ -438,7 +444,9 @@ q 1;" set_sed_cmd () { set_sedmain " i\\ -$file +$file\\ +/*(DEBLOB-\\ +ERROR)*/ q 1;" } ;; @@ -845,8 +853,8 @@ set_except () { accept '[/][*][*][\n] [*] request_firmware_nowait: asynchronous version[^{]*[\n]{[\n]\([^}]\|[^\n}]}*\)*[\n]}[\n]' drivers/base/firmware_class.c accept 'EXPORT_SYMBOL(request_firmware\(_nowait\)\?);' drivers/base/firmware_class.c accept 'int request_firmware\(_nowait\)\?([^;]*);' include/linux/firmware.h - accept 'static inline int request_firmware\(_nowait\)\?([^{]*)[\n]{[\n][\t]return -EINVAL;[\n]}[\n]' include/linux/firmware.h - accept 'static inline int \(maybe_\)\?reject_firmware\(_nowait\)\?([^{;]*)[\n]{[\n]\([^}]\|[^\n}]}*\)*[\n]}[\n]' include/linux/firmware.h + accept 'static inline int request_firmware\(_nowait\)\?([^{]*)[\n]{[\n][\t]return -EINVAL;[\n]}' include/linux/firmware.h + accept 'static inline int[\n]\(maybe_\)\?reject_firmware\(_nowait\)\?([^{;]*)[\n]{[\n]\([^}]\|[^\n}]}*\)*[\n]}' include/linux/firmware.h accept 'static inline int request_ihex_firmware\?([^{]*)[\n]{[\n]\([^}]\|[^\n}]}*\)*[\n]}[\n]' include/linux/ihex.h ocomment '[/][*] Optional firmware\([^\n]*[\n] [*]\)*[^\n]* MODULE_FIRMWARE()' @@ -889,7 +897,7 @@ set_except () { blob ' sprintf([^;]*fore200[^;]*FW_EXT[^;]*);' drivers/atm/fore200e.c blobname '\(pc\|sb\)a200e\(_ecd\)\?\.bin[12]?' drivers/atm/fore200e.c - blobna 'The supplied firmware images.*fore.*Rebuild and reinstall[^.]*\.' Documentation/networking/fore200e.txt + blobna 'The supplied firmware images.*fore.*Rebuild and re-install[^.]*\.' Documentation/networking/fore200e.txt blobname 'intelliport2\.bin' drivers/char/ip2/ip2main.c @@ -904,8 +912,8 @@ set_except () { blob ' r128_cce_load_microcode([^;]*);' drivers/gpu/drm/r128/r128_cce.c blob 'static const u32 R[S0-9]*0_cp_microcode\[\]\[2\] = {[^{};]*};\([\n][\n]*static const u32 R[S0-9]*0_cp_microcode\[\]\[2\] = {[^{};]*};\)*' drivers/gpu/drm/radeon/radeon_microcode.h - blob 'static void radeon_cp_load_microcode([^{]*)[\n]{[\n]\([^}]\|[^\n}]}*\)*[\n]}[\n]' drivers/gpu/drm/radeon/radeon_cp.c - blob ' radeon_cp_load_microcode([^;]*);' drivers/gpu/drm/radeon/radeon_cp.c + blob '\([/][*] Load the microcode\([^/]\|[^*][/]*\)*[*][/][\n]\)\?static void radeon_cp_load_microcode([^{]*)[\n]{[\n]\([^}]\|[^\n}]}*\)*[\n]}[\n]' drivers/gpu/drm/radeon/radeon_cp.c + blobna 'radeon_cp_load_microcode([^;]*);' drivers/gpu/drm/radeon/radeon_cp.c blob 'sub \(sp887[0x]\|tda1004\(5\|6\(lifeview\)\?\)\|av7110\|dec\(2\(00\|54\)0t\|3000s\)\|opera1\|vp7041\|dibusb\|nxt200[24]\|or51\(211\|132_\(qam\|vsb\)\)\|bluebird\) *{\([^}]*\|[^\n]}*\)[\n]}\([\n][\n]*sub \(sp887[0x]\|tda1004\(5\|6\(lifeview\)\?\)\|av7110\|dec\(2\(00\|54\)0t\|3000s\)\|opera1\|vp7041\|dibusb\|nxt200[24]\|or51\(211\|132_\(qam\|vsb\)\)\|bluebird\) *{\([^}]*\|[^\n]}*\)[\n]}\)*' Documentation/dvb/get_dvb_firmware blobna 'Please use[^\n]*firmware[^\n]*sp887x[^\n]*\([\n][^\n]\+\)\+' Documentation/dvb/avermedia.txt @@ -957,6 +965,7 @@ set_except () { blobna 'static u16 \(sr\|twinax\)_edc\[\] = {[^;]*};' drivers/net/cxgb3/ael1002.c blobna 'for ([^\n]*ARRAY_SIZE(\(sr\|twinax\)_edc)[^\n]*)[\n][^;]*mdio_write[^;]*;' drivers/net/cxgb3/ael1002.c + blobname 't3fw\(_protocol_sram\)\?-\(%d\|[0-9]*\)\.\(%d\|[0-9]*\)\.\(%d\|[0-9]*\)\.bin' drivers/net/cxgb3/cxgb3_main.c blob '\([/][*][*]*[*][/][\n]*\)*\([/][*]\([^/]\|[^*/][/]*\)*Micro code\([^/]\|[^*/][/]*\)*8086:\([^/]\|[^*/][/]*\)*[*][/]\([\n]*[/][*]\([^/]\|[^*/][/]*\)*[*][/]\)*\|#define *D10\(1M\(_B\)\?\|1S\|2_E\)_\(CPUSAVER_\(TIMER\|BUNDLE\|MIN_SIZE\)_DWORD\|RCVBUNDLE_UCODE\)[ ]\(\\[\n]\|[^\n]\)*\)\([\n]*[/][*]\([^/]\|[^*/][/]*\|[*][/][\n]*[/][*]\)*Micro code\([^/]\|[^*/][/]*\)*8086:\([^/]\|[^*/][/]*\)*[*][/]\([\n]*[/][*]\([^/]\|[^*/][/]*\)*[*][/]\)*\|[\n][\n]*#define *D10\(1M\(_B\)\?\|1S\|2_E\)_\(CPUSAVER_\(TIMER\|BUNDLE\|MIN_SIZE\)_DWORD\|RCVBUNDLE_UCODE\)[ ]\(\\[\n]\|[^\n]\)*\)*' drivers/net/e100.c blobna '\([/][*]\([^/]\|[*][/]*\)*[*][/][\n]* \)\(ucode\[opts->\(timer\|bundle\|min_size\)_dword\] .= [^;]*;[\n][\n]* \)*[^}]*UCODE_SIZE[^}]*cb_ucode[^}]*return;[\n] }' drivers/net/e100.c @@ -1051,6 +1060,7 @@ set_except () { accept 'int xc_request_firmware(struct xc *[*] *x);' arch/arm/mach-netx/include/mach/xc.h accept 'int xc_request_firmware(struct xc *[*] *x)[\n]{' arch/arm/mach-netx/xc.c + accept ' dev_err(x->dev, "request_firmware failed\\n");' arch/arm/mach-netx/xc.c accept 'EXPORT_SYMBOL(xc_request_firmware);' arch/arm/mach-netx/xc.c accept ' if (xc_request_firmware(priv->xc)) {' drivers/net/netx-eth.c @@ -1079,7 +1089,7 @@ set_except () { blobname 'isi\(6\(08\|\(08\|16\)em\)\|46\(08\|16\)\)\.bin' drivers/char/isicom.c - blobname 'c\(218t\|p204\|320t\)unx\.code' drivers/char/moxa.c + blobname 'c\(218t\|p204\|320t\)unx\.cod' drivers/char/moxa.c accept ' printk(KERN_ERR "MOXA: request_firmware failed' drivers/char/moxa.c # This driver enables the user to update the non-Free BIOS, but it @@ -1130,6 +1140,7 @@ set_except () { blobname 'lbtf_usb\.bin' drivers/net/wireless/libertas_tf/if_usb.c blobname 'isl38\(86\|87usb_bare\|90usb\)' 'drivers/net/wireless/p54/p54\(pci\.c\|usb\.[ch]\)' + blob '[/][*] for isl3886 register definitions\([^/]\|[^*][/]*\)*[*][/]' drivers/net/wireless/p54/p54usb.h blobna 'If you enable this\([^\n]\|[\n][ ]*[^ \n]\)*isl3890\([^\n]\|[\n][ ]*[^ \n]\)*' drivers/net/wireless/Kconfig blobname 'isl38\(77\|86\|90\)' drivers/net/wireless/prism54/islpci_dev.c @@ -1171,7 +1182,7 @@ set_except () { blobname 'fsl_qe_ucode_uart_\(%u\|0-9]*\)_\(%u\|[0-9]*\)\(%u\|[0-9]*\)\.bin' drivers/serial/ucc_uart.c - blobname 'atmel_at76c50\(3-\(i386[13]\|rfmd\(-acc\)\?\|5\(a\(mx\)\?\)\?-rfmd\(2958\)\?\)\)\.bin' drivers/staging/at76_usb/at76_usb.c + blobname 'atmel_at76c50\(3-\(i386[13]\|rfmd\(-acc\)\?\)\|5\(a\(mx\)\?\)\?-rfmd\(2958\)\?\)\.bin' 'drivers/\(staging\|net/wireless\)/at76_usb/at76_usb\.c' blobname 'go7007\(fw\|tv\)\.bin' 'drivers/staging/go7007/\(go7007-\(driver\|usb\)\|saa7134-go7007\)\.c' @@ -1215,6 +1226,7 @@ set_except () { blobna 'You need to install[\n]*riptide\.hex[\n]\.[\n]' Documentation/sound/alsa/ALSA-Configuration.txt blobname 'riptide\.hex' sound/pci/riptide/riptide.c + defsnc 'static union firmware_version firmware_versions\[\] =' sound/pci/riptide/riptide.c blobname '\(multi\|digi\)face_firmware\(_rev11\)\?\.bin' sound/pci/rme9652/hdsp.c @@ -1745,6 +1757,8 @@ set_except () { 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 + # Suspicious, deblob for now, until contributor responds. # defsnc ' static u16 \(sr\|twinax\)_edc\[\] =' drivers/net/cxgb3/ael1002.cn # Non-Free license in entire file. @@ -1974,6 +1988,10 @@ set_except () { ;; */linux-2.6*-lirc.patch) initnc 'const unsigned char map_table\[\] =' + 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 ;; */linux-2.6-modsign-mpilib.patch) initnc 'const unsigned char __clz_tab\[\] =' @@ -2151,15 +2169,20 @@ g; fi sedmain=" +/^$/N; /^[\n]\?;[/][*]\\(end .*\\)\\?[*][/];$/{ $4; d; } /^;[/][*]begin /!{ : internal_error + $v:internal_error i\\ Internal error at p; + i\\ +/*(DEBLOB-\\ +ERROR)*/ q 2; } $v:reading file in @@ -2174,8 +2197,9 @@ n; H; g; $4 -s/^\(;[/][*]begin [^\n]*[\n]\)*//; -s/\\($bol;[/][*]\\(end [^\n]*\\)\\?[*][/];\\)*$//; +$v:read all +s/^\\(;[/][*]begin [^\n]*[\\n]\\)*//; +s/\\($bol[\n]\?;[/][*]\\(end [^\\n]*\\)\\?[*][/];\\)*$//; $v:???!blobfast /$blobfast/!b clean; $check_false_positives @@ -2796,10 +2820,13 @@ check () { : restart; /[/][*](DEBLOB-$/ { N; + /[/][*](DEBLOB-[\n]ERROR)[*][/]/{q 1;} s,[/][*](DEBLOB-[\n]BED)[*][/],, b restart; -}' - cmd='sed "$sedunbreak"' +} +p +' + cmd='sed -n "$sedunbreak"' set "$@" "$cmd" # test $# = 1 || set "$@" "cat"