Initial import of linux-libre deblob scripts from https://www.fsfla.org/svn/fsfla...
[librecmc/linux-deblob.git] / 2.6.31-gnu1 / deblob-2.6.31
1 #!/bin/sh
2
3 #    Copyright (C) 2008-2013 Alexandre Oliva <lxoliva@fsfla.org>
4 #    Copyright (C) 2008 Jeff Moe
5 #    Copyright (C) 2009 Rubén Rodríguez <ruben@gnu.org>
6 #
7 #    This program is part of GNU Linux-libre, a GNU project that
8 #    publishes scripts to clean up Linux so as to make it suitable for
9 #    use in the GNU Project and in Free System Distributions.
10 #
11 #    This program is free software; you can redistribute it and/or modify
12 #    it under the terms of the GNU General Public License as published by
13 #    the Free Software Foundation; either version 2 of the License, or
14 #    (at your option) any later version.
15 #
16 #    This program is distributed in the hope that it will be useful,
17 #    but WITHOUT ANY WARRANTY; without even the implied warranty of
18 #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19 #    GNU General Public License for more details.
20 #
21 #    You should have received a copy of the GNU General Public License
22 #    along with this program; if not, write to the Free Software
23 #    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
24
25
26 # deblob - remove non-free blobs from the vanilla linux kernel
27
28 # http://www.fsfla.org/svn/fsfla/software/linux-libre
29
30
31 # This script, suited for the kernel version named below, in kver,
32 # attempts to remove only non-Free Software bits, without removing
33 # Free Software that happens to be in the same file.
34
35 # Drivers that currently require non-Free firmware are retained, but
36 # firmware included in GPLed sources is replaced with /*(DEBLOBBED)*/
37 # if the deblob-check script, that knows how to do this, is present.
38 # -lxoliva
39
40
41 # See also:
42 # http://wiki.debian.org/KernelFirmwareLicensing
43 # svn://svn.debian.org/kernel/dists/trunk/linux-2.6/debian/patches/debian/dfsg/files-1
44 # http://wiki.gnewsense.org/Builder gen-kernel
45
46 # Thanks to Brian Brazil @ gnewsense
47
48
49 # For each kver release, start extra with an empty string, then count
50 # from 1 if changes are needed that require rebuilding the tarball.
51 kver=2.6.31 extra=1
52
53 case $1 in
54 --force)
55   echo "WARNING: Using the force, ignored errors will be" >&2
56   die () {
57     echo ERROR: "$@" >&2
58     errors=:
59   }
60   forced=: errors=false
61   shift
62   ;;
63 *)
64   die () {
65     echo ERROR: "$@" >&2
66     echo Use --force to ignore
67     exit 1
68   }
69   forced=false errors=false
70   ;;
71 esac
72
73 check=`echo "$0" | sed 's,[^/]*$,,;s,^$,.,;s,/*$,,'`/deblob-check
74 if [ ! -f $check ] ; then
75   if $forced; then
76     die deblob-check script missing, will remove entire files
77   else
78     die deblob-check script missing
79   fi
80   have_check=false
81 else
82   have_check=:
83   [ -x $check ] || check="/bin/sh $check"
84 fi
85
86 filetest () {
87   if [ ! -f $1 ]; then
88     die $1 does not exist, something is wrong && return 1
89   fi
90 }
91
92 announce () {
93   echo
94   echo "$@"
95 }
96
97 clean_file () {
98   #$1 = filename
99   filetest $1 || return
100   rm $1
101   echo $1: removed
102 }
103
104 check_changed () {
105   #$1 = filename
106   if cmp $1.deblob $1 > /dev/null; then
107     rm $1.deblob
108     die $1 did not change, something is wrong && return 1
109   fi
110   mv $1.deblob $1
111 }
112
113 clean_blob () {
114   #$1 = filename
115   filetest $1 || return
116   if $have_check; then
117     name=$1
118     set fnord "$@" -d
119     shift 2
120     if $check "$@" -i linux-$kver $name > $name.deblob; then
121       if [ ! -s $name.deblob ]; then
122         die got an empty file after removing blobs from $name
123       fi
124     else
125       die failed removing blobs from $name
126     fi
127     check_changed $name && echo $name: removed blobs
128   else
129     clean_file $1
130   fi
131 }
132
133 dummy_blob () {
134   #$1 = filename
135   if test -f $1; then
136     die $1 exists, something is wrong && return
137   elif test ! -f firmware/Makefile; then
138     die firmware/Makefile does not exist, something is wrong && return
139   fi
140
141   clean_sed "s,`echo $1 | sed s,^firmware/,,`,\$(DEBLOBBED),g" \
142     firmware/Makefile "dropped $1"
143 }
144
145 clean_fw () {
146   #$1 = firmware text input, $2 = firmware output
147   filetest $1 || return
148   if test -f $2; then
149     die $2 exists, something is wrong && return
150   fi
151   clean_blob $1 -s 4
152   dummy_blob $2
153 }
154
155 drop_fw_file () {
156   #$1 = firmware text input, $2 = firmware output
157   filetest $1 || return
158   if test -f $2; then
159     die $2 exists, something is wrong && return
160   fi
161   clean_file $1
162   dummy_blob $2
163 }
164
165 clean_kconfig () {
166   #$1 = filename $2 = things to remove
167   case $1 in
168   -f)
169     shift
170     ;;
171   *)
172     if $have_check; then
173       return
174     fi
175     ;;
176   esac
177   filetest $1 || return
178   sed "/^config \\($2\\)\$/{p;i\
179         depends on NONFREE
180 d;}" $1 > $1.deblob
181   check_changed $1 && echo $1: marked config $2 as depending on NONFREE
182 }
183
184 clean_mk () {
185   #$1 = config $2 = Makefile name
186   # We don't clean up Makefiles any more --lxoliva
187   # sed -i "/\\($1\\)/d" $2
188   # echo $2: removed $1 support
189   # check_changed $2
190   filetest $2 || return
191   if sed -n "/\\($1\\)/p" $2 | grep . > /dev/null; then
192     :
193   else
194     die $2 does not contain matches for $1
195   fi
196 }
197
198 clean_sed () {
199   #$1 = sed-script $2 = file $3 = comment
200   filetest $2 || return
201   sed -e "$1" "$2" > "$2".deblob || {
202     die $2: failed: ${3-applied sed script $1} && return 1; }
203   check_changed $2 && echo $2: ${3-applied sed script $1}
204 }
205
206 reject_firmware () {
207   #$1 = file $2 = pre sed pattern
208   filetest $1 || return
209   clean_sed "$2"'
210 s,request\(_ihex\)\?_firmware\(_nowait\)\?,reject_firmware\2,g
211 ' "$1" 'disabled non-Free firmware-loading machinery'
212 }
213
214 maybe_reject_firmware () {
215   #$1 = file $2 = pre sed pattern
216   filetest $1 || return
217   clean_sed "$2"'
218 s,request_firmware\(_nowait\)\?,maybe_reject_firmware\1,g
219 ' "$1" 'retain Free firmware-loading machinery, disabling non-Free one'
220 }
221
222 undefine_macro () {
223   #$1 - macro name
224   #$2 - substitution
225   #$3 - message
226   #rest - file names
227   macro=$1 repl=$2 msg=$3; shift 3
228   for f in "$@"; do
229     clean_sed "
230 s,^#define $macro .*\$,/*(DEBLOBBED)*/,;
231 s,$macro,$repl,g;
232 " "$f" "$msg"
233   done
234 }
235
236 undefault_firmware () {
237   #$1 - pattern such that $1_DEFAULT_FIRMWARE is #defined to non-Free firmware
238   #$@ other than $1 - file names
239   macro="$1"_DEFAULT_FIRMWARE; shift
240   undefine_macro "$macro" "\"/*(DEBLOBBED)*/\"" \
241     "disabled non-Free firmware" "$@"
242 }
243
244 # First, check that files that contain firmwares and their
245 # corresponding sources are present.
246
247 for f in \
248   drivers/char/ser_a2232fw.h \
249     drivers/char/ser_a2232fw.ax \
250   drivers/net/ixp2000/ixp2400_rx.ucode \
251     drivers/net/ixp2000/ixp2400_rx.uc \
252   drivers/net/ixp2000/ixp2400_tx.ucode \
253     drivers/net/ixp2000/ixp2400_rx.uc \
254   drivers/net/wan/wanxlfw.inc_shipped \
255     drivers/net/wan/wanxlfw.S \
256   drivers/net/wireless/atmel.c \
257     drivers/net/wireless/atmel.c \
258   drivers/scsi/aic7xxx/aic79xx_seq.h_shipped \
259     drivers/scsi/aic7xxx/aic79xx.seq \
260   drivers/scsi/aic7xxx/aic7xxx_seq.h_shipped \
261     drivers/scsi/aic7xxx/aic7xxx.seq \
262   drivers/scsi/aic7xxx_old/aic7xxx_seq.c \
263     drivers/scsi/aic7xxx_old/aic7xxx.seq \
264   drivers/scsi/53c700_d.h_shipped \
265     drivers/scsi/53c700.scr \
266   drivers/scsi/sym53c8xx_2/sym_fw1.h \
267     drivers/scsi/sym53c8xx_2/sym_fw1.h \
268   drivers/scsi/sym53c8xx_2/sym_fw2.h \
269     drivers/scsi/sym53c8xx_2/sym_fw2.h \
270   firmware/dsp56k/bootstrap.bin.ihex \
271     firmware/dsp56k/bootstrap.asm \
272   firmware/keyspan_pda/keyspan_pda.HEX \
273     firmware/keyspan_pda/keyspan_pda.S \
274   firmware/keyspan_pda/xircom_pgs.HEX \
275     firmware/keyspan_pda/xircom_pgs.S \
276   sound/pci/cs46xx/imgs/cwcdma.h \
277     sound/pci/cs46xx/imgs/cwcdma.asp \
278 ; do
279   filetest $f
280 done
281
282 # Identify the tarball.
283 grep -q 'EXTRAVERSION.*-gnu' Makefile ||
284 clean_sed "s,^EXTRAVERSION.*,&-gnu$extra,
285 " Makefile 'added -gnu to EXTRAVERSION'
286
287 grep -q Linux-libre README ||
288 clean_sed '
289 1,3 s,Linux kernel release.*kernel\.org.*,GNU Linux-libre <http://linux-libre.fsfla.org>,
290 2,5 s,Linux version [0-9.]*,GNU Linux-libre,
291 1,20 s,\(operating system \)\?Unix,Unix kernel,
292 /WHAT IS LINUX/i\
293 WHAT IS GNU Linux-libre?\
294 \
295   GNU Linux-libre is a Free version of the kernel Linux (see below),\
296   suitable for use with the GNU Operating System in 100% Free\
297   GNU/Linux-libre System Distributions.\
298   http://www.gnu.org/distros/\
299 \
300   It removes non-Free components from Linux, that are disguised as\
301   source code or distributed in separate files.  It also disables\
302   run-time requests for non-Free components, shipped separately or as\
303   part of Linux, and documentation pointing to them, so as to avoid\
304   (Free-)baiting users into the trap of non-Free Software.\
305   http://www.fsfla.org/anuncio/2010-11-Linux-2.6.36-libre-debait\
306 \
307   Linux-libre started within the gNewSense GNU/Linux distribution.\
308   It was later adopted by Jeff Moe, who coined its name, and in 2008\
309   it became a project maintained by FSF Latin America.  In 2012, it\
310   became part of the GNU Project.\
311 \
312   The GNU Linux-libre project takes a minimal-changes approach to\
313   cleaning up Linux, making no effort to substitute components that\
314   need to be removed with functionally equivalent Free ones.\
315   Nevertheless, we encourage and support efforts towards doing so.\
316   http://libreplanet.org/wiki/LinuxLibre:Devices_that_require_non-free_firmware\
317 \
318   Our mascot is Freedo, a light-blue penguin that has just come out\
319   of the shower.  Although we like penguins, GNU is a much greater\
320   contribution to the entire system, so its mascot deserves more\
321   promotion.  See our web page for their images.\
322   http://linux-libre.fsfla.org/\
323
324 ' README 'added blurb about GNU Linux-libre'
325
326 # Add reject_firmware and maybe_reject_firmware
327 grep -q _LINUX_LIBRE_FIRMWARE_H include/linux/firmware.h ||
328 clean_sed '$i\
329 #ifndef _LINUX_LIBRE_FIRMWARE_H\
330 #define _LINUX_LIBRE_FIRMWARE_H\
331 \
332 #include <linux/device.h>\
333 \
334 #define NONFREE_FIRMWARE "/*(DEBLOBBED)*/"\
335 \
336 static inline int\
337 report_missing_free_firmware(const char *name, const char *what)\
338 {\
339         printk(KERN_ERR "%s: Missing Free %s\\n", name,\
340                what ? what : "firmware");\
341         return -EINVAL;\
342 }\
343 static inline int\
344 reject_firmware(const struct firmware **fw,\
345                 const char *name, struct device *device)\
346 {\
347         const struct firmware *xfw = NULL;\
348         int retval;\
349         report_missing_free_firmware(dev_name(device), NULL);\
350         retval = request_firmware(&xfw, NONFREE_FIRMWARE, device);\
351         if (!retval)\
352                 release_firmware(xfw);\
353         return -EINVAL;\
354 }\
355 static inline int\
356 maybe_reject_firmware(const struct firmware **fw,\
357                       const char *name, struct device *device)\
358 {\
359         if (strstr (name, NONFREE_FIRMWARE))\
360                 return reject_firmware(fw, name, device);\
361         else\
362                 return request_firmware(fw, name, device);\
363 }\
364 static inline void\
365 discard_rejected_firmware(const struct firmware *fw, void *context)\
366 {\
367         release_firmware(fw);\
368 }\
369 static inline int\
370 reject_firmware_nowait(struct module *module, int uevent,\
371                        const char *name, struct device *device,\
372                        void *context,\
373                        void (*cont)(const struct firmware *fw,\
374                                     void *context))\
375 {\
376         int retval;\
377         report_missing_free_firmware(dev_name(device), NULL);\
378         retval = request_firmware_nowait(module, uevent, NONFREE_FIRMWARE,\
379                                          device, NULL,\
380                                          discard_rejected_firmware);\
381         if (retval)\
382                 return retval;\
383         return -EINVAL;\
384 }\
385 static inline int\
386 maybe_reject_firmware_nowait(struct module *module, int uevent,\
387                              const char *name, struct device *device,\
388                              void *context,\
389                              void (*cont)(const struct firmware *fw,\
390                                           void *context))\
391 {\
392         if (strstr (name, NONFREE_FIRMWARE))\
393                 return reject_firmware_nowait(module, uevent, name,\
394                                               device, context, cont);\
395         else\
396                 return request_firmware_nowait(module, uevent, name,\
397                                                device, context, cont);\
398 }\
399 \
400 #endif /* _LINUX_LIBRE_FIRMWARE_H */\
401 ' include/linux/firmware.h 'added non-Free firmware notification support'
402
403 ########
404 # Arch #
405 ########
406
407 # x86
408
409 announce MICROCODE_AMD - "AMD microcode patch loading support"
410 reject_firmware arch/x86/kernel/microcode_amd.c
411 clean_blob arch/x86/kernel/microcode_amd.c
412 clean_kconfig arch/x86/Kconfig 'MICROCODE_AMD'
413 clean_mk CONFIG_MICROCODE_AMD arch/x86/kernel/Makefile
414
415 announce MICROCODE_INTEL - "Intel microcode patch loading support"
416 reject_firmware arch/x86/kernel/microcode_intel.c
417 clean_blob arch/x86/kernel/microcode_intel.c
418 clean_kconfig arch/x86/Kconfig 'MICROCODE_INTEL'
419 clean_mk CONFIG_MICROCODE_INTEL arch/x86/kernel/Makefile
420
421 # arm
422
423 announce IXP4XX_NPE - "IXP4xx Network Processor Engine support"
424 reject_firmware arch/arm/mach-ixp4xx/ixp4xx_npe.c
425 clean_blob Documentation/arm/IXP4xx
426
427 announce ARCH_NETX - "Hilscher NetX based"
428 clean_sed '
429 s,\([" ]\)request_firmware(,\1reject_firmware(,
430 ' arch/arm/mach-netx/xc.c 'disabled non-Free firmware-loading machinery'
431 clean_blob arch/arm/mach-netx/xc.c
432 clean_kconfig arch/arm/Kconfig 'ARCH_NETX'
433 clean_mk CONFIG_ARCH_NETX arch/arm/Makefile
434
435 ###########
436 # Chipset #
437 ###########
438
439 announce STLC45XX - "stlc4550/4560 chipset support"
440 reject_firmware drivers/staging/stlc45xx/stlc45xx.c
441 clean_blob drivers/staging/stlc45xx/stlc45xx.c
442 clean_kconfig drivers/staging/stlc45xx/Kconfig 'STLC45XX'
443 clean_mk CONFIG_STLC45XX drivers/staging/stlc45xx/Makefile
444
445 #######
446 # ATM #
447 #######
448
449 announce ATM_AMBASSADOR - "Madge Ambassador, Collage PCI 155 Server"
450 reject_firmware drivers/atm/ambassador.c
451 clean_blob drivers/atm/ambassador.c
452 clean_fw firmware/atmsar11.HEX firmware/atmsar11.fw
453 clean_kconfig drivers/atm/Kconfig 'ATM_AMBASSADOR'
454 clean_mk CONFIG_ATM_AMBASSADOR drivers/atm/Makefile
455
456 announce ATM_FORE200E - "FORE Systems 200E-series"
457 reject_firmware drivers/atm/fore200e.c
458 clean_blob drivers/atm/fore200e.c
459 clean_blob Documentation/networking/fore200e.txt
460 clean_blob drivers/atm/.gitignore
461 clean_blob Documentation/dontdiff
462 clean_kconfig drivers/atm/Kconfig 'ATM_FORE200E'
463 clean_mk CONFIG_ATM_FORE200E drivers/atm/Makefile
464
465 announce ATM_SOLOS - "Solos ADSL2+ PCI Multiport card driver"
466 reject_firmware drivers/atm/solos-pci.c
467 clean_blob drivers/atm/solos-pci.c
468 clean_kconfig drivers/atm/Kconfig 'ATM_SOLOS'
469 clean_mk CONFIG_ATM_SOLOS drivers/atm/Makefile
470
471 ########
472 # char #
473 ########
474
475 announce COMPUTONE - "Computone IntelliPort Plus serial"
476 drop_fw_file firmware/intelliport2.bin.ihex firmware/intelliport2.bin
477 reject_firmware drivers/char/ip2/ip2main.c
478 clean_blob drivers/char/ip2/ip2main.c
479 clean_kconfig drivers/char/Kconfig 'COMPUTONE'
480 clean_mk CONFIG_COMPUTONE drivers/char/Makefile
481
482 announce CYCLADES - "Cyclades async mux support"
483 reject_firmware drivers/char/cyclades.c
484 clean_blob drivers/char/cyclades.c
485 clean_kconfig drivers/char/Kconfig 'CYCLADES'
486 clean_mk CONFIG_CYCLADES drivers/char/Makefile
487
488 announce ISI - "Multi-Tech multiport card support"
489 reject_firmware drivers/char/isicom.c
490 clean_blob drivers/char/isicom.c
491 clean_kconfig drivers/char/Kconfig 'ISI'
492 clean_mk CONFIG_ISI drivers/char/Makefile
493
494 announce MOXA_INTELLIO - "Moxa Intellio support"
495 reject_firmware drivers/char/moxa.c
496 clean_blob drivers/char/moxa.c
497 clean_kconfig drivers/char/Kconfig 'MOXA_INTELLIO'
498 clean_mk CONFIG_MOXA_INTELLIO drivers/char/Makefile
499
500 # gpu drm
501
502 announce DRM_MGA - "Matrox g200/g400"
503 clean_blob drivers/gpu/drm/mga/mga_ucode.h
504 clean_blob drivers/gpu/drm/mga/mga_warp.c
505 clean_kconfig -f drivers/gpu/drm/Kconfig 'DRM_MGA'
506 clean_mk CONFIG_DRM_MGA drivers/gpu/drm/Makefile
507
508 announce DRM_R128 - "ATI Rage 128"
509 clean_sed '
510 /^static void r128_cce_load_microcode(drm_r128_private_t \* dev_priv)/i\
511 #define r128_cce_load_microcode(dev_priv) \\\
512   do { \\\
513     DRM_ERROR("Missing Free microcode!\\n"); \\\
514     dev->dev_private = (void *)dev_priv; \\\
515     r128_do_cleanup_cce(dev); \\\
516     return -EINVAL; \\\
517   } while (0)
518 ' drivers/gpu/drm/r128/r128_cce.c 'report missing Free microcode'
519 clean_blob drivers/gpu/drm/r128/r128_cce.c
520 clean_kconfig -f drivers/gpu/drm/Kconfig 'DRM_R128'
521 clean_mk CONFIG_DRM_R128 drivers/gpu/drm/Makefile
522
523 announce DRM_RADEON - "ATI Radeon"
524 clean_sed '
525 /^static void radeon_cp_load_microcode(drm_radeon_private_t \* dev_priv)/i\
526 #define radeon_cp_load_microcode(dev_priv) \\\
527   do { \\\
528     DRM_ERROR("Missing Free microcode!\\n"); \\\
529     radeon_do_cleanup_cp(dev); \\\
530     return -EINVAL; \\\
531   } while (0)
532 ' drivers/gpu/drm/radeon/radeon_cp.c 'report missing Free microcode'
533 clean_blob drivers/gpu/drm/radeon/radeon_cp.c
534 clean_blob drivers/gpu/drm/radeon/radeon_microcode.h
535 clean_sed '
536 /^static void r100_cp_load_microcode(struct radeon_device \*rdev)/i\
537 #define r100_cp_load_microcode(rdev) \\\
538   do { \\\
539     DRM_ERROR("Missing Free microcode!\\n"); \\\
540     return -EINVAL; \\\
541   } while (0)
542 ' drivers/gpu/drm/radeon/r100.c 'report missing Free microcode'
543 clean_blob drivers/gpu/drm/radeon/r100.c
544 clean_sed '
545 /^static void r600_cp_load_microcode(drm_radeon_private_t \*dev_priv)/i\
546 #define r600_cp_load_microcode(dev_priv) \\\
547   do { \\\
548     DRM_ERROR("Missing Free microcode!\\n"); \\\
549     r600_do_cleanup_cp(dev); \\\
550     return -EINVAL; \\\
551   } while (0)
552 ' drivers/gpu/drm/radeon/r600_cp.c 'report missing Free r600 microcode'
553 clean_sed '
554 /^static void r700_cp_load_microcode(drm_radeon_private_t \*dev_priv)/i\
555 #define r700_cp_load_microcode(dev_priv) \\\
556   do { \\\
557     DRM_ERROR("Missing Free microcode!\\n"); \\\
558     r600_do_cleanup_cp(dev); \\\
559     return -EINVAL; \\\
560   } while (0)
561 ' drivers/gpu/drm/radeon/r600_cp.c 'report missing Free r700 microcode'
562 clean_blob drivers/gpu/drm/radeon/r600_cp.c
563 clean_blob drivers/gpu/drm/radeon/r600_microcode.h
564 clean_kconfig -f drivers/gpu/drm/Kconfig 'DRM_RADEON'
565 clean_mk CONFIG_DRM_RADEON drivers/gpu/drm/Makefile
566
567
568 #########
569 # Media #
570 #########
571
572 # media/tuner
573
574 announce MEDIA_TUNER_XC2028 - "XCeive xc2028/xc3028 tuners"
575 undefault_firmware 'XC\(2028\|3028L\)' \
576   drivers/media/common/tuners/tuner-xc2028.h \
577   drivers/media/video/saa7134/saa7134-cards.c \
578   drivers/media/video/ivtv/ivtv-driver.c \
579   drivers/media/video/cx18/cx18-driver.c \
580   drivers/media/video/cx18/cx18-dvb.c \
581   drivers/media/video/cx23885/cx23885-dvb.c \
582   drivers/media/video/cx88/cx88-dvb.c \
583   drivers/media/video/cx88/cx88-cards.c \
584   drivers/media/video/em28xx/em28xx-cards.c \
585   drivers/media/dvb/dvb-usb/dib0700_devices.c \
586   drivers/media/dvb/dvb-usb/cxusb.c
587 reject_firmware drivers/media/common/tuners/tuner-xc2028.c
588 clean_kconfig drivers/media/common/tuners/Kconfig 'MEDIA_TUNER_XC2028'
589 clean_mk CONFIG_MEDIA_TUNER_XC2028 drivers/media/common/tuners/Makefile
590
591 announce MEDIA_TUNER_XC5000 - "Xceive XC5000 silicon tuner"
592 undefine_macro 'XC5000_DEFAULT_FIRMWARE_SIZE' 0 \
593   'removed non-Free firmware size' drivers/media/common/tuners/xc5000.c
594 undefault_firmware 'XC5000' \
595   drivers/media/common/tuners/xc5000.c \
596   drivers/media/video/cx231xx/cx231xx-cards.c
597 reject_firmware drivers/media/common/tuners/xc5000.c
598 clean_kconfig drivers/media/common/tuners/Kconfig 'MEDIA_TUNER_XC5000'
599 clean_mk CONFIG_MEDIA_TUNER_XC5000 drivers/media/common/tuners/Makefile
600
601 announce DVB_USB - "Support for various USB DVB devices"
602 reject_firmware drivers/media/dvb/dvb-usb/dvb-usb-firmware.c
603 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB'
604 clean_mk CONFIG_DVB_USB drivers/media/dvb/dvb-usb/Makefile
605
606 announce DVB_B2C2_FLEXCOP - "Technisat/B2C2 FlexCopII(b) and FlexCopIII adapters"
607 reject_firmware drivers/media/dvb/b2c2/flexcop-fe-tuner.c
608
609 announce DVB_BT8XX - "BT8xx based PCI cards"
610 reject_firmware drivers/media/dvb/bt8xx/dvb-bt8xx.c
611
612 announce DVB_USB_A800 - "AVerMedia AverTV DVB-T USB 2.0 (A800)"
613 clean_blob drivers/media/dvb/dvb-usb/a800.c
614 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_A800'
615 clean_mk CONFIG_DVB_USB_A800 drivers/media/dvb/dvb-usb/Makefile
616
617 announce DVB_USB_AF9005 - "Afatech AF9005 DVB-T USB1.1 support"
618 clean_file drivers/media/dvb/dvb-usb/af9005-script.h
619 clean_sed '
620 s,^     deb_info("load init script\\n");$,      {\n             err("Missing Free init script\\n");\n           return scriptlen = ret = -EINVAL;\n             ,;
621 ' drivers/media/dvb/dvb-usb/af9005-fe.c 'report missing Free init script'
622 clean_blob drivers/media/dvb/dvb-usb/af9005-fe.c
623 clean_blob drivers/media/dvb/dvb-usb/af9005.c
624 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_AF9005'
625 clean_mk CONFIG_DVB_USB_AF9005 drivers/media/dvb/dvb-usb/Makefile
626
627 announce DVB_USB_AF9015 - "Afatech AF9015 DVB-T USB2.0 support"
628 clean_blob drivers/media/dvb/dvb-usb/af9015.c
629 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_AF9015'
630 clean_mk CONFIG_DVB_USB_AF9015 drivers/media/dvb/dvb-usb/Makefile
631
632 announce DVB_USB_CXUSB - "Conexant USB2.0 hybrid reference design support"
633 clean_blob drivers/media/dvb/dvb-usb/cxusb.c
634 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_CXUSB'
635 clean_mk CONFIG_DVB_USB_CXUSB drivers/media/dvb/dvb-usb/Makefile
636
637 announce DVB_USB_DIB0700 - "DiBcom DiB0700 USB DVB devices"
638 clean_blob drivers/media/dvb/dvb-usb/dib0700_devices.c
639 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_DIB0700'
640 clean_mk CONFIG_DVB_USB_DIB0700 drivers/media/dvb/dvb-usb/Makefile
641
642 announce DVB_USB_DIBUSB_MB - "DiBcom USB DVB-T devices (based on the DiB3000M-B)"
643 clean_blob drivers/media/dvb/dvb-usb/dibusb-mb.c
644 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_DIBUSB_MB'
645 clean_mk CONFIG_DVB_USB_DIBUSB_MB drivers/media/dvb/dvb-usb/Makefile
646
647 announce DVB_USB_DIBUSB_MC - "DiBcom USB DVB-T devices (based on the DiB3000M-C/P)"
648 clean_blob drivers/media/dvb/dvb-usb/dibusb-mc.c
649 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_DIBUSB_MC'
650 clean_mk CONFIG_DVB_USB_DIBUSB_MC drivers/media/dvb/dvb-usb/Makefile
651
652 announce DVB_USB_DIGITV - "Nebula Electronics uDigiTV DVB-T USB2.0 support"
653 clean_blob drivers/media/dvb/dvb-usb/digitv.c
654 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_DIGITV'
655 clean_mk CONFIG_DVB_USB_DIGITV drivers/media/dvb/dvb-usb/Makefile
656
657 announce DVB_USB_DTT200U - "WideView WT-200U and WT-220U (pen) DVB-T USB2.0 support (Yakumo/Hama/Typhoon/Yuan)"
658 clean_blob drivers/media/dvb/dvb-usb/dtt200u.c
659 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_DTT200U'
660 clean_mk CONFIG_DVB_USB_DTT200U drivers/media/dvb/dvb-usb/Makefile
661
662 announce DVB_USB_DW2102 - "DvbWorld DVB-S/S2 USB2.0 support"
663 reject_firmware drivers/media/dvb/dvb-usb/dw2102.c
664 clean_blob drivers/media/dvb/dvb-usb/dw2102.c
665 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_DW2102'
666 clean_mk CONFIG_DVB_USB_DW2102 drivers/media/dvb/dvb-usb/Makefile
667
668 announce DVB_USB_GP8PSK - "GENPIX 8PSK->USB module support"
669 reject_firmware drivers/media/dvb/dvb-usb/gp8psk.c
670 clean_blob drivers/media/dvb/dvb-usb/gp8psk.c
671 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_GP8PSK'
672 clean_mk CONFIG_DVB_USB_GP8PSK drivers/media/dvb/dvb-usb/Makefile
673
674 announce DVB_USB_M920X - "Uli m920x DVB-T USB2.0 support"
675 reject_firmware drivers/media/dvb/dvb-usb/m920x.c
676 clean_blob drivers/media/dvb/dvb-usb/m920x.c
677 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_M920X'
678 clean_mk CONFIG_DVB_USB_M920X drivers/media/dvb/dvb-usb/Makefile
679
680 announce DVB_USB_NOVA_T_USB2 - "Hauppauge WinTV-NOVA-T usb2 DVB-T USB2.0 support"
681 clean_blob drivers/media/dvb/dvb-usb/nova-t-usb2.c
682 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_NOVA_T_USB2'
683 clean_mk CONFIG_DVB_USB_NOVA_T_USB2 drivers/media/dvb/dvb-usb/Makefile
684
685 announce DVB_USB_OPERA1 - "Opera1 DVB-S USB2.0 receiver"
686 reject_firmware drivers/media/dvb/dvb-usb/opera1.c
687 clean_blob drivers/media/dvb/dvb-usb/opera1.c
688 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_OPERA1'
689 clean_mk CONFIG_DVB_USB_OPERA1 drivers/media/dvb/dvb-usb/Makefile
690
691 announce DVB_USB_TTUSB2 - "Pinnacle 400e DVB-S USB2.0 support"
692 clean_blob drivers/media/dvb/dvb-usb/ttusb2.c
693 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_TTUSB2'
694 clean_mk CONFIG_DVB_USB_TTUSB2 drivers/media/dvb/dvb-usb/Makefile
695
696 announce DVB_USB_UMT_010 - "HanfTek UMT-010 DVB-T USB2.0 support"
697 clean_blob drivers/media/dvb/dvb-usb/umt-010.c
698 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_UMT_010'
699 clean_mk CONFIG_DVB_USB_UMT_010 drivers/media/dvb/dvb-usb/Makefile
700
701 announce DVB_USB_VP702X - "TwinhanDTV StarBox and clones DVB-S USB2.0 support"
702 clean_blob drivers/media/dvb/dvb-usb/vp702x.c
703 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_VP702X'
704 clean_mk CONFIG_DVB_USB_VP702X drivers/media/dvb/dvb-usb/Makefile
705
706 announce DVB_USB_VP7045 - "TwinhanDTV Alpha/MagicBoxII, DNTV tinyUSB2, Beetle USB2.0 support"
707 clean_blob drivers/media/dvb/dvb-usb/vp7045.c
708 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_VP7045'
709 clean_mk CONFIG_DVB_USB_VP7045 drivers/media/dvb/dvb-usb/Makefile
710
711 # dvb/frontends
712
713 announce DVB_AF9013 - "Afatech AF9013 demodulator"
714 undefault_firmware 'AF9013' \
715   drivers/media/dvb/frontends/af9013.c \
716   drivers/media/dvb/frontends/af9013_priv.h
717 reject_firmware drivers/media/dvb/frontends/af9013.c
718 clean_kconfig drivers/media/dvb/frontends/Kconfig 'DVB_AF9013'
719 clean_mk CONFIG_DVB_AF9013 drivers/media/dvb/frontends/Makefile
720
721 announce DVB_BCM3510 - "Broadcom BCM3510"
722 undefault_firmware 'BCM3510' drivers/media/dvb/frontends/bcm3510.c
723 reject_firmware drivers/media/dvb/frontends/bcm3510.c
724 reject_firmware drivers/media/dvb/frontends/bcm3510.h
725 clean_sed '
726 /You.ll need a firmware/,/dvb-fe-bcm/d;
727 ' drivers/media/dvb/frontends/bcm3510.c \
728   "removed non-Free firmware notes"
729 clean_kconfig drivers/media/dvb/frontends/Kconfig 'DVB_BCM3510'
730 clean_mk CONFIG_DVB_BCM3510 drivers/media/dvb/frontends/Makefile
731
732 announce DVB_NXT200X - "NxtWave Communications NXT2002/NXT2004 based"
733 undefault_firmware 'NXT200[24]' drivers/media/dvb/frontends/nxt200x.c
734 reject_firmware drivers/media/dvb/frontends/nxt200x.c
735 clean_blob drivers/media/dvb/frontends/nxt200x.c
736 clean_kconfig drivers/media/dvb/frontends/Kconfig 'DVB_NXT200X'
737 clean_mk CONFIG_DVB_NXT200X drivers/media/dvb/frontends/Makefile
738
739 announce DVB_OR51132 - "Oren OR51132 based"
740 reject_firmware drivers/media/dvb/frontends/or51132.c
741 clean_blob drivers/media/dvb/frontends/or51132.c
742 clean_kconfig drivers/media/dvb/frontends/Kconfig 'DVB_OR51132'
743 clean_mk CONFIG_DVB_OR51132 drivers/media/dvb/frontends/Makefile
744
745 announce DVB_OR51211 - "Oren OR51211 based"
746 undefault_firmware 'OR51211' drivers/media/dvb/frontends/or51211.c
747 reject_firmware drivers/media/dvb/frontends/or51211.c
748 reject_firmware drivers/media/dvb/frontends/or51211.h
749 clean_blob drivers/media/dvb/frontends/or51211.c
750 clean_kconfig drivers/media/dvb/frontends/Kconfig 'DVB_OR51211'
751 clean_mk CONFIG_DVB_OR51211 drivers/media/dvb/frontends/Makefile
752
753 announce DVB_SP8870 - "Spase sp8870"
754 undefault_firmware 'SP8870' drivers/media/dvb/frontends/sp8870.c
755 reject_firmware drivers/media/dvb/frontends/sp8870.c
756 reject_firmware drivers/media/dvb/frontends/sp8870.h
757 clean_blob drivers/media/dvb/frontends/sp8870.c
758 clean_kconfig drivers/media/dvb/frontends 'DVB_SP8870'
759 clean_mk CONFIG_DVB_SP8870 drivers/media/dvb/frontends/Makefile
760
761 announce DVB_CX24116 - "Conexant CX24116 based"
762 undefault_firmware CX24116 drivers/media/dvb/frontends/cx24116.c
763 reject_firmware drivers/media/dvb/frontends/cx24116.c
764 clean_kconfig drivers/media/dvb/frontends/Kconfig 'DVB_CX24116'
765 clean_mk CONFIG_DVB_CX24116 drivers/media/dvb/frontends/Makefile
766
767 announce DVB_SP887X - "Spase sp887x based"
768 undefault_firmware 'SP887X' drivers/media/dvb/frontends/sp887x.c
769 reject_firmware drivers/media/dvb/frontends/sp887x.c
770 reject_firmware drivers/media/dvb/frontends/sp887x.h
771 clean_blob drivers/media/dvb/frontends/sp887x.c
772 clean_kconfig drivers/media/dvb/frontends/Kconfig 'DVB_SP887X'
773 clean_mk CONFIG_DVB_SP887X drivers/media/dvb/frontends/Makefile
774
775 announce DVB_TDA10048 - "Philips TDA10048HN based"
776 undefine_macro 'TDA10048_DEFAULT_FIRMWARE_SIZE' 0 \
777   'removed non-Free firmware size' drivers/media/dvb/frontends/tda10048.c
778 undefault_firmware 'TDA10048' drivers/media/dvb/frontends/tda10048.c
779 reject_firmware drivers/media/dvb/frontends/tda10048.c
780 clean_kconfig drivers/media/dvb/frontends/Kconfig 'DVB_TDA10048'
781 clean_mk CONFIG_DVB_TDA10048 drivers/media/dvb/frontends/Makefile
782
783 announce DVB_TDA1004X - "Philips TDA10045H/TDA10046H"
784 undefault_firmware 'TDA1004[56]' drivers/media/dvb/frontends/tda1004x.c
785 reject_firmware drivers/media/dvb/frontends/tda1004x.c
786 reject_firmware drivers/media/dvb/frontends/tda1004x.h
787 clean_blob drivers/media/dvb/frontends/tda1004x.c
788 clean_kconfig drivers/media/dvb/frontends 'DVB_TDA1004X'
789 clean_mk CONFIG_DVB_TDA1004X drivers/media/dvb/frontends/Makefile
790
791 # dvb
792
793 announce DVB_AV7110 - "AV7110 cards"
794 reject_firmware drivers/media/dvb/ttpci/av7110.c
795 clean_blob drivers/media/dvb/ttpci/av7110.c
796 clean_kconfig drivers/media/dvb/ttpci/Kconfig 'DVB_AV7110'
797 clean_mk CONFIG_DVB_AV7110 drivers/media/dvb/ttpci/Makefile
798
799 announce DVB_BUDGET - "Budget cards"
800 reject_firmware drivers/media/dvb/ttpci/budget.c
801 reject_firmware drivers/media/dvb/frontends/tdhd1.h
802
803 announce DVB_BUDGET_AV - "Budget cards with analog video inputs"
804 reject_firmware drivers/media/dvb/ttpci/budget-av.c
805
806 announce DVB_BUDGET_CI - "Budget cards with onboard CI connector"
807 reject_firmware drivers/media/dvb/ttpci/budget-ci.c
808
809 announce DVB_DRX397XD - "Micronas DRX3975D/DRX3977D based"
810 reject_firmware drivers/media/dvb/frontends/drx397xD.c
811 clean_blob drivers/media/dvb/frontends/drx397xD_fw.h
812 clean_kconfig drivers/media/dvb/frontends/Kconfig 'DVB_DRX397XD'
813 clean_mk CONFIG_DVB_DRX397XD drivers/media/dvb/frontends/Makefile
814
815 announce DVB_PLUTO2 - "Pluto2 cards"
816 reject_firmware drivers/media/dvb/pluto2/pluto2.c
817
818 announce SMS_SIANO_MDTV - "Siano SMS1xxx based MDTV receiver"
819 reject_firmware drivers/media/dvb/siano/smscoreapi.c
820 clean_blob drivers/media/dvb/siano/smscoreapi.c
821 clean_blob drivers/media/dvb/siano/sms-cards.c
822 clean_kconfig drivers/media/dvb/siano/Kconfig 'SMS_SIANO_MDTV'
823 clean_mk CONFIG_SMS_SIANO_MDTV drivers/media/dvb/siano/Makefile
824
825 announce SMS_USB_DRV - "Siano's USB interface support"
826 reject_firmware drivers/media/dvb/siano/smsusb.c
827 clean_blob drivers/media/dvb/siano/smsusb.c
828 clean_kconfig drivers/media/dvb/siano/Kconfig 'SMS_USB_DRV'
829 clean_mk CONFIG_SMS_USB_DRV drivers/media/dvb/siano/Makefile
830
831 announce DVB_TTUSB_BUDGET - "Technotrend/Hauppauge Nova-USB devices"
832 drop_fw_file firmware/ttusb-budget/dspbootcode.bin.ihex firmware/ttusb-budget/dspbootcode.bin
833 reject_firmware drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c
834 clean_blob drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c
835 clean_kconfig drivers/media/dvb/ttusb-budget/Kconfig 'DVB_TTUSB_BUDGET'
836 clean_mk CONFIG_DVB_TTUSB_BUDGET drivers/media/dvb/ttusb-budget/Makefile
837
838 announce DVB_TTUSB_DEC - "Technotrend/Hauppauge USB DEC devices"
839 reject_firmware drivers/media/dvb/ttusb-dec/ttusb_dec.c
840 clean_blob drivers/media/dvb/ttusb-dec/ttusb_dec.c
841 clean_blob Documentation/dvb/ttusb-dec.txt
842 clean_kconfig drivers/media/dvb/ttusb-dec/Kconfig 'DVB_TTUSB_DEC'
843 clean_mk CONFIG_DVB_TTUSB_DEC drivers/media/dvb/ttusb-dec/Makefile
844
845 # video
846
847 announce VIDEO_BT848 - "BT848 Video For Linux"
848 reject_firmware drivers/media/video/bt8xx/bttv-cards.c
849 clean_blob drivers/media/video/bt8xx/bttv-cards.c
850 clean_blob Documentation/video4linux/bttv/README
851 clean_kconfig drivers/media/video/bt8xx/Kconfig 'VIDEO_BT848'
852 clean_mk CONFIG_VIDEO_BT848 drivers/media/video/bt8xx/Makefile
853
854 announce VIDEO_CPIA2 - "CPiA2 Video For Linux"
855 clean_fw firmware/cpia2/stv0672_vp4.bin.ihex firmware/cpia2/stv0672_vp4.bin
856 reject_firmware drivers/media/video/cpia2/cpia2_core.c
857 clean_blob drivers/media/video/cpia2/cpia2_core.c
858 clean_kconfig drivers/media/video/cpia2/Kconfig 'VIDEO_CPIA2'
859 clean_mk CONFIG_VIDEO_CPIA2 drivers/media/video/cpia2/Makefile
860
861 announce VIDEO_CX18 - "Conexant cx23418 MPEG encoder support"
862 reject_firmware drivers/media/video/cx18/cx18-av-firmware.c
863 reject_firmware drivers/media/video/cx18/cx18-dvb.c
864 reject_firmware drivers/media/video/cx18/cx18-firmware.c
865 clean_blob drivers/media/video/cx18/cx18-av-firmware.c
866 clean_blob drivers/media/video/cx18/cx18-dvb.c
867 clean_blob drivers/media/video/cx18/cx18-firmware.c
868 clean_kconfig drivers/media/video/cx18/Kconfig 'VIDEO_CX18'
869 clean_mk CONFIG_VIDEO_CX18 drivers/media/video/cx18/Makefile
870
871 announce VIDEO_CX23885 - "Conexant cx23885 (2388x successor) support"
872 reject_firmware drivers/media/video/cx23885/cx23885-417.c
873 clean_blob drivers/media/video/cx23885/cx23885-417.c
874 clean_kconfig drivers/media/video/cx23885/Kconfig 'VIDEO_CX23885'
875 clean_mk CONFIG_VIDEO_CX23885 drivers/media/video/cx23885/Makefile
876
877 announce VIDEO_CX25840 - "Conexant CX2584x audio/video decoders"
878 reject_firmware drivers/media/video/cx25840/cx25840-firmware.c
879 clean_blob drivers/media/video/cx25840/cx25840-firmware.c
880 clean_kconfig drivers/media/video/cx25840/Kconfig 'VIDEO_CX25840'
881 clean_mk CONFIG_VIDEO_CX25840 drivers/media/video/cx25840/Makefile
882
883 announce VIDEO_CX88_BLACKBIRD - "Blackbird MPEG encoder support (cx2388x + cx23416)"
884 reject_firmware drivers/media/video/cx88/cx88-blackbird.c
885 clean_kconfig drivers/media/video/cx88/Kconfig 'VIDEO_CX88_BLACKBIRD'
886 clean_mk CONFIG_VIDEO_CX88_BLACKBIRD drivers/media/video/cx88/Makefile
887
888 announce VIDEO_IVTV - "Conexant cx23416/cx23415 MPEG encoder/decoder support"
889 reject_firmware drivers/media/video/ivtv/ivtv-firmware.c
890 clean_blob drivers/media/video/ivtv/ivtv-firmware.c
891 clean_kconfig drivers/media/video/ivtv/Kconfig 'VIDEO_IVTV'
892 clean_mk CONFIG_VIDEO_IVTV drivers/media/video/ivtv/Makefile
893
894 announce VIDEO_PVRUSB2 - "Hauppauge WinTV-PVR USB2 support"
895 reject_firmware drivers/media/video/pvrusb2/pvrusb2-hdw.c
896 clean_blob drivers/media/video/pvrusb2/pvrusb2-devattr.c
897 clean_kconfig drivers/media/video/pvrusb2/Kconfig 'VIDEO_PVRUSB2'
898 clean_mk CONFIG_VIDEO_PVRUSB2 drivers/media/video/pvrusb2/Makefile
899
900 announce "VIDEO_CX23885, VIDEO_CX88_BLACKBIRD, VIDEO_IVTV, VIDEO_PVRUSB2" - "See above"
901 clean_blob include/media/cx2341x.h
902
903 announce VIDEO_GO7007 - "Go 7007 support"
904 reject_firmware drivers/staging/go7007/go7007-driver.c
905 clean_blob drivers/staging/go7007/go7007-driver.c
906 reject_firmware drivers/staging/go7007/go7007-fw.c
907 clean_blob drivers/staging/go7007/go7007-usb.c
908 clean_blob drivers/staging/go7007/saa7134-go7007.c
909 clean_kconfig drivers/staging/go7007/Kconfig 'VIDEO_GO7007'
910 clean_mk CONFIG_VIDEO_GO7007 drivers/staging/go7007/Makefile
911
912 announce VIDEO_GO7007_USB_S2250_BOARD - "Sensoray 2250/2251 support"
913 reject_firmware drivers/staging/go7007/s2250-loader.c
914 clean_blob drivers/staging/go7007/s2250-loader.c
915 clean_kconfig drivers/staging/go7007/Kconfig 'VIDEO_GO7007_USB_S2250_BOARD'
916 clean_mk CONFIG_VIDEO_GO7007_USB_S2250_BOARD drivers/staging/go7007/Makefile
917
918 announce VIDEO_SAA7134_DVB - "DVB/ATSC Support for saa7134 based TV cards"
919 reject_firmware drivers/media/video/saa7134/saa7134-dvb.c
920 clean_kconfig drivers/media/video/saa7134/Kconfig 'VIDEO_SAA7134_DVB'
921 clean_mk CONFIG_VIDEO_SAA7134_DVB drivers/media/video/saa7134/Makefile
922
923 announce USB_DABUSB - "DABUSB driver"
924 clean_fw firmware/dabusb/bitstream.bin.ihex firmware/dabusb/bitstream.bin
925 clean_fw firmware/dabusb/firmware.HEX firmware/dabusb/firmware.fw
926 reject_firmware drivers/media/video/dabusb.c
927 clean_blob drivers/media/video/dabusb.c
928 clean_kconfig drivers/media/Kconfig 'USB_DABUSB'
929 clean_mk CONFIG_USB_DABUSB drivers/media/video/Makefile
930
931 announce USB_S2255 - "USB Sensoray 2255 video capture device"
932 reject_firmware drivers/media/video/s2255drv.c
933 clean_blob drivers/media/video/s2255drv.c
934 clean_kconfig drivers/media/video/Kconfig 'USB_S2255'
935 clean_mk CONFIG_USB_S2255 drivers/media/video/Makefile
936
937 announce USB_VICAM - "USB 3com HomeConnect, AKA vicam"
938 drop_fw_file firmware/vicam/firmware.H16 firmware/vicam/firmware.fw
939 reject_firmware drivers/media/video/usbvideo/vicam.c
940 clean_blob drivers/media/video/usbvideo/vicam.c
941 clean_kconfig drivers/media/video/usbvideo/Kconfig 'USB_VICAM'
942 clean_mk CONFIG_USB_VICAM drivers/media/video/usbvideo/Makefile
943
944
945 #######
946 # net #
947 #######
948
949 announce ACENIC - "Alteon AceNIC/3Com 3C985/NetGear GA620 Gigabit"
950 drop_fw_file firmware/acenic/tg1.bin.ihex firmware/acenic/tg1.bin
951 drop_fw_file firmware/acenic/tg2.bin.ihex firmware/acenic/tg2.bin
952 reject_firmware drivers/net/acenic.c
953 clean_blob drivers/net/acenic.c
954 clean_kconfig drivers/net/Kconfig 'ACENIC'
955 clean_mk CONFIG_ACENIC drivers/net/Makefile
956
957 announce ADAPTEC_STARFIRE - "Adaptec Starfire/DuraLAN support"
958 clean_fw firmware/adaptec/starfire_rx.bin.ihex firmware/adaptec/starfire_rx.bin
959 clean_fw firmware/adaptec/starfire_tx.bin.ihex firmware/adaptec/starfire_tx.bin
960 reject_firmware drivers/net/starfire.c
961 clean_blob drivers/net/starfire.c
962 clean_kconfig drivers/net/Kconfig 'ADAPTEC_STARFIRE'
963 clean_mk CONFIG_ADAPTEC_STARFIRE drivers/net/Makefile
964
965 announce BNX2 - "Broadcom NetXtremeII"
966 drop_fw_file firmware/bnx2/bnx2-mips-09-4.6.17.fw.ihex firmware/bnx2/bnx2-mips-09-4.6.17.fw
967 drop_fw_file firmware/bnx2/bnx2-rv2p-09-4.6.15.fw.ihex firmware/bnx2/bnx2-rv2p-09-4.6.15.fw
968 drop_fw_file firmware/bnx2/bnx2-mips-06-4.6.16.fw.ihex firmware/bnx2/bnx2-mips-06-4.6.16.fw
969 drop_fw_file firmware/bnx2/bnx2-rv2p-06-4.6.16.fw.ihex firmware/bnx2/bnx2-rv2p-06-4.6.16.fw
970 reject_firmware drivers/net/bnx2.c
971 clean_blob drivers/net/bnx2.c
972 clean_kconfig drivers/net/Kconfig 'BNX2'
973 clean_mk CONFIG_BNX2 drivers/net/Makefile
974
975 announce BNX2X - "Broadcom NetXtremeII 10Gb support"
976 drop_fw_file firmware/bnx2x-e1-4.8.53.0.fw.ihex firmware/bnx2x-e1-4.8.53.0.fw
977 drop_fw_file firmware/bnx2x-e1h-4.8.53.0.fw.ihex firmware/bnx2x-e1h-4.8.53.0.fw
978 reject_firmware drivers/net/bnx2x_main.c
979 clean_sed '
980 /^#include "bnx2x_init\.h"/,/^$/{
981   /^$/i\
982 #define bnx2x_init_block(bp, start, end) \\\
983   return (printk(KERN_ERR PFX "%s: Missing Free firmware\\n", bp->dev->name),\\\
984           -EINVAL)
985 }' drivers/net/bnx2x_main.c 'report missing Free firmware'
986 clean_blob drivers/net/bnx2x_main.c
987 clean_blob drivers/net/bnx2x_hsi.h
988 clean_blob drivers/net/bnx2x_init_ops.h
989 clean_kconfig drivers/net/Kconfig 'BNX2X'
990 clean_mk CONFIG_BNX2X drivers/net/Makefile
991
992 announce CASSINI - "Sun Cassini"
993 drop_fw_file firmware/sun/cassini.bin.ihex firmware/sun/cassini.bin
994 reject_firmware drivers/net/cassini.c
995 clean_blob drivers/net/cassini.c
996 clean_kconfig drivers/net/Kconfig 'CASSINI'
997 clean_mk CONFIG_CASSINI drivers/net/Makefile
998
999 announce CHELSIO_T3 - "Chelsio AEL 2005 support"
1000 drop_fw_file firmware/cxgb3/t3b_psram-1.1.0.bin.ihex firmware/cxgb3/t3b_psram-1.1.0.bin
1001 drop_fw_file firmware/cxgb3/t3c_psram-1.1.0.bin.ihex firmware/cxgb3/t3c_psram-1.1.0.bin
1002 drop_fw_file firmware/cxgb3/t3fw-7.4.0.bin.ihex firmware/cxgb3/t3fw-7.4.0.bin
1003 reject_firmware drivers/net/cxgb3/cxgb3_main.c
1004 clean_sed '
1005 /^static int ael2005_setup_\(sr\|twinax\)_edc([^;]*$/,/^}$/{
1006   /for.*ARRAY_SIZE(\(sr\|twinax\)_edc)/i\
1007         CH_ERR(phy->adapter, "Missing Free firwmare\\n");\
1008         err = -EINVAL;
1009 }' drivers/net/cxgb3/ael1002.c 'report missing Free firmware'
1010 clean_blob drivers/net/cxgb3/cxgb3_main.c
1011 clean_blob drivers/net/cxgb3/ael1002.c
1012 clean_kconfig drivers/net/Kconfig 'CHELSIO_T3'
1013 clean_mk CONFIG_CHELSIO_T3 drivers/net/cxgb3/Makefile
1014
1015 announce E100 - "Intel PRO/100+"
1016 drop_fw_file firmware/e100/d101m_ucode.bin.ihex firmware/e100/d101m_ucode.bin
1017 drop_fw_file firmware/e100/d101s_ucode.bin.ihex firmware/e100/d101s_ucode.bin
1018 drop_fw_file firmware/e100/d102e_ucode.bin.ihex firmware/e100/d102e_ucode.bin
1019 reject_firmware drivers/net/e100.c
1020 clean_sed '
1021 /^static const struct firmware \*e100_\(reject\|request\)_firmware(/,/^}$/{
1022   s:^\(.*\)return ERR_PTR(err);$:\1DPRINTK(PROBE,ERR, "Proceeding without firmware\\n");\n\1return NULL;:
1023 }' drivers/net/e100.c 'proceed without firmware'
1024 clean_blob drivers/net/e100.c
1025 clean_kconfig drivers/net/Kconfig 'E100'
1026 clean_mk CONFIG_E100 drivers/net/Makefile
1027
1028 announce MYRI_SBUS - "MyriCOM Gigabit Ethernet"
1029 drop_fw_file firmware/myricom/lanai.bin.ihex firmware/myricom/lanai.bin
1030 reject_firmware drivers/net/myri_sbus.c
1031 clean_blob drivers/net/myri_sbus.c
1032 clean_kconfig drivers/net/Kconfig 'MYRI_SBUS'
1033 clean_mk CONFIG_MYRI_SBUS drivers/net/Makefile
1034
1035 announce MYRI10GE - "Myricom Myri-10G Ethernet support"
1036 reject_firmware drivers/net/myri10ge/myri10ge.c
1037 clean_blob drivers/net/myri10ge/myri10ge.c
1038 clean_kconfig drivers/net/Kconfig 'MYRI10GE'
1039 clean_mk CONFIG_MYRI10GE drivers/net/myri10ge/Makefile
1040
1041 announce NETXEN_NIC - "NetXen Multi port (1/10) Gigabit Ethernet NIC"
1042 reject_firmware drivers/net/netxen/netxen_nic.h
1043 reject_firmware drivers/net/netxen/netxen_nic_main.c
1044 reject_firmware drivers/net/netxen/netxen_nic_init.c
1045 clean_blob drivers/net/netxen/netxen_nic_init.c
1046 clean_kconfig drivers/net/Kconfig 'NETXEN_NIC'
1047 clean_mk CONFIG_NETXEN_NIC drivers/net/Makefile
1048
1049 announce SLICOSS - "Alacritech Gigabit IS-NIC cards"
1050 reject_firmware drivers/staging/slicoss/slicoss.c
1051 clean_blob drivers/staging/slicoss/slicoss.c
1052 clean_kconfig drivers/staging/slicoss/Kconfig 'SLICOSS'
1053 clean_mk CONFIG_SLICOSS drivers/staging/slicoss/Makefile
1054
1055 announce SPIDER_NET - "Spider Gigabit Ethernet driver"
1056 reject_firmware drivers/net/spider_net.c
1057 clean_sed 's,spider_fw\.bin,DEBLOBBED.bin,g' \
1058   drivers/net/spider_net.c 'removed non-Free firmware notes'
1059 clean_blob drivers/net/spider_net.h
1060 clean_kconfig drivers/net/Kconfig 'SPIDER_NET'
1061 clean_mk CONFIG_SPIDER_NET drivers/net/Makefile
1062
1063 announce SXG - "Alacritech SLIC Technology Non-Accelerated 10Gbe cards"
1064 clean_file drivers/staging/sxg/sxgphycode-1.2.h
1065 reject_firmware drivers/staging/sxg/sxg.c
1066 clean_sed '
1067 /^static int sxg_phy_init(/,/^}$/{
1068   /for (p = PhyUcode/i\
1069                 printk("%s: missing Free firmware\\n", __func__);\
1070                 return (STATUS_FAILURE);\
1071 #define PhyUcode NULL
1072 }' drivers/staging/sxg/sxg.c 'report missing Free firmware'
1073 clean_blob drivers/staging/sxg/sxg.c
1074 clean_kconfig drivers/staging/sxg/Kconfig 'SXG'
1075 clean_mk CONFIG_SXG drivers/staging/sxg/Makefile
1076
1077 announce TEHUTI - "Tehuti Networks 10G Ethernet"
1078 drop_fw_file firmware/tehuti/bdx.bin.ihex firmware/tehuti/bdx.bin
1079 reject_firmware drivers/net/tehuti.c
1080 clean_blob drivers/net/tehuti.c
1081 clean_kconfig drivers/net/Kconfig 'TEHUTI'
1082 clean_mk CONFIG_TEHUTI drivers/net/Makefile
1083
1084 announce TIGON3 - "Broadcom Tigon3"
1085 drop_fw_file firmware/tigon/tg3.bin.ihex firmware/tigon/tg3.bin
1086 drop_fw_file firmware/tigon/tg3_tso.bin.ihex firmware/tigon/tg3_tso.bin
1087 drop_fw_file firmware/tigon/tg3_tso5.bin.ihex firmware/tigon/tg3_tso5.bin
1088 reject_firmware drivers/net/tg3.c
1089 clean_blob drivers/net/tg3.c
1090 clean_kconfig drivers/net/Kconfig 'TIGON3'
1091 clean_mk CONFIG_TIGON3 drivers/net/Makefile
1092
1093 announce TYPHOON - "3cr990 series Typhoon"
1094 drop_fw_file firmware/3com/typhoon.bin.ihex firmware/3com/typhoon.bin
1095 reject_firmware drivers/net/typhoon.c
1096 clean_blob drivers/net/typhoon.c
1097 clean_kconfig drivers/net/Kconfig 'TYPHOON'
1098 clean_mk CONFIG_TYPHOON drivers/net/Makefile
1099
1100 # appletalk
1101
1102 announce COPS - "COPS LocalTalk PC"
1103 clean_sed '
1104 /sizeof(\(ff\|lt\)drv_code)/{
1105   i\
1106                 printk(KERN_INFO "%s: Missing Free firmware.\\n", dev->name);\
1107                 return;
1108 }
1109 /\(ff\|lt\)drv_code/d;
1110 ' drivers/net/appletalk/cops.c 'report missing Free firmware'
1111 clean_blob drivers/net/appletalk/cops.c
1112 clean_file drivers/net/appletalk/cops_ffdrv.h
1113 clean_file drivers/net/appletalk/cops_ltdrv.h
1114 clean_kconfig drivers/net/appletalk/Kconfig 'COPS'
1115 clean_mk CONFIG_COPS drivers/net/appletalk/Makefile
1116
1117 # hamradio
1118
1119 announce YAM - "YAM driver for AX.25"
1120 drop_fw_file firmware/yam/1200.bin.ihex firmware/yam/1200.bin
1121 drop_fw_file firmware/yam/9600.bin.ihex firmware/yam/9600.bin
1122 reject_firmware drivers/net/hamradio/yam.c
1123 clean_blob drivers/net/hamradio/yam.c
1124 clean_kconfig drivers/net/hamradio/Kconfig 'YAM'
1125 clean_mk CONFIG_YAM drivers/net/hamradio/Makefile
1126
1127 # irda
1128
1129 announce USB_IRDA - "IrDA USB dongles"
1130 reject_firmware drivers/net/irda/irda-usb.c
1131 clean_blob drivers/net/irda/irda-usb.c
1132 clean_kconfig drivers/net/irda/Kconfig 'USB_IRDA'
1133 clean_mk CONFIG_USB_IRDA drivers/net/irda/Makefile
1134
1135 # pcmcia
1136
1137 announce PCMCIA_SMC91C92 - "SMC 91Cxx PCMCIA"
1138 drop_fw_file firmware/ositech/Xilinx7OD.bin.ihex firmware/ositech/Xilinx7OD.bin
1139 reject_firmware drivers/net/pcmcia/smc91c92_cs.c
1140 clean_blob drivers/net/pcmcia/smc91c92_cs.c
1141 clean_kconfig drivers/net/pcmcia/Kconfig 'PCMCIA_SMC91C92'
1142 clean_mk CONFIG_PCMCIA_SMC91C92 drivers/net/pcmcia/Makefile
1143
1144 # CIS files are not software.
1145 # announce PCCARD - "PCCard (PCMCIA/CardBus) support"
1146 # reject_firmware drivers/pcmcia/ds.c
1147 # clean_kconfig drivers/pcmcia/Kconfig 'PCCARD'
1148 # clean_mk CONFIG_PCCARD drivers/pcmcia/Makefile
1149
1150 announce PCMCIA_3C574 - "3Com 3c574 PCMCIA support"
1151 # This is not software; it's Free, but GPLed without in-tree sources.
1152 drop_fw_file firmware/cis/3CCFEM556.cis.ihex firmware/cis/3CCFEM556.cis
1153 # clean_blob drivers/net/pcmcia/3c574_cs.c
1154 # clean_kconfig drivers/net/pcmcia/Kconfig 'PCMCIA_3C574'
1155 # clean_mk CONFIG_PCMCIA_3C574 drivers/net/pcmcia/Makefile
1156
1157 announce PCMCIA_3C589 - "3Com 3c589 PCMCIA support"
1158 # This is not software; it's Free, but GPLed without in-tree sources.
1159 drop_fw_file firmware/cis/3CXEM556.cis.ihex firmware/cis/3CXEM556.cis
1160 # clean_blob drivers/net/pcmcia/3c589_cs.c
1161 # clean_kconfig drivers/net/pcmcia/Kconfig 'PCMCIA_3C589'
1162 # clean_mk CONFIG_PCMCIA_3C589 drivers/net/pcmcia/Makefile
1163
1164 announce PCMCIA_PCNET - "NE2000 compatible PCMCIA support"
1165 # These are not software; they're Free, but GPLed without in-tree sources.
1166 drop_fw_file firmware/cis/LA-PCM.cis.ihex firmware/cis/LA-PCM.cis
1167 # clean_blob drivers/net/pcmcia/pcnet_cs.c
1168 # clean_kconfig drivers/net/pcmcia/Kconfig 'PCMCIA_PCNET'
1169 # clean_mk CONFIG_PCMCIA_PCNET drivers/net/pcmcia/Makefile
1170
1171 # tokenring
1172
1173 announce 3C359 - "3Com 3C359 Token Link Velocity XL adapter"
1174 drop_fw_file firmware/3com/3C359.bin.ihex firmware/3com/3C359.bin
1175 reject_firmware drivers/net/tokenring/3c359.c
1176 clean_blob drivers/net/tokenring/3c359.c
1177 clean_kconfig drivers/net/tokenring/Kconfig '3C359'
1178 clean_mk CONFIG_3C359 drivers/net/tokenring/Makefile
1179
1180 announce SMCTR - "SMC ISA/MCA adapter"
1181 drop_fw_file firmware/tr_smctr.bin.ihex firmware/tr_smctr.bin
1182 reject_firmware drivers/net/tokenring/smctr.c
1183 clean_blob drivers/net/tokenring/smctr.c
1184 clean_kconfig drivers/net/tokenring/Kconfig 'SMCTR'
1185 clean_mk CONFIG_SMCTR drivers/net/tokenring/Makefile
1186
1187 announce TMS380TR - "Generic TMS380 Token Ring ISA/PCI adapter support"
1188 reject_firmware drivers/net/tokenring/tms380tr.c
1189 clean_blob drivers/net/tokenring/tms380tr.c
1190 clean_kconfig drivers/net/tokenring/Kconfig 'TMS380TR'
1191 clean_mk CONFIG_TMS380TR drivers/net/tokenring/Makefile
1192
1193 # usb
1194
1195 announce USB_KAWETH - "USB KLSI KL5USB101-based ethernet device support"
1196 drop_fw_file firmware/kaweth/new_code.bin.ihex firmware/kaweth/new_code.bin
1197 drop_fw_file firmware/kaweth/new_code_fix.bin.ihex firmware/kaweth/new_code_fix.bin
1198 drop_fw_file firmware/kaweth/trigger_code.bin.ihex firmware/kaweth/trigger_code.bin
1199 drop_fw_file firmware/kaweth/trigger_code_fix.bin.ihex firmware/kaweth/trigger_code_fix.bin
1200 reject_firmware drivers/net/usb/kaweth.c
1201 clean_blob drivers/net/usb/kaweth.c
1202 clean_kconfig drivers/net/usb/Kconfig 'USB_KAWETH'
1203 clean_mk CONFIG_USB_KAWETH drivers/net/usb/Makefile
1204
1205 # wireless
1206
1207 announce ATMEL "Atmel at76c50x chipset  802.11b support"
1208 reject_firmware drivers/net/wireless/atmel.c
1209 clean_blob drivers/net/wireless/atmel.c
1210 clean_kconfig drivers/net/wireless/Kconfig 'ATMEL'
1211 clean_mk CONFIG_ATMEL drivers/net/wireless/Makefile
1212
1213 announce AT76C50X_USB - "Atmel at76c503/at76c505/at76c505a USB cards"
1214 reject_firmware drivers/net/wireless/at76c50x-usb.c
1215 clean_blob drivers/net/wireless/at76c50x-usb.c
1216 clean_kconfig drivers/net/wireless/Kconfig 'AT76C50X_USB'
1217 clean_mk CONFIG_AT76C50X_USB drivers/net/wireless/Makefile
1218
1219 announce USB_ATMEL - "Atmel at76c503/at76c505/at76c505a USB cards (in staging)"
1220 reject_firmware drivers/staging/at76_usb/at76_usb.c
1221 clean_blob drivers/staging/at76_usb/at76_usb.c
1222 clean_kconfig drivers/staging/at76_usb/Kconfig 'USB_ATMEL'
1223 clean_mk CONFIG_USB_ATMEL drivers/staging/at76_usb/Makefile
1224
1225 announce B43 - "Broadcom 43xx wireless support (mac80211 stack)"
1226 maybe_reject_firmware drivers/net/wireless/b43/main.c
1227 clean_sed '
1228 /^static int b43_upload_microcode(/,/^}$/{
1229   /     if (dev->fw\.opensource) {$/i\
1230         if (!dev->fw.opensource) {\
1231                 b43err(dev->wl, "Rejected non-Free firmware\\n");\
1232                 err = -EOPNOTSUPP;\
1233                 goto error;\
1234         }
1235 }' drivers/net/wireless/b43/main.c 'double-check and reject non-Free firmware'
1236 # Major portions of firmware filenames not deblobbed.
1237 clean_blob drivers/net/wireless/b43/main.c
1238 clean_kconfig drivers/net/wireless/b43/Kconfig 'B43'
1239 clean_mk CONFIG_B43 drivers/net/wireless/b43/Makefile
1240
1241 announce B43LEGACY - "Broadcom 43xx-legacy wireless support (mac80211 stack)"
1242 reject_firmware drivers/net/wireless/b43legacy/main.c
1243 # Major portions of firwmare filenames not deblobbed.
1244 clean_blob drivers/net/wireless/b43legacy/main.c
1245 clean_kconfig drivers/net/wireless/b43legacy/Kconfig 'B43LEGACY'
1246 clean_mk CONFIG_B43LEGACY drivers/net/wireless/b43legacy/Makefile
1247
1248 announce HERMES - "Hermes chipset 802.11b support (Orinoco/Prism2/Symbol)"
1249 reject_firmware drivers/net/wireless/orinoco/fw.c
1250 clean_blob drivers/net/wireless/orinoco/fw.c
1251 clean_kconfig drivers/net/wireless/Kconfig 'HERMES'
1252 clean_mk CONFIG_HERMES drivers/net/wireless/orinoco/Makefile
1253
1254 announce IPW2100 - "Intel PRO/Wireless 2100 Network Connection"
1255 reject_firmware drivers/net/wireless/ipw2x00/ipw2100.c
1256 clean_blob drivers/net/wireless/ipw2x00/ipw2100.c
1257 clean_kconfig drivers/net/wireless/Kconfig 'IPW2100'
1258 clean_mk CONFIG_IPW2100 drivers/net/wireless/ipw2x00/Makefile
1259
1260 announce IPW2200 - "Intel PRO/Wireless 2200BG and 2915ABG Network Connection"
1261 reject_firmware drivers/net/wireless/ipw2x00/ipw2200.c
1262 clean_blob drivers/net/wireless/ipw2x00/ipw2200.c
1263 clean_kconfig drivers/net/wireless/Kconfig 'IPW2200'
1264 clean_mk CONFIG_IPW2200 drivers/net/wireless/ipw2x00/Makefile
1265
1266 announce IWL3945 - "Intel PRO/Wireless 3945ABG/BG Network Connection"
1267 reject_firmware drivers/net/wireless/iwlwifi/iwl3945-base.c
1268 clean_blob drivers/net/wireless/iwlwifi/iwl3945-base.c
1269 clean_blob drivers/net/wireless/iwlwifi/iwl-3945.h
1270 clean_kconfig drivers/net/wireless/iwlwifi/Kconfig 'IWL3945'
1271 clean_mk CONFIG_IWL3945 drivers/net/wireless/iwlwifi/Makefile
1272
1273 announce IWLAGN - "Intel Wireless WiFi Next Gen AGN"
1274 reject_firmware drivers/net/wireless/iwlwifi/iwl-agn.c
1275 clean_blob drivers/net/wireless/iwlwifi/iwl-agn.c
1276 clean_kconfig drivers/net/wireless/iwlwifi/Kconfig 'IWLAGN'
1277 clean_mk CONFIG_IWLAGN drivers/net/wireless/iwlwifi/Makefile
1278
1279 announce IWL4965 - "Intel Wireless WiFi 4965AGN"
1280 clean_blob drivers/net/wireless/iwlwifi/iwl-4965.c
1281 clean_kconfig drivers/net/wireless/iwlwifi/Kconfig 'IWL4965'
1282 clean_mk CONFIG_IWL4965 drivers/net/wireless/iwlwifi/Makefile
1283
1284 announce IWL5000 - "Intel Wireless WiFi 5000AGN"
1285 clean_blob drivers/net/wireless/iwlwifi/iwl-5000.c
1286 clean_blob drivers/net/wireless/iwlwifi/iwl-6000.c
1287 clean_blob drivers/net/wireless/iwlwifi/iwl-1000.c
1288 clean_kconfig drivers/net/wireless/iwlwifi/Kconfig 'IWL5000'
1289 clean_mk CONFIG_IWL5000 drivers/net/wireless/iwlwifi/Makefile
1290
1291 announce IWM - "Intel Wireless Multicomm 3200 WiFi driver"
1292 reject_firmware drivers/net/wireless/iwmc3200wifi/fw.c
1293 clean_blob drivers/net/wireless/iwmc3200wifi/sdio.c
1294 clean_kconfig drivers/net/wireless/iwmc3200wifi/Kconfig 'IWM'
1295 clean_mk CONFIG_IWM drivers/net/wireless/iwmc3200wifi/Makefile
1296
1297 announce LIBERTAS_CS - "Marvell Libertas 8385 CompactFlash 802.11b/g cards"
1298 reject_firmware drivers/net/wireless/libertas/if_cs.c
1299 clean_blob drivers/net/wireless/libertas/if_cs.c
1300 clean_kconfig drivers/net/wireless/Kconfig 'LIBERTAS_CS'
1301 clean_mk CONFIG_LIBERTAS_CS drivers/net/wireless/libertas/Makefile
1302
1303 announce LIBERTAS_SDIO - "Marvell Libertas 8385 and 8686 SDIO 802.11b/g cards"
1304 reject_firmware drivers/net/wireless/libertas/if_sdio.c
1305 clean_blob drivers/net/wireless/libertas/if_sdio.c
1306 clean_kconfig drivers/net/wireless/Kconfig 'LIBERTAS_SDIO'
1307 clean_mk CONFIG_LIBERTAS_SDIO drivers/net/wireless/libertas/Makefile
1308
1309 announce LIBERTAS_SPI - "Marvell Libertas 8686 SPI 802.11b/g cards"
1310 reject_firmware drivers/net/wireless/libertas/if_spi.c
1311 clean_blob drivers/net/wireless/libertas/if_spi.c
1312 clean_kconfig drivers/net/wireless/Kconfig 'LIBERTAS_SPI'
1313 clean_mk CONFIG_LIBERTAS_SPI drivers/net/wireless/libertas/Makefile
1314
1315 announce LIBERTAS_USB - "Marvell Libertas 8388 USB 802.11b/g cards"
1316 reject_firmware drivers/net/wireless/libertas/if_usb.c
1317 clean_blob drivers/net/wireless/libertas/if_usb.c
1318 clean_blob drivers/net/wireless/libertas/README
1319 clean_kconfig drivers/net/wireless/Kconfig 'LIBERTAS_USB'
1320 clean_mk CONFIG_LIBERTAS_USB drivers/net/wireless/libertas/Makefile
1321
1322 announce LIBERTAS_THINFIRM_USB - "Marvell Libertas 8388 USB 802.11b/g cards with thin firmware"
1323 reject_firmware drivers/net/wireless/libertas_tf/if_usb.c
1324 clean_blob drivers/net/wireless/libertas_tf/if_usb.c
1325 clean_kconfig drivers/net/wireless/Kconfig 'LIBERTAS_THINFIRM_USB'
1326 clean_mk CONFIG_LIBERTAS_THINFIRM_USB drivers/net/wireless/libertas_tf/Makefile
1327
1328 announce MWL8K - "Marvell 88W8xxx PCI/PCIe Wireless support"
1329 reject_firmware drivers/net/wireless/mwl8k.c
1330 clean_blob drivers/net/wireless/mwl8k.c
1331 clean_kconfig drivers/net/wireless/Kconfig 'MWL8K'
1332 clean_mk CONFIG_MWL8K drivers/net/wireless/Makefile
1333
1334 announce OTUS - "Atheros OTUS 802.11n USB wireless support"
1335 clean_blob drivers/staging/otus/hal/hpDKfwu.c
1336 clean_blob drivers/staging/otus/hal/hpfw2.c
1337 clean_blob drivers/staging/otus/hal/hpfwbu.c
1338 clean_blob drivers/staging/otus/hal/hpfwspiu.c
1339 clean_blob drivers/staging/otus/hal/hpfwu.c
1340 clean_blob drivers/staging/otus/hal/hpfwu.c.drv_ba_resend
1341 clean_blob drivers/staging/otus/hal/hpfwu_2k.c
1342 clean_blob drivers/staging/otus/hal/hpfwu_BA.c
1343 clean_blob drivers/staging/otus/hal/hpfwu_FB50_mdk.c
1344 clean_blob drivers/staging/otus/hal/hpfwu_OTUS_RC.c
1345 clean_blob drivers/staging/otus/hal/hpfwu_txstream.c
1346 clean_blob drivers/staging/otus/hal/hpfwuinit.c
1347 clean_sed '
1348 /^u16_t zfFirmwareDownload\(NotJump\)\?(.*)$/,/^}$/ {
1349   /    image = (u8_t\*) fw;/i\
1350     zm_msg0_init(ZM_LV_0, "Missing Free firmware");\
1351     ret = ZM_ERR_FIRMWARE_WRONG_TYPE;\
1352     goto exit;\
1353
1354 }
1355 ' drivers/staging/otus/hal/hpusb.c \
1356   'disabled non-Free firmware-loading machinery'
1357 clean_sed 's/^extern u16_t \(zfFirmwareDownload\(NotJump\)\?\)([^;]*);/&\n#define \1(dev,fw,len,offset) (\1)(dev,NULL,0,offset)/
1358 ' drivers/staging/otus/hal/hpmain.c \
1359   'disabled non-Free firmware-loading machinery'
1360 clean_blob drivers/staging/otus/hal/hpmain.c
1361 clean_kconfig drivers/staging/otus/Kconfig OTUS
1362 clean_mk CONFIG_OTUS drivers/staging/otus/Makefile
1363
1364 announce PRISM2_USB - "Prism2.5/3 USB driver"
1365 reject_firmware drivers/staging/wlan-ng/prism2fw.c
1366 clean_blob drivers/staging/wlan-ng/prism2fw.c
1367 clean_kconfig drivers/staging/wlan-ng/Kconfig PRISM2_USB
1368 clean_mk CONFIG_PRISM2_USB drivers/staging/wlan-ng/Makefile
1369
1370 announce P54_PCI - "Prism54 PCI support"
1371 reject_firmware drivers/net/wireless/p54/p54pci.c
1372 clean_blob drivers/net/wireless/p54/p54pci.c
1373 clean_kconfig drivers/net/wireless/p54/Kconfig 'P54_PCI'
1374 clean_mk CONFIG_P54_PCI drivers/net/wireless/p54/Makefile
1375
1376 announce P54_SPI - "Prism54 SPI (stlc45xx) support"
1377 # There's support for loading custom 3826.eeprom here, with a default
1378 # eeprom that is clearly pure data.  Without Free 3826.arm, there's
1379 # little point in trying to retain the ability to load 3826.eeprom, so
1380 # we drop it altogether.
1381 reject_firmware drivers/net/wireless/p54/p54spi.c
1382 clean_blob drivers/net/wireless/p54/p54spi.c
1383 clean_kconfig drivers/net/wireless/p54/Kconfig 'P54_SPI'
1384 clean_mk CONFIG_P54_SPI drivers/net/wireless/p54/Makefile
1385
1386 announce P54_USB - "Prism54 USB support"
1387 reject_firmware drivers/net/wireless/p54/p54usb.c
1388 clean_blob drivers/net/wireless/p54/p54usb.c
1389 clean_blob drivers/net/wireless/p54/p54usb.h
1390 clean_kconfig drivers/net/wireless/p54/Kconfig 'P54_USB'
1391 clean_mk CONFIG_P54_USB drivers/net/wireless/p54/Makefile
1392
1393 announce PRISM54 - "Intersil Prism GT/Duette/Indigo PCI/Cardbus"
1394 reject_firmware drivers/net/wireless/prism54/islpci_dev.c
1395 clean_blob drivers/net/wireless/prism54/islpci_dev.c
1396 clean_sed '
1397 /^config PRISM54$/,/^config /{
1398   /If you enable this/,/^$/d;
1399 }' drivers/net/wireless/Kconfig 'removed firmware notes'
1400 clean_kconfig drivers/net/wireless/Kconfig 'PRISM54'
1401 clean_mk CONFIG_PRISM54 drivers/net/wireless/prism54/Makefile
1402
1403 announce RT2X00_LIB_FIRMWARE - "Ralink driver firmware support"
1404 reject_firmware drivers/net/wireless/rt2x00/rt2x00firmware.c
1405 clean_kconfig drivers/net/wireless/rt2x00/Kconfig 'RT2X00_LIB_FIRMWARE'
1406 clean_mk CONFIG_RT2X00_LIB_FIRMWARE drivers/net/wireless/rt2x00/Makefile
1407
1408 announce RT61PCI - "Ralink rt2501/rt61 (PCI/PCMCIA) support"
1409 clean_blob drivers/net/wireless/rt2x00/rt61pci.h
1410 clean_blob drivers/net/wireless/rt2x00/rt61pci.c
1411 clean_kconfig drivers/net/wireless/rt2x00/Kconfig 'RT61PCI'
1412 clean_mk CONFIG_RT61PCI drivers/net/wireless/rt2x00/Makefile
1413
1414 announce RT73USB - "Ralink rt2501/rt73 (USB) support"
1415 clean_blob drivers/net/wireless/rt2x00/rt73usb.h
1416 clean_blob drivers/net/wireless/rt2x00/rt73usb.c
1417 clean_kconfig drivers/net/wireless/rt2x00/Kconfig 'RT73USB'
1418 clean_mk CONFIG_RT73USB drivers/net/wireless/rt2x00/Makefile
1419
1420 announce RT2800USB - "Ralink rt2800 (USB) support"
1421 clean_blob drivers/net/wireless/rt2x00/rt2800usb.h
1422 clean_blob drivers/net/wireless/rt2x00/rt2800usb.c
1423 clean_kconfig drivers/net/wireless/rt2x00/Kconfig RT2800USB
1424 clean_mk CONFIG_RT2800USB drivers/net/wireless/rt2x00/Makefile
1425
1426 announce RT2860 - "Ralink 2860 wireless support"
1427 clean_file drivers/staging/rt2860/common/firmware.h
1428 clean_blob drivers/staging/rt2860/rt_linux.h
1429 clean_sed '
1430 /^NDIS_STATUS NICLoadFirmware(/,/^}$/{
1431   s/^\( *\)pFirmwareImage = .*FirmwareImage.*;/\1printk("%s: missing Free firmware\\n", __func__);\n\1return NDIS_STATUS_FAILURE;\n&/
1432 }' drivers/staging/rt2860/common/rtmp_init.c 'report missing Free firmware'
1433 clean_blob drivers/staging/rt2860/common/rtmp_init.c
1434 clean_sed '
1435 /^INT[  ]set_eFuseLoadFromBin_Proc(/,/^}$/{
1436   /src = kmalloc/i\
1437         printk("%s: missing Free firmware\\n", __func__);\
1438         return FALSE;
1439 }' drivers/staging/rt2860/common/eeprom.c 'report missing Free firmware'
1440 clean_blob drivers/staging/rt2860/common/eeprom.c
1441 clean_kconfig drivers/staging/rt2860/Kconfig RT2860
1442 clean_mk CONFIG_RT2860 drivers/staging/rt2860/Makefile
1443
1444 announce RT2870 - "Ralink 2870 wireless support"
1445 clean_file drivers/staging/rt2870/common/firmware.h
1446 clean_kconfig drivers/staging/rt2870/Kconfig RT2870
1447 clean_mk CONFIG_RT2870 drivers/staging/rt2870/Makefile
1448
1449 announce RT3070 - "Ralink 3070 wireless support"
1450 clean_file drivers/staging/rt3070/firmware.h
1451 clean_kconfig drivers/staging/rt3070/Kconfig RT3070
1452 clean_mk CONFIG_RT3070 drivers/staging/rt3070/Makefile
1453
1454 announce RTL8192SU - "RealTek RTL8192SU Wireless LAN NIC driver"
1455 reject_firmware drivers/staging/rtl8192su/r819xU_firmware.c
1456 reject_firmware drivers/staging/rtl8192su/r8192S_firmware.c
1457 clean_blob drivers/staging/rtl8192su/r8192SU_HWImg.c
1458 clean_blob drivers/staging/rtl8192su/r8192S_FwImgDTM.h
1459 clean_blob drivers/staging/rtl8192su/r8192S_firmware.c
1460 clean_blob drivers/staging/rtl8192su/r819xU_firmware_img.c
1461 clean_blob drivers/staging/rtl8192su/r819xU_firmware.c
1462 clean_kconfig drivers/staging/rtl8192su/Kconfig 'RTL8192SU'
1463 clean_mk CONFIG_RTL8192SU drivers/staging/rtl8192su/Makefile
1464
1465 announce WL12XX - "TI wl1251/wl1271 support"
1466 reject_firmware drivers/net/wireless/wl12xx/main.c
1467 clean_blob drivers/net/wireless/wl12xx/wl1251.h
1468 clean_kconfig drivers/net/wireless/wl12xx/Kconfig 'WL12XX'
1469 clean_mk CONFIG_WL12XX drivers/net/wireless/wl12xx/Makefile
1470
1471 announce USB_ZD1201 - "USB ZD1201 based Wireless device support"
1472 reject_firmware drivers/net/wireless/zd1201.c
1473 clean_blob drivers/net/wireless/zd1201.c
1474 clean_kconfig drivers/net/wireless/Kconfig 'USB_ZD1201'
1475 clean_mk CONFIG_USB_ZD1201 drivers/net/wireless/Makefile
1476
1477 announce ZD1211RW - "ZyDAS ZD1211/ZD1211B USB-wireless support"
1478 reject_firmware drivers/net/wireless/zd1211rw/zd_usb.c
1479 clean_blob drivers/net/wireless/zd1211rw/zd_usb.c
1480 clean_kconfig drivers/net/wireless/zd1211rw/Kconfig 'ZD1211RW'
1481 clean_mk CONFIG_ZD1211RW drivers/net/wireless/zd1211rw/Makefile
1482
1483 # bluetooth
1484
1485 announce BT_HCIBCM203X - "HCI BCM203x USB driver"
1486 reject_firmware drivers/bluetooth/bcm203x.c
1487 clean_blob drivers/bluetooth/bcm203x.c
1488 clean_kconfig drivers/bluetooth/Kconfig 'BT_HCIBCM203X'
1489 clean_mk CONFIG_BT_HCIBCM203X drivers/bluetooth/Makefile
1490
1491 announce BT_HCIBFUSB - "HCI BlueFRITZ! USB driver"
1492 reject_firmware drivers/bluetooth/bfusb.c
1493 clean_blob drivers/bluetooth/bfusb.c
1494 clean_kconfig drivers/bluetooth/Kconfig 'BT_HCIBFUSB'
1495 clean_mk CONFIG_BT_HCIBFUSB drivers/bluetooth/Makefile
1496
1497 announce BT_HCIBT3C - "HCI BT3C (PC Card) driver"
1498 reject_firmware drivers/bluetooth/bt3c_cs.c
1499 clean_blob drivers/bluetooth/bt3c_cs.c
1500 clean_kconfig drivers/bluetooth/Kconfig 'BT_HCIBT3C'
1501 clean_mk CONFIG_BT_HCIBT3C drivers/bluetooth/Makefile
1502
1503 # wimax
1504
1505 announce WIMAX_I2400M - "Intel Wireless WiMAX Connection 2400"
1506 reject_firmware drivers/net/wimax/i2400m/fw.c
1507 clean_blob drivers/net/wimax/i2400m/sdio.c
1508 clean_blob drivers/net/wimax/i2400m/usb.c
1509 clean_blob Documentation/wimax/README.i2400m
1510 clean_kconfig drivers/net/wimax/i2400m/Kconfig 'WIMAX_I2400M'
1511 clean_mk CONFIG_WIMAX_I2400M drivers/net/wimax/i2400m/Makefile
1512
1513 ########
1514 # ISDN #
1515 ########
1516
1517 announce ISDN_DIVAS - "Support Eicon DIVA Server cards"
1518 clean_blob drivers/isdn/hardware/eicon/cardtype.h
1519 clean_blob drivers/isdn/hardware/eicon/dsp_defs.h
1520 clean_kconfig drivers/isdn/hardware/eicon/Kconfig 'ISDN_DIVAS'
1521 clean_mk CONFIG_ISDN_DIVAS drivers/isdn/hardware/eicon/Makefile
1522
1523 ##########
1524 # Serial #
1525 ##########
1526
1527 # CIS files are not software.
1528 # announce SERIAL_8250_CS - "8250/16550 PCMCIA device support"
1529 # clean_blob drivers/serial/serial_cs.c
1530 # clean_kconfig drivers/serial/Kconfig 'SERIAL_8250_CS'
1531 # clean_mk CONFIG_SERIAL_8250_CS drivers/serial/Makefile
1532
1533 announce SERIAL_ICOM - "IBM Multiport Serial Adapter"
1534 reject_firmware drivers/serial/icom.c
1535 clean_blob drivers/serial/icom.c
1536 clean_kconfig drivers/serial/Kconfig 'SERIAL_ICOM'
1537 clean_mk CONFIG_SERIAL_ICOM drivers/serial/Makefile
1538
1539 announce SERIAL_QE - "Freescale QUICC Engine serial port support"
1540 reject_firmware drivers/serial/ucc_uart.c
1541 clean_blob drivers/serial/ucc_uart.c
1542 clean_kconfig drivers/serial/Kconfig 'SERIAL_QE'
1543 clean_mk CONFIG_SERIAL_QE drivers/serial/Makefile
1544
1545 ####################
1546 # Data acquisition #
1547 ####################
1548
1549 announce COMEDI_PCI_DRIVERS - "Data acquisition support Comedi PCI drivers"
1550 reject_firmware drivers/staging/comedi/drivers/jr3_pci.c
1551 clean_blob drivers/staging/comedi/drivers/jr3_pci.c
1552 clean_kconfig drivers/staging/comedi/Kconfig 'COMEDI_PCI_DRIVERS'
1553 clean_mk CONFIG_COMEDI_PCI_DRIVERS drivers/staging/comedi/drivers/Makefile
1554
1555 announce COMEDI_USB_DRIVERS - "Data acquisition support Comedi USB drivers"
1556 reject_firmware drivers/staging/comedi/drivers/usbdux.c
1557 clean_blob drivers/staging/comedi/drivers/usbdux.c
1558 reject_firmware drivers/staging/comedi/drivers/usbduxfast.c
1559 clean_blob drivers/staging/comedi/drivers/usbduxfast.c
1560 clean_kconfig drivers/staging/comedi/Kconfig 'COMEDI_USB_DRIVERS'
1561 clean_mk CONFIG_COMEDI_USB_DRIVERS drivers/staging/comedi/drivers/Makefile
1562
1563 announce ME4000 - "Meilhaus ME-4000 I/O board"
1564 clean_file drivers/staging/me4000/me4000_firmware.h
1565 clean_file drivers/staging/me4000/me4610_firmware.h
1566 clean_sed '
1567 /^static int me4000_xilinx_download([^;]*$/,/^}$/{
1568   /firm = .*xilinx_firm.*/i\
1569         printk(KERN_ERR "me4000: Missing Free firmware\\n");\
1570         return -EIO;
1571 }
1572 ' drivers/staging/me4000/me4000.c 'report missing Free firmware'
1573 clean_blob drivers/staging/me4000/me4000.c
1574 clean_kconfig drivers/staging/me4000/Kconfig 'ME4000'
1575 clean_mk CONFIG_ME4000 drivers/staging/me4000/Makefile
1576
1577 announce MEILHAUS - "Meilhaus support"
1578 reject_firmware drivers/staging/meilhaus/mefirmware.c
1579 clean_kconfig drivers/staging/meilhaus/Kconfig 'MEILHAUS'
1580 clean_mk CONFIG_MEILHAUS drivers/staging/meilhaus/Makefile
1581
1582 announce ME4600 - "Meilhaus ME-4600 support"
1583 clean_blob drivers/staging/meilhaus/me4600_device.c
1584 clean_kconfig drivers/staging/meilhaus/Kconfig 'ME4600'
1585 clean_mk CONFIG_ME4600 drivers/staging/meilhaus/Makefile
1586
1587 announce ME6000 - "Meilhaus ME-6000 support"
1588 clean_blob drivers/staging/meilhaus/me6000_device.c
1589 clean_kconfig drivers/staging/meilhaus/Kconfig 'ME6000'
1590 clean_mk CONFIG_ME6000 drivers/staging/meilhaus/Makefile
1591
1592
1593 ########
1594 # SCSI #
1595 ########
1596
1597 announce SCSI_QLOGICPTI - "PTI Qlogic, ISP Driver"
1598 drop_fw_file firmware/qlogic/isp1000.bin.ihex firmware/qlogic/isp1000.bin
1599 reject_firmware drivers/scsi/qlogicpti.c
1600 clean_blob drivers/scsi/qlogicpti.c
1601 clean_kconfig drivers/scsi/Kconfig 'SCSI_QLOGICPTI'
1602 clean_mk CONFIG_SCSI_QLOGICPTI drivers/scsi/Makefile
1603
1604 announce SCSI_ADVANSYS - "AdvanSys SCSI"
1605 drop_fw_file firmware/advansys/mcode.bin.ihex firmware/advansys/mcode.bin
1606 drop_fw_file firmware/advansys/3550.bin.ihex firmware/advansys/3550.bin
1607 drop_fw_file firmware/advansys/38C0800.bin.ihex firmware/advansys/38C0800.bin
1608 drop_fw_file firmware/advansys/38C1600.bin.ihex firmware/advansys/38C1600.bin
1609 reject_firmware drivers/scsi/advansys.c
1610 clean_blob drivers/scsi/advansys.c
1611 clean_kconfig drivers/scsi/Kconfig 'SCSI_ADVANSYS'
1612 clean_mk CONFIG_SCSI_ADVANSYS drivers/scsi/Makefile
1613
1614 announce SCSI_QLOGIC_1280 - "Qlogic QLA 1240/1x80/1x160 SCSI"
1615 drop_fw_file firmware/qlogic/1040.bin.ihex firmware/qlogic/1040.bin
1616 drop_fw_file firmware/qlogic/1280.bin.ihex firmware/qlogic/1280.bin
1617 drop_fw_file firmware/qlogic/12160.bin.ihex firmware/qlogic/12160.bin
1618 reject_firmware drivers/scsi/qla1280.c
1619 clean_blob drivers/scsi/qla1280.c
1620 clean_kconfig drivers/scsi/Kconfig 'SCSI_QLOGIC_1280'
1621 clean_mk CONFIG_SCSI_QLOGIC_1280 drivers/scsi/Makefile
1622
1623 announce SCSI_AIC94XX - "Adaptec AIC94xx SAS/SATA support"
1624 reject_firmware drivers/scsi/aic94xx/aic94xx_seq.c
1625 clean_blob drivers/scsi/aic94xx/aic94xx_seq.c
1626 clean_blob drivers/scsi/aic94xx/aic94xx_seq.h
1627 clean_kconfig drivers/scsi/aic94xx/Kconfig 'SCSI_AIC94XX'
1628 clean_mk CONFIG_SCSI_AIC94XX drivers/scsi/aic94xx/Makefile
1629
1630 announce SCSI_QLA_FC - "QLogic QLA2XXX Fibre Channel Support"
1631 reject_firmware drivers/scsi/qla2xxx/qla_gbl.h
1632 reject_firmware drivers/scsi/qla2xxx/qla_init.c
1633 reject_firmware drivers/scsi/qla2xxx/qla_os.c
1634 clean_sed '
1635 /^config SCSI_QLA_FC$/,/^config /{
1636   /^    By default, firmware/i\
1637         /*(DEBLOBBED)*/
1638   /^    By default, firmware/,/ftp:[/][/].*firmware[/]/d
1639 }' drivers/scsi/qla2xxx/Kconfig 'removed firmware notes'
1640 clean_blob drivers/scsi/qla2xxx/qla_os.c
1641 clean_kconfig drivers/scsi/qla2xxx/Kconfig 'SCSI_QLA_FC'
1642 clean_mk CONFIG_SCSI_QLA_FC drivers/scsi/qla2xxx/Makefile
1643
1644
1645 #######
1646 # USB #
1647 #######
1648
1649 # atm
1650
1651 announce USB_CXACRU - "Conexant AccessRunner USB support"
1652 reject_firmware drivers/usb/atm/cxacru.c
1653 clean_blob drivers/usb/atm/cxacru.c
1654 clean_kconfig drivers/usb/atm/Kconfig 'USB_CXACRU'
1655 clean_mk CONFIG_USB_CXACRU drivers/usb/atm/Makefile
1656
1657 announce USB_SPEEDTOUCH - "Speedtouch USB support"
1658 reject_firmware drivers/usb/atm/speedtch.c
1659 clean_blob drivers/usb/atm/speedtch.c
1660 clean_kconfig drivers/usb/atm/Kconfig 'USB_SPEEDTOUCH'
1661 clean_mk CONFIG_USB_SPEEDTOUCH drivers/usb/atm/Makefile
1662
1663 announce USB_UEAGLEATM - "ADI 930 and eagle USB DSL modem"
1664 reject_firmware drivers/usb/atm/ueagle-atm.c
1665 clean_blob drivers/usb/atm/ueagle-atm.c
1666 clean_kconfig drivers/usb/atm/Kconfig 'USB_UEAGLEATM'
1667 clean_mk CONFIG_USB_UEAGLEATM drivers/usb/atm/Makefile
1668
1669 # misc
1670
1671 announce USB_EMI26 - "EMI 2|6 USB Audio interface"
1672 # These files are not under the GPL, better remove them all.
1673 drop_fw_file firmware/emi26/bitstream.HEX firmware/emi26/bitstream.fw
1674 drop_fw_file firmware/emi26/firmware.HEX firmware/emi26/firmware.fw
1675 drop_fw_file firmware/emi26/loader.HEX firmware/emi26/loader.fw
1676 reject_firmware drivers/usb/misc/emi26.c
1677 clean_blob drivers/usb/misc/emi26.c
1678 clean_kconfig drivers/usb/misc/Kconfig 'USB_EMI26'
1679 clean_mk CONFIG_USB_EMI26 drivers/usb/misc/Makefile
1680
1681 announce USB_EMI62 - "EMI 6|2m USB Audio interface"
1682 # These files are probably not under the GPL, better remove them all.
1683 drop_fw_file firmware/emi62/bitstream.HEX firmware/emi62/bitstream.fw
1684 drop_fw_file firmware/emi62/loader.HEX firmware/emi62/loader.fw
1685 drop_fw_file firmware/emi62/midi.HEX firmware/emi62/midi.fw
1686 drop_fw_file firmware/emi62/spdif.HEX firmware/emi62/spdif.fw
1687 reject_firmware drivers/usb/misc/emi62.c
1688 clean_blob drivers/usb/misc/emi62.c
1689 clean_kconfig drivers/usb/misc/Kconfig 'USB_EMI62'
1690 clean_mk CONFIG_USB_EMI62 drivers/usb/misc/Makefile
1691
1692 announce USB_ISIGHTFW - "iSight firmware loading support"
1693 reject_firmware drivers/usb/misc/isight_firmware.c
1694 clean_blob drivers/usb/misc/isight_firmware.c
1695 clean_kconfig drivers/usb/misc/Kconfig 'USB_ISIGHTFW'
1696 clean_mk CONFIG_USB_ISIGHTFW drivers/usb/misc/Makefile
1697
1698 # serial
1699
1700 announce USB_SERIAL_KEYSPAN - "USB Keyspan USA-xxx Serial Driver"
1701 drop_fw_file firmware/keyspan/mpr.HEX firmware/keyspan/mpr.fw
1702 clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_KEYSPAN_MPR'
1703 drop_fw_file firmware/keyspan/usa18x.HEX firmware/keyspan/usa18x.fw
1704 clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_KEYSPAN_USA18X'
1705 drop_fw_file firmware/keyspan/usa19.HEX firmware/keyspan/usa19.fw
1706 clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_KEYSPAN_USA19'
1707 drop_fw_file firmware/keyspan/usa19qi.HEX firmware/keyspan/usa19qi.fw
1708 clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_KEYSPAN_USA19QI'
1709 drop_fw_file firmware/keyspan/usa19qw.HEX firmware/keyspan/usa19qw.fw
1710 clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_KEYSPAN_USA19QW'
1711 drop_fw_file firmware/keyspan/usa19w.HEX firmware/keyspan/usa19w.fw
1712 clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_KEYSPAN_USA19W'
1713 drop_fw_file firmware/keyspan/usa28.HEX firmware/keyspan/usa28.fw
1714 clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_KEYSPAN_USA28'
1715 drop_fw_file firmware/keyspan/usa28xa.HEX firmware/keyspan/usa28xa.fw
1716 clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_KEYSPAN_USA28XA'
1717 drop_fw_file firmware/keyspan/usa28xb.HEX firmware/keyspan/usa28xb.fw
1718 clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_KEYSPAN_USA28XB'
1719 drop_fw_file firmware/keyspan/usa28x.HEX firmware/keyspan/usa28x.fw
1720 clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_KEYSPAN_USA28X'
1721 drop_fw_file firmware/keyspan/usa49w.HEX firmware/keyspan/usa49w.fw
1722 clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_KEYSPAN_USA49W'
1723 drop_fw_file firmware/keyspan/usa49wlc.HEX firmware/keyspan/usa49wlc.fw
1724 clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_KEYSPAN_USA49WLC'
1725 reject_firmware drivers/usb/serial/keyspan.c
1726 clean_blob drivers/usb/serial/keyspan.c
1727 clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_KEYSPAN'
1728 clean_mk CONFIG_USB_SERIAL_KEYSPAN drivers/usb/serial/Makefile
1729
1730 announce USB_SERIAL_KEYSPAN_PDA - "USB Keyspan PDA Single Port Serial Driver"
1731 clean_sed '
1732 s,request_ihex_firmware,/*KEYSPAN_PDA*/&,
1733 ' drivers/usb/serial/keyspan_pda.c 'accept Free firmware'
1734
1735 announce USB_SERIAL_EDGEPORT - "USB Inside Out Edgeport Serial Driver"
1736 clean_fw firmware/edgeport/boot.H16 firmware/edgeport/boot.fw
1737 clean_fw firmware/edgeport/boot2.H16 firmware/edgeport/boot2.fw
1738 clean_fw firmware/edgeport/down.H16 firmware/edgeport/down.fw
1739 clean_fw firmware/edgeport/down2.H16 firmware/edgeport/down2.fw
1740 reject_firmware drivers/usb/serial/io_edgeport.c
1741 clean_blob drivers/usb/serial/io_edgeport.c
1742 clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_EDGEPORT'
1743 clean_mk CONFIG_USB_SERIAL_EDGEPORT drivers/usb/serial/Makefile
1744
1745 announce USB_SERIAL_EDGEPORT_TI - "USB Inside Out Edgeport Serial Driver (TI devices)"
1746 clean_fw firmware/edgeport/down3.bin.ihex firmware/edgeport/down3.bin
1747 reject_firmware drivers/usb/serial/io_ti.c
1748 clean_blob drivers/usb/serial/io_ti.c
1749 clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_EDGEPORT_TI'
1750 clean_mk CONFIG_USB_SERIAL_EDGEPORT_TI drivers/usb/serial/Makefile
1751
1752 announce USB_SERIAL_TI - "USB TI 3410/5052 Serial Driver"
1753 drop_fw_file firmware/ti_3410.fw.ihex firmware/ti_3410.fw
1754 drop_fw_file firmware/ti_5052.fw.ihex firmware/ti_5052.fw
1755 drop_fw_file firmware/mts_cdma.fw.ihex firmware/mts_cdma.fw
1756 drop_fw_file firmware/mts_gsm.fw.ihex firmware/mts_gsm.fw
1757 drop_fw_file firmware/mts_edge.fw.ihex firmware/mts_edge.fw
1758 reject_firmware drivers/usb/serial/ti_usb_3410_5052.c
1759 clean_blob drivers/usb/serial/ti_usb_3410_5052.c
1760 clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_TI'
1761 clean_mk CONFIG_USB_SERIAL_TI drivers/usb/serial/Makefile
1762
1763 announce USB_SERIAL_WHITEHEAT - "USB ConnectTech WhiteHEAT Serial Driver"
1764 clean_fw firmware/whiteheat.HEX firmware/whiteheat.fw
1765 clean_fw firmware/whiteheat_loader.HEX firmware/whiteheat_loader.fw
1766 clean_fw firmware/whiteheat_loader_debug.HEX firmware/whiteheat_loader_debug.fw
1767 reject_firmware drivers/usb/serial/whiteheat.c
1768 clean_blob drivers/usb/serial/whiteheat.c
1769 clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_WHITEHEAT'
1770 clean_mk CONFIG_USB_SERIAL_WHITEHEAT drivers/usb/serial/Makefile
1771
1772 # uwb
1773
1774 announce UWB_I1480U - Support for Intel Wireless UWB Link 1480 HWA
1775 reject_firmware drivers/uwb/i1480/dfu/i1480-dfu.h
1776 reject_firmware drivers/uwb/i1480/dfu/mac.c
1777 reject_firmware drivers/uwb/i1480/dfu/phy.c
1778 clean_blob drivers/uwb/i1480/dfu/usb.c
1779 clean_kconfig drivers/uwb/Kconfig 'UWB_I1480U'
1780 clean_mk CONFIG_UWB_I1480U drivers/uwb/i1480/dfu/Makefile
1781
1782
1783
1784 #########
1785 # Sound #
1786 #########
1787
1788 announce SND_CS46XX - "Cirrus Logic (Sound Fusion) CS4280/CS461x/CS462x/CS463x"
1789 # This appears to have been extracted from some non-Free driver
1790 clean_file sound/pci/cs46xx/cs46xx_image.h
1791 # The following blobs are definitely extracted from non-Free drivers.
1792 clean_file sound/pci/cs46xx/imgs/cwc4630.h
1793 clean_file sound/pci/cs46xx/imgs/cwcasync.h
1794 clean_file sound/pci/cs46xx/imgs/cwcsnoop.h
1795 clean_sed '
1796 /^\(int \)\?snd_cs46xx_download_image([^;]*$/,/^}$/{
1797   /for.*BA1_MEMORY_COUNT/i\
1798 #if 0
1799   /^}$/{
1800     i\
1801 #else\
1802         snd_printk(KERN_ERR "cs46xx: Missing Free firmware\\n");\
1803         return -EINVAL;\
1804 #endif
1805   }
1806 }
1807 s/cs46xx_dsp_load_module(chip, [&]cwc\(4630\|async\|snoop\)_module)/(snd_printk(KERN_ERR "cs46xx: Missing Free firmware\\n"),-EINVAL)/
1808 ' sound/pci/cs46xx/cs46xx_lib.c 'report missing Free firmware'
1809 clean_blob sound/pci/cs46xx/cs46xx_lib.c
1810 clean_kconfig sound/pci/Kconfig 'SND_CS46XX'
1811 clean_mk 'CONFIG_SND_CS46XX' sound/pci/cs46xx/Makefile
1812
1813 announce SND_KORG1212 - "Korg 1212 IO"
1814 drop_fw_file firmware/korg/k1212.dsp.ihex firmware/korg/k1212.dsp
1815 reject_firmware sound/pci/korg1212/korg1212.c
1816 clean_blob sound/pci/korg1212/korg1212.c
1817 clean_kconfig sound/pci/Kconfig 'SND_KORG1212'
1818 clean_mk 'CONFIG_SND_KORG1212' sound/pci/korg1212/Makefile
1819
1820 announce SND_MAESTRO3 - "ESS Allegro/Maestro3"
1821 drop_fw_file firmware/ess/maestro3_assp_kernel.fw.ihex firmware/ess/maestro3_assp_kernel.fw
1822 drop_fw_file firmware/ess/maestro3_assp_minisrc.fw.ihex firmware/ess/maestro3_assp_minisrc.fw
1823 reject_firmware sound/pci/maestro3.c
1824 clean_blob sound/pci/maestro3.c
1825 clean_kconfig sound/pci/Kconfig 'SND_MAESTRO3'
1826 clean_mk 'CONFIG_SND_MAESTRO3' sound/pci/Makefile
1827
1828 announce SND_YMFPCI - "Yamaha YMF724/740/744/754"
1829 drop_fw_file firmware/yamaha/ds1_ctrl.fw.ihex firmware/yamaha/ds1_ctrl.fw
1830 drop_fw_file firmware/yamaha/ds1_dsp.fw.ihex firmware/yamaha/ds1_dsp.fw
1831 drop_fw_file firmware/yamaha/ds1e_ctrl.fw.ihex firmware/yamaha/ds1e_ctrl.fw
1832 reject_firmware sound/pci/ymfpci/ymfpci_main.c
1833 clean_blob sound/pci/ymfpci/ymfpci_main.c
1834 clean_kconfig sound/pci/Kconfig 'SND_YMFPCI'
1835 clean_mk 'CONFIG_SND_YMFPCI' sound/pci/ymfpci/Makefile
1836
1837 announce SND_SB16_CSP - "SB16 Advanced Signal Processor"
1838 drop_fw_file firmware/sb16/alaw_main.csp.ihex firmware/sb16/alaw_main.csp
1839 drop_fw_file firmware/sb16/mulaw_main.csp.ihex firmware/sb16/mulaw_main.csp
1840 drop_fw_file firmware/sb16/ima_adpcm_init.csp.ihex firmware/sb16/ima_adpcm_init.csp
1841 drop_fw_file firmware/sb16/ima_adpcm_capture.csp.ihex firmware/sb16/ima_adpcm_capture.csp
1842 drop_fw_file firmware/sb16/ima_adpcm_playback.csp.ihex firmware/sb16/ima_adpcm_playback.csp
1843 reject_firmware sound/isa/sb/sb16_csp.c
1844 clean_blob sound/isa/sb/sb16_csp.c
1845 clean_kconfig sound/isa/Kconfig 'SND_SB16_CSP'
1846 clean_mk 'CONFIG_SND_SB16_CSP' sound/isa/sb/Makefile
1847
1848 announce SND_WAVEFRONT - "Turtle Beach Maui,Tropez,Tropez+ (Wavefront)"
1849 drop_fw_file firmware/yamaha/yss225_registers.bin.ihex firmware/yamaha/yss225_registers.bin
1850 reject_firmware sound/isa/wavefront/wavefront_fx.c
1851 clean_blob sound/isa/wavefront/wavefront_fx.c
1852 reject_firmware sound/isa/wavefront/wavefront_synth.c
1853 clean_blob sound/isa/wavefront/wavefront_synth.c
1854 clean_kconfig sound/isa/Kconfig 'SND_WAVEFRONT'
1855 clean_mk 'CONFIG_SND_WAVEFRONT' sound/isa/wavefront/Makefile
1856
1857 announce SND_VX_LIB - Digigram VX soundcards
1858 reject_firmware sound/drivers/vx/vx_hwdep.c
1859 clean_blob sound/drivers/vx/vx_hwdep.c
1860 clean_kconfig sound/drivers/Kconfig 'SND_VX_LIB'
1861 clean_mk CONFIG_SND_VX_LIB sound/drivers/vx/Makefile
1862
1863 announce SND_DARLA20 - "(Echoaudio) Darla20"
1864 clean_blob sound/pci/echoaudio/darla20.c
1865 clean_kconfig sound/pci/Kconfig 'SND_DARLA20'
1866 clean_mk CONFIG_SND_DARLA20 sound/pci/echoaudio/Makefile
1867
1868 announce SND_DARLA24 - "(Echoaudio) Darla24"
1869 clean_blob sound/pci/echoaudio/darla24.c
1870 clean_kconfig sound/pci/Kconfig 'SND_DARLA24'
1871 clean_mk CONFIG_SND_DARLA24 sound/pci/echoaudio/Makefile
1872
1873 announce SND_ECHO3G - "(Echoaudio) 3G cards"
1874 clean_blob sound/pci/echoaudio/echo3g.c
1875 clean_kconfig sound/pci/Kconfig 'SND_ECHO3G'
1876 clean_mk CONFIG_SND_ECHO3G sound/pci/echoaudio/Makefile
1877
1878 announce SND_GINA20 - "(Echoaudio) Gina20"
1879 clean_blob sound/pci/echoaudio/gina20.c
1880 clean_kconfig sound/pci/Kconfig 'SND_GINA20'
1881 clean_mk CONFIG_SND_GINA20 sound/pci/echoaudio/Makefile
1882
1883 announce SND_GINA24 - "(Echoaudio) Gina24"
1884 clean_blob sound/pci/echoaudio/gina24.c
1885 clean_kconfig sound/pci/Kconfig 'SND_GINA24'
1886 clean_mk CONFIG_SND_GINA24 sound/pci/echoaudio/Makefile
1887
1888 announce SND_INDIGO - "(Echoaudio) Indigo"
1889 clean_blob sound/pci/echoaudio/indigo.c
1890 clean_kconfig sound/pci/Kconfig 'SND_INDIGO'
1891 clean_mk CONFIG_SND_INDIGO sound/pci/echoaudio/Makefile
1892
1893 announce SND_INDIGODJ - "(Echoaudio) Indigo DJ"
1894 clean_blob sound/pci/echoaudio/indigodj.c
1895 clean_kconfig sound/pci/Kconfig 'SND_INDIGODJ'
1896 clean_mk CONFIG_SND_INDIGODJ sound/pci/echoaudio/Makefile
1897
1898 announce SND_INDIGODJX - "(Echoaudio) Indigo DJx"
1899 clean_blob sound/pci/echoaudio/indigodjx.c
1900 clean_kconfig sound/pci/Kconfig 'SND_INDIGODJX'
1901 clean_mk CONFIG_SND_INDIGODJX sound/pci/echoaudio/Makefile
1902
1903 announce SND_INDIGOIO - "(Echoaudio) Indigo IO"
1904 clean_blob sound/pci/echoaudio/indigoio.c
1905 clean_kconfig sound/pci/Kconfig 'SND_INDIGOIO'
1906 clean_mk CONFIG_SND_INDIGOIO sound/pci/echoaudio/Makefile
1907
1908 announce SND_INDIGOIOX - "(Echoaudio) Indigo IOx"
1909 clean_blob sound/pci/echoaudio/indigoiox.c
1910 clean_kconfig sound/pci/Kconfig 'SND_INDIGOIOX'
1911 clean_mk CONFIG_SND_INDIGOIOX sound/pci/echoaudio/Makefile
1912
1913 announce SND_LAYLA20 - "(Echoaudio) Layla20"
1914 clean_blob sound/pci/echoaudio/layla20.c
1915 clean_kconfig sound/pci/Kconfig 'SND_LAYLA20'
1916 clean_mk CONFIG_SND_LAYLA20 sound/pci/echoaudio/Makefile
1917
1918 announce SND_LAYLA24 - "(Echoaudio) Layla24"
1919 clean_blob sound/pci/echoaudio/layla24.c
1920 clean_kconfig sound/pci/Kconfig 'SND_LAYLA24'
1921 clean_mk CONFIG_SND_LAYLA24 sound/pci/echoaudio/Makefile
1922
1923 announce SND_MIA - "(Echoaudio) Mia"
1924 clean_blob sound/pci/echoaudio/mia.c
1925 clean_kconfig sound/pci/Kconfig 'SND_MIA'
1926 clean_mk CONFIG_SND_MIA sound/pci/echoaudio/Makefile
1927
1928 announce SND_MONA - "(Echoaudio) Mona"
1929 clean_blob sound/pci/echoaudio/mona.c
1930 clean_kconfig sound/pci/Kconfig 'SND_MONA'
1931 clean_mk CONFIG_SND_MONA sound/pci/echoaudio/Makefile
1932
1933 announce SND_'<(Echoaudio)>' - "(Echoaudio) all of the above "
1934 reject_firmware sound/pci/echoaudio/echoaudio.c
1935 clean_blob sound/pci/echoaudio/echoaudio.c
1936
1937 announce SND_EMU10K1 - "Emu10k1 (SB Live!, Audigy, E-mu APS)"
1938 reject_firmware sound/pci/emu10k1/emu10k1_main.c
1939 clean_blob sound/pci/emu10k1/emu10k1_main.c
1940 clean_kconfig sound/pci/Kconfig 'SND_EMU10K1'
1941 clean_mk CONFIG_SND_EMU10K1 sound/pci/emu10k1/Makefile
1942
1943 announce SND_MIXART - "Digigram miXart"
1944 reject_firmware sound/pci/mixart/mixart_hwdep.c
1945 clean_blob sound/pci/mixart/mixart_hwdep.c
1946 clean_kconfig sound/pci/Kconfig 'SND_MIXART'
1947 clean_mk CONFIG_SND_MIXART sound/pci/mixart/Makefile
1948
1949 announce SND_PCXHR - "Digigram PCXHR"
1950 reject_firmware sound/pci/pcxhr/pcxhr_hwdep.c
1951 clean_blob sound/pci/pcxhr/pcxhr_hwdep.c
1952 clean_kconfig sound/pci/Kconfig 'SND_PCXHR'
1953 clean_mk CONFIG_SND_PCXHR sound/pci/pcxhr/Makefile
1954
1955 announce SND_RIPTIDE - "Conexant Riptide"
1956 reject_firmware sound/pci/riptide/riptide.c
1957 clean_blob sound/pci/riptide/riptide.c
1958 clean_kconfig sound/pci/Kconfig 'SND_RIPTIDE'
1959 clean_mk CONFIG_SND_RIPTIDE sound/pci/riptide/Makefile
1960
1961 announce SND_HDSP - "RME Hammerfall DSP Audio"
1962 reject_firmware sound/pci/rme9652/hdsp.c
1963 clean_blob sound/pci/rme9652/hdsp.c
1964 clean_kconfig sound/pci/Kconfig 'SND_HDSP'
1965 clean_mk CONFIG_SND_HDSP sound/pci/rme9652/Makefile
1966
1967 announce SND_AICA - "Dreamcast Yamaha AICA sound"
1968 reject_firmware sound/sh/aica.c
1969 clean_blob sound/sh/aica.c
1970 clean_kconfig sound/sh/Kconfig 'SND_AICA'
1971 clean_mk CONFIG_SND_AICA sound/sh/Makefile
1972
1973 announce SND_MSND_PINNACLE - "Support for Turtle Beach MultiSound Pinnacle"
1974 clean_blob sound/isa/msnd/msnd_pinnacle.h
1975 reject_firmware sound/isa/msnd/msnd_pinnacle.c
1976 clean_blob sound/isa/msnd/msnd_pinnacle.c
1977 clean_kconfig sound/isa/Kconfig 'SND_MSND_PINNACLE'
1978 clean_mk CONFIG_SND_MSND_PINNACLE sound/isa/msnd/Makefile
1979
1980 announce SND_MSND_CLASSIC - "Support for Turtle Beach MultiSound Classic, Tahiti, Monterey"
1981 clean_blob sound/isa/msnd/msnd_classic.h
1982 clean_kconfig sound/isa/Kconfig 'SND_MSND_CLASSIC'
1983 clean_mk CONFIG_SND_MSND_CLASSIC sound/isa/msnd/Makefile
1984
1985 announce SOUND_MSNDCLAS - "Support for Turtle Beach MultiSound Classic, Tahiti, Monterey (oss)"
1986 clean_blob sound/oss/msnd_classic.h
1987 clean_kconfig sound/oss/Kconfig 'SOUND_MSNDCLAS'
1988 clean_sed '
1989 /^config MSNDCLAS_INIT_FILE$/, /^config / {
1990   /^    default.*msndinit\.bin/ s,".*","/*(DEBLOBBED)*/",;
1991 }
1992 /^config MSNDCLAS_PERM_FILE$/, /^config / {
1993   /^    default.*msndperm\.bin/ s,".*","/*(DEBLOBBED)*/",;
1994 }' sound/oss/Kconfig 'removed default firmware'
1995 clean_mk CONFIG_SOUND_MSNDCLAS sound/oss/Makefile
1996
1997 announce SOUND_MSNDPIN - "Support for Turtle Beach MultiSound Pinnacle (oss)"
1998 clean_blob sound/oss/msnd_pinnacle.h
1999 clean_kconfig sound/oss/Kconfig 'SOUND_MSNDPIN'
2000 clean_sed '
2001 /^config MSNDPIN_INIT_FILE$/, /^config / {
2002   /^    default.*pndspini\.bin/ s,".*","/*(DEBLOBBED)*/",;
2003 }
2004 /^config MSNDPIN_PERM_FILE$/, /^config / {
2005   /^    default.*pndsperm\.bin/ s,".*","/*(DEBLOBBED)*/",;
2006 }' sound/oss/Kconfig 'removed default firmware'
2007 clean_mk CONFIG_SOUND_MSNDPIN sound/oss/Makefile
2008
2009 announce SOUND_SSCAPE - "Ensoniq SoundScape support"
2010 clean_blob sound/oss/sscape.c
2011 clean_kconfig sound/oss/Kconfig 'SOUND_SSCAPE'
2012 clean_mk CONFIG_SOUND_SSCAPE sound/oss/Makefile
2013
2014 announce SOUND_TRIX - "MediaTrix AudioTrix Pro support"
2015 clean_blob sound/oss/trix.c
2016 clean_kconfig sound/oss/Kconfig 'SOUND_TRIX'
2017 clean_sed '
2018 /^config TRIX_BOOT_FILE$/, /^config / {
2019   /^    default.*trxpro\.hex/ s,".*","/*(DEBLOBBED)*/",;
2020 }' sound/oss/Kconfig 'removed default firmware'
2021 clean_mk CONFIG_SOUND_TRIX sound/oss/Makefile
2022
2023 announce SOUND_TRIX - "See above,"
2024 announce SOUND_PAS - "ProAudioSpectrum 16 support,"
2025 announce SOUND_SB - "100% Sound Blaster compatibles (SB16/32/64, ESS, Jazz16) support"
2026 clean_blob sound/oss/sb_common.c
2027 clean_kconfig sound/oss/Kconfig 'SOUND_PAS'
2028 clean_kconfig sound/oss/Kconfig 'SOUND_SB'
2029 clean_mk CONFIG_SOUND_PAS sound/oss/Makefile
2030 clean_mk CONFIG_SOUND_SB sound/oss/Makefile
2031
2032 announce SOUND_PSS - "PSS (AD1848, ADSP-2115, ESC614) support"
2033 clean_sed 's,^\( [*] .*synth"\)\.$,\1/*.,' sound/oss/pss.c 'avoid nested comments'
2034 clean_blob sound/oss/pss.c
2035 clean_kconfig sound/oss/Kconfig 'SOUND_PSS'
2036 clean_sed '
2037 /^config PSS_BOOT_FILE$/, /^config / {
2038   /^    default.*dsp001\.ld/ s,".*","/*(DEBLOBBED)*/",;
2039 }' sound/oss/Kconfig 'removed default firmware'
2040 clean_mk CONFIG_SOUND_PSS sound/oss/Makefile
2041
2042 #################
2043 # Documentation #
2044 #################
2045
2046 announce Documentation - "non-Free firmware scripts and documentation"
2047 clean_blob Documentation/dvb/avermedia.txt
2048 clean_blob Documentation/dvb/opera-firmware.txt
2049 clean_blob Documentation/sound/alsa/ALSA-Configuration.txt
2050 clean_blob Documentation/sound/oss/MultiSound
2051 clean_blob Documentation/sound/oss/PSS
2052 clean_blob Documentation/sound/oss/PSS-updates
2053 clean_blob Documentation/sound/oss/README.OSS
2054 clean_file Documentation/dvb/get_dvb_firmware
2055 clean_file Documentation/video4linux/extract_xc3028.pl
2056 clean_sed s,usb8388,whatever,g drivers/base/Kconfig 'removed blob name'
2057 clean_blob firmware/README.AddingFirmware
2058 clean_blob firmware/WHENCE
2059
2060 if $errors; then
2061   echo errors above were ignored because of --force >&2
2062 fi
2063
2064 exit 0