Linux-libre 3.2-libre final, with backports for future respins of older releases.
[releases.git] / deblob-3.0
1 #!/bin/sh
2
3 #    Copyright (C) 2008, 2009, 2010, 2011, 2012
4 #      Alexandre Oliva <lxoliva@fsfla.org>
5 #    Copyright (C) 2008 Jeff Moe
6 #    Copyright (C) 2009 Rubén Rodríguez <ruben@gnu.org>
7 #
8 #    This program is free software; you can redistribute it and/or modify
9 #    it under the terms of the GNU General Public License as published by
10 #    the Free Software Foundation; either version 2 of the License, or
11 #    (at your option) any later version.
12 #
13 #    This program is distributed in the hope that it will be useful,
14 #    but WITHOUT ANY WARRANTY; without even the implied warranty of
15 #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 #    GNU General Public License for more details.
17 #
18 #    You should have received a copy of the GNU General Public License
19 #    along with this program; if not, write to the Free Software
20 #    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
21
22
23 # deblob - remove non-free blobs from the vanilla linux kernel
24
25 # http://www.fsfla.org/svn/fsfla/software/linux-libre
26
27
28 # This script, suited for the kernel version named below, in kver,
29 # attempts to remove only non-Free Software bits, without removing
30 # Free Software that happens to be in the same file.
31
32 # Drivers that currently require non-Free firmware are retained, but
33 # firmware included in GPLed sources is replaced with /*(DEBLOBBED)*/
34 # if the deblob-check script, that knows how to do this, is present.
35 # -lxoliva
36
37
38 # See also:
39 # http://wiki.debian.org/KernelFirmwareLicensing
40 # svn://svn.debian.org/kernel/dists/trunk/linux-2.6/debian/patches/debian/dfsg/files-1
41 # http://wiki.gnewsense.org/Builder gen-kernel
42
43 # Thanks to Brian Brazil @ gnewsense
44
45
46 # For each kver release, start extra with an empty string, then count
47 # from 1 if changes are needed that require rebuilding the tarball.
48 kver=3.0 extra=0++
49
50 case $1 in
51 --force)
52   echo "WARNING: Using the force, ignored errors will be" >&2
53   die () {
54     echo ERROR: "$@" >&2
55     errors=:
56   }
57   forced=: errors=false
58   shift
59   ;;
60 *)
61   die () {
62     echo ERROR: "$@" >&2
63     echo Use --force to ignore
64     exit 1
65   }
66   forced=false errors=false
67   ;;
68 esac
69
70 check=`echo "$0" | sed 's,[^/]*$,,;s,^$,.,;s,/*$,,'`/deblob-check
71 if [ ! -f $check ] ; then
72   if $forced; then
73     die deblob-check script missing, will remove entire files
74   else
75     die deblob-check script missing
76   fi
77   have_check=false
78 else
79   have_check=:
80 fi
81
82 filetest () {
83   if [ ! -f $1 ]; then
84     die $1 does not exist, something is wrong && return 1
85   fi
86 }
87
88 announce () {
89   echo
90   echo "$@"
91 }
92
93 clean_file () {
94   #$1 = filename
95   filetest $1 || return
96   rm $1
97   echo $1: removed
98 }
99
100 check_changed () {
101   #$1 = filename
102   if cmp $1.deblob $1 > /dev/null; then
103     rm $1.deblob
104     die $1 did not change, something is wrong && return 1
105   fi
106   mv $1.deblob $1
107 }
108
109 clean_blob () {
110   #$1 = filename
111   filetest $1 || return
112   if $have_check; then
113     name=$1
114     set fnord "$@" -d
115     shift 2
116     $check "$@" -i linux-$kver $name > $name.deblob
117     check_changed $name && echo $name: removed blobs
118   else
119     clean_file $1
120   fi
121 }
122
123 dummy_blob () {
124   #$1 = filename
125   if test -f $1; then
126     die $1 exists, something is wrong && return
127   elif test ! -f firmware/Makefile; then
128     die firmware/Makefile does not exist, something is wrong && return
129   fi
130
131   clean_sed "s,`echo $1 | sed s,^firmware/,,`,\$(DEBLOBBED),g" \
132     firmware/Makefile "dropped $1"
133 }
134
135 clean_fw () {
136   #$1 = firmware text input, $2 = firmware output
137   filetest $1 || return
138   if test -f $2; then
139     die $2 exists, something is wrong && return
140   fi
141   clean_blob $1 -s 4
142   dummy_blob $2
143 }
144
145 drop_fw_file () {
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_file $1
152   dummy_blob $2
153 }
154
155 clean_kconfig () {
156   #$1 = filename $2 = things to remove
157   case $1 in
158   -f)
159     shift
160     ;;
161   *)
162     if $have_check; then
163       return
164     fi
165     ;;
166   esac
167   filetest $1 || return
168   sed "/^config \\($2\\)\$/{p;i\
169         depends on NONFREE
170 d;}" $1 > $1.deblob
171   check_changed $1 && echo $1: marked config $2 as depending on NONFREE
172 }
173
174 clean_mk () {
175   #$1 = config $2 = Makefile name
176   # We don't clean up Makefiles any more --lxoliva
177   # sed -i "/\\($1\\)/d" $2
178   # echo $2: removed $1 support
179   # check_changed $2
180   filetest $2 || return
181   if sed -n "/\\($1\\)/p" $2 | grep . > /dev/null; then
182     :
183   else
184     die $2 does not contain matches for $1
185   fi
186 }
187
188 clean_sed () {
189   #$1 = sed-script $2 = file $3 = comment
190   filetest $2 || return
191   sed -e "$1" "$2" > "$2".deblob || {
192     die $2: failed: ${3-applied sed script $1} && return 1; }
193   check_changed $2 && echo $2: ${3-applied sed script $1}
194 }
195
196 reject_firmware () {
197   #$1 = file $2 = pre sed pattern
198   filetest $1 || return
199   clean_sed "$2"'
200 s,request\(_ihex\)\?_firmware\(_nowait\)\?,reject_firmware\2,g
201 ' "$1" 'disabled non-Free firmware-loading machinery'
202 }
203
204 maybe_reject_firmware () {
205   #$1 = file $2 = pre sed pattern
206   filetest $1 || return
207   clean_sed "$2"'
208 s,request_firmware\(_nowait\)\?,maybe_reject_firmware\1,g
209 ' "$1" 'retain Free firmware-loading machinery, disabling non-Free one'
210 }
211
212 undefine_macro () {
213   #$1 - macro name
214   #$2 - substitution
215   #$3 - message
216   #rest - file names
217   macro=$1 repl=$2 msg=$3; shift 3
218   for f in "$@"; do
219     clean_sed "
220 s,^#define $macro .*\$,/*(DEBLOBBED)*/,;
221 s,$macro,$repl,g;
222 " "$f" "$msg"
223   done
224 }
225
226 undefault_firmware () {
227   #$1 - pattern such that $1_DEFAULT_FIRMWARE is #defined to non-Free firmware
228   #$@ other than $1 - file names
229   macro="$1"_DEFAULT_FIRMWARE; shift
230   undefine_macro "$macro" "\"/*(DEBLOBBED)*/\"" \
231     "disabled non-Free firmware" "$@"
232 }
233
234 # First, check that files that contain firmwares and their
235 # corresponding sources are present.
236
237 for f in \
238   drivers/char/ser_a2232fw.h \
239     drivers/char/ser_a2232fw.ax \
240   drivers/gpu/drm/nouveau/nva3_copy.fuc.h \
241     drivers/gpu/drm/nouveau/nva3_copy.fuc \
242   drivers/gpu/drm/nouveau/nvc0_copy.fuc.h \
243     drivers/gpu/drm/nouveau/nva3_copy.fuc \
244   drivers/net/ixp2000/ixp2400_rx.ucode \
245     drivers/net/ixp2000/ixp2400_rx.uc \
246   drivers/net/ixp2000/ixp2400_tx.ucode \
247     drivers/net/ixp2000/ixp2400_rx.uc \
248   drivers/net/wan/wanxlfw.inc_shipped \
249     drivers/net/wan/wanxlfw.S \
250   drivers/net/wireless/atmel.c \
251     drivers/net/wireless/atmel.c \
252   drivers/scsi/53c700_d.h_shipped \
253     drivers/scsi/53c700.scr \
254   drivers/scsi/aic7xxx/aic79xx_seq.h_shipped \
255     drivers/scsi/aic7xxx/aic79xx.seq \
256   drivers/scsi/aic7xxx/aic7xxx_seq.h_shipped \
257     drivers/scsi/aic7xxx/aic7xxx.seq \
258   drivers/scsi/aic7xxx_old/aic7xxx_seq.c \
259     drivers/scsi/aic7xxx_old/aic7xxx.seq \
260   drivers/scsi/53c7xx_d.h_shipped \
261     drivers/scsi/53c7xx.scr \
262   drivers/scsi/sym53c8xx_2/sym_fw1.h \
263     drivers/scsi/sym53c8xx_2/sym_fw1.h \
264   drivers/scsi/sym53c8xx_2/sym_fw2.h \
265     drivers/scsi/sym53c8xx_2/sym_fw2.h \
266   firmware/dsp56k/bootstrap.bin.ihex \
267     firmware/dsp56k/bootstrap.asm \
268   firmware/keyspan_pda/keyspan_pda.HEX \
269     firmware/keyspan_pda/keyspan_pda.S \
270   firmware/keyspan_pda/xircom_pgs.HEX \
271     firmware/keyspan_pda/xircom_pgs.S \
272   sound/pci/cs46xx/imgs/cwcdma.h \
273     sound/pci/cs46xx/imgs/cwcdma.asp \
274   firmware/isci/isci_firmware.bin.ihex \
275     drivers/scsi/isci/firmware/create_fw.c \
276 ; do
277   if test ! $f; then
278     die $f is not present, something is amiss && return
279   fi
280 done
281
282 # Identify the tarball.
283 grep -q 'EXTRAVERSION.*-libre' Makefile ||
284 clean_sed "s,^EXTRAVERSION.*,&-libre$extra,
285 " Makefile 'added -libre to EXTRAVERSION'
286
287 grep -q Linux-libre README ||
288 clean_sed '
289 1,3 s,Linux kernel release.*kernel\.org.*,Linux-libre <http://linux-libre.fsfla.org>,
290 2,5 s,Linux version [0-9.]*,Linux-libre,
291 1,20 s,\(operating system \)\?Unix,Unix kernel,
292 /WHAT IS LINUX/i\
293 WHAT IS Linux-libre?\
294 \
295   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.\
310 \
311   The Linux-libre project takes a minimal-changes approach to cleaning\
312   up Linux, making no effort to substitute components that need to be\
313   removed with functionally equivalent Free ones.  Nevertheless, we\
314   encourage and support efforts towards doing so.\
315   http://libreplanet.org/wiki/LinuxLibre:Devices_that_require_non-free_firmware\
316 \
317   Our mascot is Freedo, a light-blue penguin that has just come out\
318   of the the shower.  Although we like penguins, GNU is a much\
319   greater contribution to the entire system, so its mascot deserves\
320   more promotion.  See our web page for their images.\
321   http://linux-libre.fsfla.org/\
322
323 ' README 'added blurb about Linux-libre'
324
325 # Add reject_firmware and maybe_reject_firmware
326 grep -q _LINUX_LIBRE_FIRMWARE_H include/linux/firmware.h ||
327 clean_sed '$i\
328 #ifndef _LINUX_LIBRE_FIRMWARE_H\
329 #define _LINUX_LIBRE_FIRMWARE_H\
330 \
331 #include <linux/device.h>\
332 \
333 #define NONFREE_FIRMWARE "/*(DEBLOBBED)*/"\
334 \
335 static inline int\
336 report_missing_free_firmware(const char *name, const char *what)\
337 {\
338         printk(KERN_ERR "%s: Missing Free %s\\n", name,\
339                what ? what : "firmware");\
340         return -EINVAL;\
341 }\
342 static inline int\
343 reject_firmware(const struct firmware **fw,\
344                 const char *name, struct device *device)\
345 {\
346         const struct firmware *xfw = NULL;\
347         int retval;\
348         report_missing_free_firmware(dev_name(device), NULL);\
349         retval = request_firmware(&xfw, NONFREE_FIRMWARE, device);\
350         if (!retval)\
351                 release_firmware(xfw);\
352         return -EINVAL;\
353 }\
354 static inline int\
355 maybe_reject_firmware(const struct firmware **fw,\
356                       const char *name, struct device *device)\
357 {\
358         if (strstr (name, NONFREE_FIRMWARE))\
359                 return reject_firmware(fw, name, device);\
360         else\
361                 return request_firmware(fw, name, device);\
362 }\
363 static inline void\
364 discard_rejected_firmware(const struct firmware *fw, void *context)\
365 {\
366         release_firmware(fw);\
367 }\
368 static inline int\
369 reject_firmware_nowait(struct module *module, int uevent,\
370                        const char *name, struct device *device,\
371                        gfp_t gfp, void *context,\
372                        void (*cont)(const struct firmware *fw,\
373                                     void *context))\
374 {\
375         int retval;\
376         report_missing_free_firmware(dev_name(device), NULL);\
377         retval = request_firmware_nowait(module, uevent, NONFREE_FIRMWARE,\
378                                          device, gfp, NULL,\
379                                          discard_rejected_firmware);\
380         if (retval)\
381                 return retval;\
382         return -EINVAL;\
383 }\
384 static inline int\
385 maybe_reject_firmware_nowait(struct module *module, int uevent,\
386                              const char *name, struct device *device,\
387                              gfp_t gfp, void *context,\
388                              void (*cont)(const struct firmware *fw,\
389                                           void *context))\
390 {\
391         if (strstr (name, NONFREE_FIRMWARE))\
392                 return reject_firmware_nowait(module, uevent, name,\
393                                               device, gfp, context, cont);\
394         else\
395                 return request_firmware_nowait(module, uevent, name,\
396                                                device, gfp, context, cont);\
397 }\
398 \
399 #endif /* _LINUX_LIBRE_FIRMWARE_H */\
400 ' include/linux/firmware.h 'added non-Free firmware notification support'
401
402 ########
403 # Arch #
404 ########
405
406 # x86
407
408 announce MICROCODE_AMD - "AMD microcode patch loading support"
409 reject_firmware arch/x86/kernel/microcode_amd.c
410 clean_blob arch/x86/kernel/microcode_amd.c
411 clean_kconfig arch/x86/Kconfig 'MICROCODE_AMD'
412 clean_mk CONFIG_MICROCODE_AMD arch/x86/kernel/Makefile
413
414 announce MICROCODE_INTEL - "Intel microcode patch loading support"
415 reject_firmware arch/x86/kernel/microcode_intel.c
416 clean_blob arch/x86/kernel/microcode_intel.c
417 clean_kconfig arch/x86/Kconfig 'MICROCODE_INTEL'
418 clean_mk CONFIG_MICROCODE_INTEL arch/x86/kernel/Makefile
419
420 # arm
421
422 announce IXP4XX_NPE - "IXP4xx Network Processor Engine support"
423 reject_firmware arch/arm/mach-ixp4xx/ixp4xx_npe.c
424 clean_blob Documentation/arm/IXP4xx
425
426 announce ARCH_NETX - "Hilscher NetX based"
427 clean_sed '
428 s,\([" ]\)request_firmware(,\1reject_firmware(,
429 ' arch/arm/mach-netx/xc.c 'disabled non-Free firmware-loading machinery'
430 clean_blob arch/arm/mach-netx/xc.c
431 clean_blob drivers/net/netx-eth.c
432 clean_kconfig arch/arm/Kconfig 'ARCH_NETX'
433 clean_mk CONFIG_ARCH_NETX arch/arm/Makefile
434
435 announce WESTBRIDGE_DEVICE_DRIVER - "West Bridge Device Driver"
436 reject_firmware drivers/staging/westbridge/astoria/device/cyasdevice.c
437 clean_blob drivers/staging/westbridge/astoria/device/cyasdevice.c
438 clean_kconfig drivers/staging/westbridge/astoria/device/Kconfig 'WESTBRIDGE_DEVICE_DRIVER'
439 clean_mk 'CONFIG_WESTBRIDGE_DEVICE_DRIVER' drivers/staging/westbridge/astoria/device/Makefile
440
441 #######
442 # ATM #
443 #######
444
445 announce ATM_AMBASSADOR - "Madge Ambassador, Collage PCI 155 Server"
446 reject_firmware drivers/atm/ambassador.c
447 clean_blob drivers/atm/ambassador.c
448 clean_fw firmware/atmsar11.HEX firmware/atmsar11.fw
449 clean_kconfig drivers/atm/Kconfig 'ATM_AMBASSADOR'
450 clean_mk CONFIG_ATM_AMBASSADOR drivers/atm/Makefile
451
452 announce ATM_FORE200E - "FORE Systems 200E-series"
453 reject_firmware drivers/atm/fore200e.c
454 clean_blob drivers/atm/fore200e.c
455 clean_blob Documentation/networking/fore200e.txt
456 clean_blob drivers/atm/.gitignore
457 clean_blob Documentation/dontdiff
458 clean_kconfig drivers/atm/Kconfig 'ATM_FORE200E'
459 clean_mk CONFIG_ATM_FORE200E drivers/atm/Makefile
460
461 announce ATM_SOLOS - "Solos ADSL2+ PCI Multiport card driver"
462 reject_firmware drivers/atm/solos-pci.c
463 clean_blob drivers/atm/solos-pci.c
464 clean_kconfig drivers/atm/Kconfig 'ATM_SOLOS'
465 clean_mk CONFIG_ATM_SOLOS drivers/atm/Makefile
466
467 ########
468 # tty #
469 ########
470
471 announce COMPUTONE - "Computone IntelliPort Plus serial"
472 drop_fw_file firmware/intelliport2.bin.ihex firmware/intelliport2.bin
473 reject_firmware drivers/staging/tty/ip2/ip2main.c
474 clean_blob drivers/staging/tty/ip2/ip2main.c
475 clean_kconfig drivers/staging/tty/Kconfig 'COMPUTONE'
476 clean_mk CONFIG_COMPUTONE drivers/staging/tty/Makefile
477
478 announce CYCLADES - "Cyclades async mux support"
479 reject_firmware drivers/tty/cyclades.c
480 clean_blob drivers/tty/cyclades.c
481 clean_kconfig drivers/tty/Kconfig 'CYCLADES'
482 clean_mk CONFIG_CYCLADES drivers/tty/Makefile
483
484 announce ISI - "Multi-Tech multiport card support"
485 reject_firmware drivers/tty/isicom.c
486 clean_blob drivers/tty/isicom.c
487 clean_kconfig drivers/tty/Kconfig 'ISI'
488 clean_mk CONFIG_ISI drivers/tty/Makefile
489
490 announce MOXA_INTELLIO - "Moxa Intellio support"
491 reject_firmware drivers/tty/moxa.c
492 clean_blob drivers/tty/moxa.c
493 clean_kconfig drivers/tty/Kconfig 'MOXA_INTELLIO'
494 clean_mk CONFIG_MOXA_INTELLIO drivers/tty/Makefile
495
496 # gpu drm
497
498 announce DRM_NOUVEAU - "Nouveau (nVidia) cards"
499 reject_firmware drivers/gpu/drm/nouveau/nvc0_graph.c
500 clean_blob drivers/gpu/drm/nouveau/nvc0_graph.c
501 clean_kconfig drivers/gpu/drm/nouveau/Kconfig 'DRM_NOUVEAU'
502 clean_mk CONFIG_DRM_NOUVEAU drivers/gpu/drm/nouveau/Makefile
503
504 announce DRM_MGA - "Matrox g200/g400"
505 drop_fw_file firmware/matrox/g200_warp.H16 firmware/matrox/g200_warp.fw
506 drop_fw_file firmware/matrox/g400_warp.H16 firmware/matrox/g400_warp.fw
507 reject_firmware drivers/gpu/drm/mga/mga_warp.c
508 clean_blob drivers/gpu/drm/mga/mga_warp.c
509 clean_kconfig drivers/gpu/drm/Kconfig 'DRM_MGA'
510 clean_mk CONFIG_DRM_MGA drivers/gpu/drm/Makefile
511
512 announce DRM_R128 - "ATI Rage 128"
513 drop_fw_file firmware/r128/r128_cce.bin.ihex firmware/r128/r128_cce.bin
514 reject_firmware drivers/gpu/drm/r128/r128_cce.c
515 clean_blob drivers/gpu/drm/r128/r128_cce.c
516 clean_kconfig drivers/gpu/drm/Kconfig 'DRM_R128'
517 clean_mk CONFIG_DRM_R128 drivers/gpu/drm/Makefile
518
519 announce DRM_RADEON - "ATI Radeon"
520 drop_fw_file firmware/radeon/R100_cp.bin.ihex firmware/radeon/R100_cp.bin
521 drop_fw_file firmware/radeon/R200_cp.bin.ihex firmware/radeon/R200_cp.bin
522 drop_fw_file firmware/radeon/R300_cp.bin.ihex firmware/radeon/R300_cp.bin
523 drop_fw_file firmware/radeon/R420_cp.bin.ihex firmware/radeon/R420_cp.bin
524 drop_fw_file firmware/radeon/R520_cp.bin.ihex firmware/radeon/R520_cp.bin
525 drop_fw_file firmware/radeon/R600_me.bin.ihex firmware/radeon/R600_me.bin
526 drop_fw_file firmware/radeon/R600_pfp.bin.ihex firmware/radeon/R600_pfp.bin
527 drop_fw_file firmware/radeon/RS600_cp.bin.ihex firmware/radeon/RS600_cp.bin
528 drop_fw_file firmware/radeon/RS690_cp.bin.ihex firmware/radeon/RS690_cp.bin
529 drop_fw_file firmware/radeon/RS780_me.bin.ihex firmware/radeon/RS780_me.bin
530 drop_fw_file firmware/radeon/RS780_pfp.bin.ihex firmware/radeon/RS780_pfp.bin
531 drop_fw_file firmware/radeon/RV610_me.bin.ihex firmware/radeon/RV610_me.bin
532 drop_fw_file firmware/radeon/RV610_pfp.bin.ihex firmware/radeon/RV610_pfp.bin
533 drop_fw_file firmware/radeon/RV620_me.bin.ihex firmware/radeon/RV620_me.bin
534 drop_fw_file firmware/radeon/RV620_pfp.bin.ihex firmware/radeon/RV620_pfp.bin
535 drop_fw_file firmware/radeon/RV630_me.bin.ihex firmware/radeon/RV630_me.bin
536 drop_fw_file firmware/radeon/RV630_pfp.bin.ihex firmware/radeon/RV630_pfp.bin
537 drop_fw_file firmware/radeon/RV635_me.bin.ihex firmware/radeon/RV635_me.bin
538 drop_fw_file firmware/radeon/RV635_pfp.bin.ihex firmware/radeon/RV635_pfp.bin
539 drop_fw_file firmware/radeon/RV670_me.bin.ihex firmware/radeon/RV670_me.bin
540 drop_fw_file firmware/radeon/RV670_pfp.bin.ihex firmware/radeon/RV670_pfp.bin
541 drop_fw_file firmware/radeon/RV710_me.bin.ihex firmware/radeon/RV710_me.bin
542 drop_fw_file firmware/radeon/RV710_pfp.bin.ihex firmware/radeon/RV710_pfp.bin
543 drop_fw_file firmware/radeon/RV730_me.bin.ihex firmware/radeon/RV730_me.bin
544 drop_fw_file firmware/radeon/RV730_pfp.bin.ihex firmware/radeon/RV730_pfp.bin
545 drop_fw_file firmware/radeon/RV770_me.bin.ihex firmware/radeon/RV770_me.bin
546 drop_fw_file firmware/radeon/RV770_pfp.bin.ihex firmware/radeon/RV770_pfp.bin
547 reject_firmware drivers/gpu/drm/radeon/radeon_cp.c
548 clean_blob drivers/gpu/drm/radeon/radeon_cp.c
549 reject_firmware drivers/gpu/drm/radeon/r100.c
550 clean_blob drivers/gpu/drm/radeon/r100.c
551 reject_firmware drivers/gpu/drm/radeon/r600.c
552 clean_blob drivers/gpu/drm/radeon/r600.c
553 reject_firmware drivers/gpu/drm/radeon/r600_cp.c
554 clean_blob drivers/gpu/drm/radeon/r600_cp.c
555 reject_firmware drivers/gpu/drm/radeon/ni.c
556 clean_blob drivers/gpu/drm/radeon/ni.c
557 clean_kconfig drivers/gpu/drm/Kconfig 'DRM_RADEON'
558 clean_mk CONFIG_DRM_RADEON drivers/gpu/drm/Makefile
559
560 #######
561 # dma #
562 #######
563
564 announce IMX_SDMA - "i.MX SDMA support"
565 reject_firmware drivers/dma/imx-sdma.c
566 clean_blob drivers/dma/imx-sdma.c
567 clean_kconfig drivers/dma/Kconfig 'IMX_SDMA'
568 clean_mk CONFIG_IMX_SDMA drivers/dma/Makefile
569
570 #########
571 # Media #
572 #########
573
574 # media/tuner
575
576 announce MEDIA_TUNER_XC2028 - "XCeive xc2028/xc3028 tuners"
577 undefault_firmware 'XC\(2028\|3028L\)' \
578   drivers/media/common/tuners/tuner-xc2028.h \
579   drivers/media/video/saa7134/saa7134-cards.c \
580   drivers/media/video/ivtv/ivtv-driver.c \
581   drivers/media/video/cx18/cx18-driver.c \
582   drivers/media/video/cx18/cx18-dvb.c \
583   drivers/media/video/cx23885/cx23885-dvb.c \
584   drivers/media/video/cx23885/cx23885-video.c \
585   drivers/media/video/cx88/cx88-dvb.c \
586   drivers/media/video/cx88/cx88-cards.c \
587   drivers/media/video/em28xx/em28xx-cards.c \
588   drivers/media/dvb/dvb-usb/dib0700_devices.c \
589   drivers/media/dvb/dvb-usb/cxusb.c
590 reject_firmware drivers/media/common/tuners/tuner-xc2028.c
591 clean_kconfig drivers/media/common/tuners/Kconfig 'MEDIA_TUNER_XC2028'
592 clean_mk CONFIG_MEDIA_TUNER_XC2028 drivers/media/common/tuners/Makefile
593
594 announce VIDEO_TM6000_DVB - "DVB Support for tm6000 based TV cards"
595 clean_blob drivers/staging/tm6000/tm6000-cards.c
596 clean_kconfig drivers/staging/tm6000/Kconfig 'VIDEO_TM6000_DVB'
597 clean_mk CONFIG_VIDEO_TM6000_DVB drivers/staging/tm6000/Makefile
598
599 announce MEDIA_TUNER_XC5000 - "Xceive XC5000 silicon tuner"
600 undefine_macro 'XC5000_DEFAULT_FIRMWARE_SIZE' 0 \
601   'removed non-Free firmware size' drivers/media/common/tuners/xc5000.c
602 undefault_firmware 'XC5000' \
603   drivers/media/common/tuners/xc5000.c \
604   drivers/media/video/cx231xx/cx231xx-cards.c
605 reject_firmware drivers/media/common/tuners/xc5000.c
606 clean_kconfig drivers/media/common/tuners/Kconfig 'MEDIA_TUNER_XC5000'
607 clean_mk CONFIG_MEDIA_TUNER_XC5000 drivers/media/common/tuners/Makefile
608
609 announce DVB_USB - "Support for various USB DVB devices"
610 reject_firmware drivers/media/dvb/dvb-usb/dvb-usb-firmware.c
611 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB'
612 clean_mk CONFIG_DVB_USB drivers/media/dvb/dvb-usb/Makefile
613
614 announce DVB_USB_AF9005 - "Afatech AF9005 DVB-T USB1.1"
615 clean_file drivers/media/dvb/dvb-usb/af9005-script.h
616 clean_sed '
617 s,^     deb_info("load init script\\n");$,      {\n             err("Missing Free init script\\n");\n           return scriptlen = ret = -EINVAL;\n             ,;
618 ' drivers/media/dvb/dvb-usb/af9005-fe.c 'report missing Free init script'
619 clean_blob drivers/media/dvb/dvb-usb/af9005-fe.c
620 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_AF9005'
621 clean_mk CONFIG_DVB_USB_AF9005 drivers/media/dvb/dvb-usb/Makefile
622
623 announce DVB_B2C2_FLEXCOP - "Technisat/B2C2 FlexCopII(b) and FlexCopIII adapters"
624 reject_firmware drivers/media/dvb/b2c2/flexcop-fe-tuner.c
625
626 announce DVB_BT8XX - "BT8xx based PCI cards"
627 reject_firmware drivers/media/dvb/bt8xx/dvb-bt8xx.c
628
629 announce DVB_USB_A800 - "AVerMedia AverTV DVB-T USB 2.0 (A800)"
630 clean_blob drivers/media/dvb/dvb-usb/a800.c
631 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_A800'
632 clean_mk CONFIG_DVB_USB_A800 drivers/media/dvb/dvb-usb/Makefile
633
634 announce DVB_USB_AF9005 - "Afatech AF9005 DVB-T USB1.1 support"
635 clean_blob drivers/media/dvb/dvb-usb/af9005.c
636 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_AF9005'
637 clean_mk CONFIG_DVB_USB_AF9005 drivers/media/dvb/dvb-usb/Makefile
638
639 announce DVB_USB_AF9015 - "Afatech AF9015 DVB-T USB2.0 support"
640 clean_blob drivers/media/dvb/dvb-usb/af9015.c
641 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_AF9015'
642 clean_mk CONFIG_DVB_USB_AF9015 drivers/media/dvb/dvb-usb/Makefile
643
644 announce DVB_USB_AZ6027 - "Azurewave DVB-S/S2 USB2.0 AZ6027 support"
645 clean_blob drivers/media/dvb/dvb-usb/az6027.c
646 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_AZ6027'
647 clean_mk CONFIG_DVB_USB_AZ6027 drivers/media/dvb/dvb-usb/Makefile
648
649 announce DVB_USB_CXUSB - "Conexant USB2.0 hybrid reference design support"
650 clean_blob drivers/media/dvb/dvb-usb/cxusb.c
651 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_CXUSB'
652 clean_mk CONFIG_DVB_USB_CXUSB drivers/media/dvb/dvb-usb/Makefile
653
654 announce DVB_USB_DIB0700 - "DiBcom DiB0700 USB DVB devices"
655 reject_firmware drivers/media/dvb/dvb-usb/dib0700_devices.c
656 clean_blob drivers/media/dvb/dvb-usb/dib0700_devices.c
657 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_DIB0700'
658 clean_mk CONFIG_DVB_USB_DIB0700 drivers/media/dvb/dvb-usb/Makefile
659
660 announce DVB_USB_DIBUSB_MB - "DiBcom USB DVB-T devices (based on the DiB3000M-B)"
661 clean_blob drivers/media/dvb/dvb-usb/dibusb-mb.c
662 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_DIBUSB_MB'
663 clean_mk CONFIG_DVB_USB_DIBUSB_MB drivers/media/dvb/dvb-usb/Makefile
664
665 announce DVB_USB_DIBUSB_MC - "DiBcom USB DVB-T devices (based on the DiB3000M-C/P)"
666 clean_blob drivers/media/dvb/dvb-usb/dibusb-mc.c
667 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_DIBUSB_MC'
668 clean_mk CONFIG_DVB_USB_DIBUSB_MC drivers/media/dvb/dvb-usb/Makefile
669
670 announce DVB_USB_DIGITV - "Nebula Electronics uDigiTV DVB-T USB2.0 support"
671 clean_blob drivers/media/dvb/dvb-usb/digitv.c
672 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_DIGITV'
673 clean_mk CONFIG_DVB_USB_DIGITV drivers/media/dvb/dvb-usb/Makefile
674
675 announce DVB_USB_DTT200U - "WideView WT-200U and WT-220U (pen) DVB-T USB2.0 support (Yakumo/Hama/Typhoon/Yuan)"
676 clean_blob drivers/media/dvb/dvb-usb/dtt200u.c
677 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_DTT200U'
678 clean_mk CONFIG_DVB_USB_DTT200U drivers/media/dvb/dvb-usb/Makefile
679
680 announce DVB_USB_DW2102 - "DvbWorld DVB-S/S2 USB2.0 support"
681 reject_firmware drivers/media/dvb/dvb-usb/dw2102.c
682 clean_blob drivers/media/dvb/dvb-usb/dw2102.c
683 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_DW2102'
684 clean_mk CONFIG_DVB_USB_DW2102 drivers/media/dvb/dvb-usb/Makefile
685
686 announce DVB_USB_EC168 - "E3C EC168 DVB-T USB2.0 support"
687 clean_blob drivers/media/dvb/dvb-usb/ec168.c
688 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_EC168'
689 clean_mk CONFIG_DVB_USB_EC168 drivers/media/dvb/dvb-usb/Makefile
690
691 announce DVB_USB_GP8PSK - "GENPIX 8PSK->USB module support"
692 reject_firmware drivers/media/dvb/dvb-usb/gp8psk.c
693 clean_blob drivers/media/dvb/dvb-usb/gp8psk.c
694 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_GP8PSK'
695 clean_mk CONFIG_DVB_USB_GP8PSK drivers/media/dvb/dvb-usb/Makefile
696
697 announce DVB_USB_LME2510 - "LME DM04/QQBOX DVB-S USB2.0 support"
698 reject_firmware drivers/media/dvb/dvb-usb/lmedm04.c
699 clean_blob drivers/media/dvb/dvb-usb/lmedm04.c
700 clean_file Documentation/dvb/lmedm04.txt
701 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_LME2510'
702 clean_mk CONFIG_DVB_USB_LME2510 drivers/media/dvb/dvb-usb/Makefile
703
704 announce DVB_USB_M920X - "Uli m920x DVB-T USB2.0 support"
705 reject_firmware drivers/media/dvb/dvb-usb/m920x.c
706 clean_blob drivers/media/dvb/dvb-usb/m920x.c
707 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_M920X'
708 clean_mk CONFIG_DVB_USB_M920X drivers/media/dvb/dvb-usb/Makefile
709
710 announce DVB_USB_NOVA_T_USB2 - "Hauppauge WinTV-NOVA-T usb2 DVB-T USB2.0 support"
711 clean_blob drivers/media/dvb/dvb-usb/nova-t-usb2.c
712 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_NOVA_T_USB2'
713 clean_mk CONFIG_DVB_USB_NOVA_T_USB2 drivers/media/dvb/dvb-usb/Makefile
714
715 announce DVB_USB_OPERA1 - "Opera1 DVB-S USB2.0 receiver"
716 reject_firmware drivers/media/dvb/dvb-usb/opera1.c
717 clean_blob drivers/media/dvb/dvb-usb/opera1.c
718 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_OPERA1'
719 clean_mk CONFIG_DVB_USB_OPERA1 drivers/media/dvb/dvb-usb/Makefile
720
721 announce DVB_USB_TECHNISAT_USB2 - "Technisat DVB-S/S2 USB2.0 support"
722 clean_blob drivers/media/dvb/dvb-usb/technisat-usb2.c
723 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_TECHNISAT_USB2'
724 clean_mk CONFIG_DVB_USB_TECHNISAT_USB2 drivers/media/dvb/dvb-usb/Makefile
725
726 announce DVB_USB_TTUSB2 - "Pinnacle 400e DVB-S USB2.0 support"
727 clean_blob drivers/media/dvb/dvb-usb/ttusb2.c
728 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_TTUSB2'
729 clean_mk CONFIG_DVB_USB_TTUSB2 drivers/media/dvb/dvb-usb/Makefile
730
731 announce DVB_USB_UMT_010 - "HanfTek UMT-010 DVB-T USB2.0 support"
732 clean_blob drivers/media/dvb/dvb-usb/umt-010.c
733 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_UMT_010'
734 clean_mk CONFIG_DVB_USB_UMT_010 drivers/media/dvb/dvb-usb/Makefile
735
736 announce DVB_USB_VP702X - "TwinhanDTV StarBox and clones DVB-S USB2.0 support"
737 clean_blob drivers/media/dvb/dvb-usb/vp702x.c
738 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_VP702X'
739 clean_mk CONFIG_DVB_USB_VP702X drivers/media/dvb/dvb-usb/Makefile
740
741 announce DVB_USB_VP7045 - "TwinhanDTV Alpha/MagicBoxII, DNTV tinyUSB2, Beetle USB2.0 support"
742 clean_blob drivers/media/dvb/dvb-usb/vp7045.c
743 clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_VP7045'
744 clean_mk CONFIG_DVB_USB_VP7045 drivers/media/dvb/dvb-usb/Makefile
745
746 # dvb/frontends
747
748 announce DVB_AF9013 - "Afatech AF9013 demodulator"
749 undefault_firmware 'AF9013' \
750   drivers/media/dvb/frontends/af9013.c \
751   drivers/media/dvb/frontends/af9013_priv.h
752 reject_firmware drivers/media/dvb/frontends/af9013.c
753 clean_kconfig drivers/media/dvb/frontends/Kconfig 'DVB_AF9013'
754 clean_mk CONFIG_DVB_AF9013 drivers/media/dvb/frontends/Makefile
755
756 announce DVB_BCM3510 - "Broadcom BCM3510"
757 undefault_firmware 'BCM3510' drivers/media/dvb/frontends/bcm3510.c
758 reject_firmware drivers/media/dvb/frontends/bcm3510.c
759 reject_firmware drivers/media/dvb/frontends/bcm3510.h
760 clean_sed '
761 /You.ll need a firmware/,/dvb-fe-bcm/d;
762 ' drivers/media/dvb/frontends/bcm3510.c \
763   "removed non-Free firmware notes"
764 clean_kconfig drivers/media/dvb/frontends/Kconfig 'DVB_BCM3510'
765 clean_mk CONFIG_DVB_BCM3510 drivers/media/dvb/frontends/Makefile
766
767 announce DVB_DS3000 - "Montage Tehnology DS3000 based"
768 undefault_firmware 'DS3000' \
769   drivers/media/dvb/frontends/ds3000.c
770 reject_firmware drivers/media/dvb/frontends/ds3000.c
771 clean_blob drivers/media/dvb/frontends/ds3000.c
772 clean_kconfig drivers/media/dvb/frontends/Kconfig 'DVB_DS3000'
773 clean_mk CONFIG_DVB_DS3000 drivers/media/dvb/frontends/Makefile
774
775 announce DVB_LGS8GXX - "Legend Silicon LGS8913/LGS8GL5/LGS8GXX DMB-TH demodulator"
776 reject_firmware drivers/media/dvb/frontends/lgs8gxx.c
777 clean_blob drivers/media/dvb/frontends/lgs8gxx.c
778 clean_kconfig drivers/media/dvb/frontends/Kconfig 'DVB_LGS8GXX'
779 clean_mk CONFIG_DVB_LGS8GXX drivers/media/dvb/frontends/Makefile
780
781 announce DVB_NXT200X - "NxtWave Communications NXT2002/NXT2004 based"
782 undefault_firmware 'NXT200[24]' drivers/media/dvb/frontends/nxt200x.c
783 reject_firmware drivers/media/dvb/frontends/nxt200x.c
784 clean_blob drivers/media/dvb/frontends/nxt200x.c
785 clean_kconfig drivers/media/dvb/frontends/Kconfig 'DVB_NXT200X'
786 clean_mk CONFIG_DVB_NXT200X drivers/media/dvb/frontends/Makefile
787
788 announce DVB_OR51132 - "Oren OR51132 based"
789 reject_firmware drivers/media/dvb/frontends/or51132.c
790 clean_blob drivers/media/dvb/frontends/or51132.c
791 clean_kconfig drivers/media/dvb/frontends/Kconfig 'DVB_OR51132'
792 clean_mk CONFIG_DVB_OR51132 drivers/media/dvb/frontends/Makefile
793
794 announce DVB_OR51211 - "Oren OR51211 based"
795 undefault_firmware 'OR51211' drivers/media/dvb/frontends/or51211.c
796 reject_firmware drivers/media/dvb/frontends/or51211.c
797 reject_firmware drivers/media/dvb/frontends/or51211.h
798 clean_blob drivers/media/dvb/frontends/or51211.c
799 clean_kconfig drivers/media/dvb/frontends/Kconfig 'DVB_OR51211'
800 clean_mk CONFIG_DVB_OR51211 drivers/media/dvb/frontends/Makefile
801
802 announce DVB_SP8870 - "Spase sp8870"
803 undefault_firmware 'SP8870' drivers/media/dvb/frontends/sp8870.c
804 reject_firmware drivers/media/dvb/frontends/sp8870.c
805 reject_firmware drivers/media/dvb/frontends/sp8870.h
806 clean_blob drivers/media/dvb/frontends/sp8870.c
807 clean_kconfig drivers/media/dvb/frontends 'DVB_SP8870'
808 clean_mk CONFIG_DVB_SP8870 drivers/media/dvb/frontends/Makefile
809
810 announce DVB_CX24116 - "Conexant CX24116 based"
811 undefault_firmware CX24116 drivers/media/dvb/frontends/cx24116.c
812 reject_firmware drivers/media/dvb/frontends/cx24116.c
813 clean_kconfig drivers/media/dvb/frontends/Kconfig 'DVB_CX24116'
814 clean_mk CONFIG_DVB_CX24116 drivers/media/dvb/frontends/Makefile
815
816 announce DVB_SP887X - "Spase sp887x based"
817 undefault_firmware 'SP887X' drivers/media/dvb/frontends/sp887x.c
818 reject_firmware drivers/media/dvb/frontends/sp887x.c
819 reject_firmware drivers/media/dvb/frontends/sp887x.h
820 clean_blob drivers/media/dvb/frontends/sp887x.c
821 clean_kconfig drivers/media/dvb/frontends/Kconfig 'DVB_SP887X'
822 clean_mk CONFIG_DVB_SP887X drivers/media/dvb/frontends/Makefile
823
824 announce DVB_TDA10048 - "Philips TDA10048HN based"
825 undefine_macro 'TDA10048_DEFAULT_FIRMWARE_SIZE' 0 \
826   'removed non-Free firmware size' drivers/media/dvb/frontends/tda10048.c
827 undefault_firmware 'TDA10048' drivers/media/dvb/frontends/tda10048.c
828 reject_firmware drivers/media/dvb/frontends/tda10048.c
829 clean_kconfig drivers/media/dvb/frontends/Kconfig 'DVB_TDA10048'
830 clean_mk CONFIG_DVB_TDA10048 drivers/media/dvb/frontends/Makefile
831
832 announce DVB_TDA1004X - "Philips TDA10045H/TDA10046H"
833 undefault_firmware 'TDA1004[56]' drivers/media/dvb/frontends/tda1004x.c
834 reject_firmware drivers/media/dvb/frontends/tda1004x.c
835 reject_firmware drivers/media/dvb/frontends/tda1004x.h
836 clean_blob drivers/media/dvb/frontends/tda1004x.c
837 clean_kconfig drivers/media/dvb/frontends 'DVB_TDA1004X'
838 clean_mk CONFIG_DVB_TDA1004X drivers/media/dvb/frontends/Makefile
839
840 # dvb
841
842 announce DVB_AV7110 - "AV7110 cards"
843 reject_firmware drivers/media/dvb/ttpci/av7110.c
844 clean_blob drivers/media/dvb/ttpci/av7110.c
845 clean_kconfig drivers/media/dvb/ttpci/Kconfig 'DVB_AV7110'
846 clean_mk CONFIG_DVB_AV7110 drivers/media/dvb/ttpci/Makefile
847
848 announce DVB_BUDGET - "Budget cards"
849 reject_firmware drivers/media/dvb/ttpci/budget.c
850 reject_firmware drivers/media/dvb/frontends/tdhd1.h
851
852 announce DVB_BUDGET_AV - "Budget cards with analog video inputs"
853 reject_firmware drivers/media/dvb/ttpci/budget-av.c
854
855 announce DVB_BUDGET_CI - "Budget cards with onboard CI connector"
856 reject_firmware drivers/media/dvb/ttpci/budget-ci.c
857
858 announce DVB_DRXD - "Micronas DRXD driver"
859 reject_firmware drivers/media/dvb/frontends/drxd_hard.c
860 clean_blob drivers/media/dvb/frontends/drxd_hard.c
861 clean_kconfig drivers/media/dvb/frontends/Kconfig 'DVB_DRXD'
862 clean_mk CONFIG_DVB_DRXD drivers/media/dvb/frontends/Makefile
863
864 announce DVB_NGENE - "Micronas nGene support"
865 reject_firmware drivers/media/dvb/ngene/ngene-core.c
866 clean_blob drivers/media/dvb/ngene/ngene-core.c
867 clean_kconfig drivers/media/dvb/ngene/Kconfig 'DVB_NGENE'
868 clean_mk CONFIG_DVB_NGENE drivers/media/dvb/ngene/Makefile
869
870 announce DVB_PLUTO2 - "Pluto2 cards"
871 reject_firmware drivers/media/dvb/pluto2/pluto2.c
872
873 announce SMS_SIANO_MDTV - "Siano SMS1xxx based MDTV receiver"
874 reject_firmware drivers/media/dvb/siano/smscoreapi.c
875 clean_blob drivers/media/dvb/siano/smscoreapi.c
876 clean_blob drivers/media/dvb/siano/sms-cards.c
877 clean_kconfig drivers/media/dvb/siano/Kconfig 'SMS_SIANO_MDTV'
878 clean_mk CONFIG_SMS_SIANO_MDTV drivers/media/dvb/siano/Makefile
879
880 announce SMS_USB_DRV - "Siano's USB interface support"
881 reject_firmware drivers/media/dvb/siano/smsusb.c
882 clean_blob drivers/media/dvb/siano/smsusb.c
883 clean_kconfig drivers/media/dvb/siano/Kconfig 'SMS_USB_DRV'
884 clean_mk CONFIG_SMS_USB_DRV drivers/media/dvb/siano/Makefile
885
886 announce DVB_TTUSB_BUDGET - "Technotrend/Hauppauge Nova-USB devices"
887 drop_fw_file firmware/ttusb-budget/dspbootcode.bin.ihex firmware/ttusb-budget/dspbootcode.bin
888 reject_firmware drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c
889 clean_blob drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c
890 clean_kconfig drivers/media/dvb/ttusb-budget/Kconfig 'DVB_TTUSB_BUDGET'
891 clean_mk CONFIG_DVB_TTUSB_BUDGET drivers/media/dvb/ttusb-budget/Makefile
892
893 announce DVB_TTUSB_DEC - "Technotrend/Hauppauge USB DEC devices"
894 reject_firmware drivers/media/dvb/ttusb-dec/ttusb_dec.c
895 clean_blob drivers/media/dvb/ttusb-dec/ttusb_dec.c
896 clean_blob Documentation/dvb/ttusb-dec.txt
897 clean_kconfig drivers/media/dvb/ttusb-dec/Kconfig 'DVB_TTUSB_DEC'
898 clean_mk CONFIG_DVB_TTUSB_DEC drivers/media/dvb/ttusb-dec/Makefile
899
900 # video
901
902 announce VIDEO_BT848 - "BT848 Video For Linux"
903 reject_firmware drivers/media/video/bt8xx/bttv-cards.c
904 clean_blob drivers/media/video/bt8xx/bttv-cards.c
905 clean_blob Documentation/video4linux/bttv/README
906 clean_kconfig drivers/media/video/bt8xx/Kconfig 'VIDEO_BT848'
907 clean_mk CONFIG_VIDEO_BT848 drivers/media/video/bt8xx/Makefile
908
909 announce VIDEO_CPIA2 - "CPiA2 Video For Linux"
910 clean_fw firmware/cpia2/stv0672_vp4.bin.ihex firmware/cpia2/stv0672_vp4.bin
911 reject_firmware drivers/media/video/cpia2/cpia2_core.c
912 clean_blob drivers/media/video/cpia2/cpia2_core.c
913 clean_kconfig drivers/media/video/cpia2/Kconfig 'VIDEO_CPIA2'
914 clean_mk CONFIG_VIDEO_CPIA2 drivers/media/video/cpia2/Makefile
915
916 announce VIDEO_CX18 - "Conexant cx23418 MPEG encoder support"
917 reject_firmware drivers/media/video/cx18/cx18-av-firmware.c
918 reject_firmware drivers/media/video/cx18/cx18-dvb.c
919 reject_firmware drivers/media/video/cx18/cx18-firmware.c
920 clean_blob drivers/media/video/cx18/cx18-av-firmware.c
921 clean_blob drivers/media/video/cx18/cx18-dvb.c
922 clean_blob drivers/media/video/cx18/cx18-firmware.c
923 clean_kconfig drivers/media/video/cx18/Kconfig 'VIDEO_CX18'
924 clean_mk CONFIG_VIDEO_CX18 drivers/media/video/cx18/Makefile
925
926 announce VIDEO_CX231XX - "Conexant cx231xx USB video capture support"
927 reject_firmware drivers/media/video/cx231xx/cx231xx-417.c
928 clean_blob drivers/media/video/cx231xx/cx231xx-417.c
929 clean_kconfig drivers/media/video/cx231xx/Kconfig 'VIDEO_CX231XX'
930 clean_mk CONFIG_VIDEO_CX231XX drivers/media/video/cx231xx/Makefile
931
932 announce VIDEO_CX23885 - "Conexant cx23885 (2388x successor) support"
933 reject_firmware drivers/media/video/cx23885/cx23885-417.c
934 clean_blob drivers/media/video/cx23885/cx23885-417.c
935 reject_firmware drivers/media/video/cx23885/cx23885-cards.c
936 clean_blob drivers/media/video/cx23885/cx23885-cards.c
937 clean_kconfig drivers/media/video/cx23885/Kconfig 'VIDEO_CX23885'
938 clean_mk CONFIG_VIDEO_CX23885 drivers/media/video/cx23885/Makefile
939
940 announce VIDEO_CX25840 - "Conexant CX2584x audio/video decoders"
941 reject_firmware drivers/media/video/cx25840/cx25840-firmware.c
942 clean_blob drivers/media/video/cx25840/cx25840-firmware.c
943 clean_kconfig drivers/media/video/cx25840/Kconfig 'VIDEO_CX25840'
944 clean_mk CONFIG_VIDEO_CX25840 drivers/media/video/cx25840/Makefile
945
946 announce VIDEO_CX88_BLACKBIRD - "Blackbird MPEG encoder support (cx2388x + cx23416)"
947 reject_firmware drivers/media/video/cx88/cx88-blackbird.c
948 clean_kconfig drivers/media/video/cx88/Kconfig 'VIDEO_CX88_BLACKBIRD'
949 clean_mk CONFIG_VIDEO_CX88_BLACKBIRD drivers/media/video/cx88/Makefile
950
951 announce VIDEO_IVTV - "Conexant cx23416/cx23415 MPEG encoder/decoder support"
952 reject_firmware drivers/media/video/ivtv/ivtv-firmware.c
953 clean_blob drivers/media/video/ivtv/ivtv-firmware.c
954 clean_kconfig drivers/media/video/ivtv/Kconfig 'VIDEO_IVTV'
955 clean_mk CONFIG_VIDEO_IVTV drivers/media/video/ivtv/Makefile
956
957 announce VIDEO_PVRUSB2 - "Hauppauge WinTV-PVR USB2 support"
958 reject_firmware drivers/media/video/pvrusb2/pvrusb2-hdw.c
959 clean_blob drivers/media/video/pvrusb2/pvrusb2-devattr.c
960 clean_kconfig drivers/media/video/pvrusb2/Kconfig 'VIDEO_PVRUSB2'
961 clean_mk CONFIG_VIDEO_PVRUSB2 drivers/media/video/pvrusb2/Makefile
962
963 announce "VIDEO_CX23885, VIDEO_CX88_BLACKBIRD, VIDEO_IVTV, VIDEO_PVRUSB2" - "See above"
964 clean_blob include/media/cx2341x.h
965
966 announce VIDEO_GO7007 - "Go 7007 support"
967 reject_firmware drivers/staging/go7007/go7007-driver.c
968 clean_blob drivers/staging/go7007/go7007-driver.c
969 reject_firmware drivers/staging/go7007/go7007-fw.c
970 clean_blob drivers/staging/go7007/go7007-usb.c
971 clean_blob drivers/staging/go7007/saa7134-go7007.c
972 clean_kconfig drivers/staging/go7007/Kconfig 'VIDEO_GO7007'
973 clean_mk CONFIG_VIDEO_GO7007 drivers/staging/go7007/Makefile
974
975 announce VIDEO_GO7007_USB_S2250_BOARD - "Sensoray 2250/2251 support"
976 reject_firmware drivers/staging/go7007/s2250-loader.c
977 clean_blob drivers/staging/go7007/s2250-loader.c
978 clean_kconfig drivers/staging/go7007/Kconfig 'VIDEO_GO7007_USB_S2250_BOARD'
979 clean_mk CONFIG_VIDEO_GO7007_USB_S2250_BOARD drivers/staging/go7007/Makefile
980
981 announce VIDEO_SAA7134_DVB - "DVB/ATSC Support for saa7134 based TV cards"
982 reject_firmware drivers/media/video/saa7134/saa7134-dvb.c
983 clean_kconfig drivers/media/video/saa7134/Kconfig 'VIDEO_SAA7134_DVB'
984 clean_mk CONFIG_VIDEO_SAA7134_DVB drivers/media/video/saa7134/Makefile
985
986 announce VIDEO_SAA7164 - "NXP SAA7164 support"
987 reject_firmware drivers/media/video/saa7164/saa7164-fw.c
988 clean_blob drivers/media/video/saa7164/saa7164-fw.c
989 clean_kconfig drivers/media/video/saa7164/Kconfig 'VIDEO_SAA7164'
990 clean_mk CONFIG_VIDEO_SAA7164 drivers/media/video/saa7164/Makefile
991
992 announce VIDEO_TLG2300 - "Telegent TLG2300 USB video capture support"
993 reject_firmware drivers/media/video/tlg2300/pd-main.c
994 clean_blob drivers/media/video/tlg2300/pd-main.c
995 clean_kconfig drivers/media/video/tlg2300/Kconfig 'VIDEO_TLG2300'
996 clean_mk CONFIG_VIDEO_TLG2300 drivers/media/video/tlg2300/Makefile
997
998 announce USB_DABUSB - "left-over DABUSB firmware"
999 clean_fw firmware/dabusb/bitstream.bin.ihex firmware/dabusb/bitstream.bin
1000 clean_fw firmware/dabusb/firmware.HEX firmware/dabusb/firmware.fw
1001
1002 announce USB_S2255 - "USB Sensoray 2255 video capture device"
1003 reject_firmware drivers/media/video/s2255drv.c
1004 clean_blob drivers/media/video/s2255drv.c
1005 clean_kconfig drivers/media/video/Kconfig 'USB_S2255'
1006 clean_mk CONFIG_USB_S2255 drivers/media/video/Makefile
1007
1008 announce USB_GSPCA_VICAM - "USB 3com HomeConnect, AKA vicam"
1009 drop_fw_file firmware/vicam/firmware.H16 firmware/vicam/firmware.fw
1010 reject_firmware drivers/media/video/gspca/vicam.c
1011 clean_blob drivers/media/video/gspca/vicam.c
1012 clean_kconfig drivers/media/video/gspca/Kconfig 'USB_GSPCA_VICAM'
1013 clean_mk CONFIG_USB_GSPCA_VICAM drivers/media/video/gspca/Makefile
1014
1015 # radio
1016
1017 announce RADIO_WL1273 - "Texas Instruments WL1273 I2C FM Radio"
1018 reject_firmware drivers/media/radio/radio-wl1273.c
1019 clean_blob drivers/media/radio/radio-wl1273.c
1020 clean_kconfig drivers/media/radio/Kconfig 'RADIO_WL1273'
1021 clean_mk CONFIG_RADIO_WL1273 drivers/media/radio/Makefile
1022
1023 announce RADIO_WL128X - "Texas Instruments WL128x FM Radio"
1024 clean_blob drivers/media/radio/wl128x/fmdrv_common.h
1025 reject_firmware drivers/media/radio/wl128x/fmdrv_common.c
1026 clean_blob drivers/media/radio/wl128x/fmdrv_common.c
1027 clean_kconfig drivers/media/radio/Kconfig 'RADIO_WL128X'
1028 clean_mk CONFIG_RADIO_WL128X drivers/media/radio/Makefile
1029
1030 #######
1031 # net #
1032 #######
1033
1034 announce ACENIC - "Alteon AceNIC/3Com 3C985/NetGear GA620 Gigabit"
1035 drop_fw_file firmware/acenic/tg1.bin.ihex firmware/acenic/tg1.bin
1036 drop_fw_file firmware/acenic/tg2.bin.ihex firmware/acenic/tg2.bin
1037 reject_firmware drivers/net/acenic.c
1038 clean_blob drivers/net/acenic.c
1039 clean_kconfig drivers/net/Kconfig 'ACENIC'
1040 clean_mk CONFIG_ACENIC drivers/net/Makefile
1041
1042 announce ADAPTEC_STARFIRE - "Adaptec Starfire/DuraLAN support"
1043 clean_fw firmware/adaptec/starfire_rx.bin.ihex firmware/adaptec/starfire_rx.bin
1044 clean_fw firmware/adaptec/starfire_tx.bin.ihex firmware/adaptec/starfire_tx.bin
1045 reject_firmware drivers/net/starfire.c
1046 clean_blob drivers/net/starfire.c
1047 clean_kconfig drivers/net/Kconfig 'ADAPTEC_STARFIRE'
1048 clean_mk CONFIG_ADAPTEC_STARFIRE drivers/net/Makefile
1049
1050 announce BNA - "Brocade 1010/1020 10Gb Ethernet Driver support"
1051 clean_blob drivers/net/bna/bnad.c
1052 clean_blob drivers/net/bna/cna.h
1053 reject_firmware drivers/net/bna/cna_fwimg.c
1054 clean_kconfig drivers/net/Kconfig 'BNA'
1055 clean_mk CONFIG_BNA drivers/net/bna/Makefile
1056
1057 announce BNX2 - "Broadcom NetXtremeII"
1058 drop_fw_file firmware/bnx2/bnx2-mips-09-6.2.1a.fw.ihex firmware/bnx2/bnx2-mips-09-6.2.1a.fw
1059 drop_fw_file firmware/bnx2/bnx2-rv2p-09-6.0.17.fw.ihex firmware/bnx2/bnx2-rv2p-09-6.0.17.fw
1060 drop_fw_file firmware/bnx2/bnx2-rv2p-09ax-6.0.17.fw.ihex firmware/bnx2/bnx2-rv2p-09ax-6.0.17.fw
1061 drop_fw_file firmware/bnx2/bnx2-mips-06-6.2.1.fw.ihex firmware/bnx2/bnx2-mips-06-6.2.1.fw
1062 drop_fw_file firmware/bnx2/bnx2-rv2p-06-6.0.15.fw.ihex firmware/bnx2/bnx2-rv2p-06-6.0.15.fw
1063 reject_firmware drivers/net/bnx2.c
1064 clean_blob drivers/net/bnx2.c
1065 clean_kconfig drivers/net/Kconfig 'BNX2'
1066 clean_mk CONFIG_BNX2 drivers/net/Makefile
1067
1068 announce BNX2X - "Broadcom NetXtremeII 10Gb support"
1069 drop_fw_file firmware/bnx2x/bnx2x-e1-6.2.9.0.fw.ihex firmware/bnx2x/bnx2x-e1-6.2.9.0.fw
1070 drop_fw_file firmware/bnx2x/bnx2x-e1h-6.2.9.0.fw.ihex firmware/bnx2x/bnx2x-e1h-6.2.9.0.fw
1071 drop_fw_file firmware/bnx2x/bnx2x-e2-6.2.9.0.fw.ihex firmware/bnx2x/bnx2x-e2-6.2.9.0.fw
1072 reject_firmware drivers/net/bnx2x/bnx2x_main.c
1073 clean_sed '
1074 /^#include "bnx2x_init\.h"/,/^$/{
1075   /^$/i\
1076 #define bnx2x_init_block(bp, start, end) \\\
1077   return (printk(KERN_ERR "%s: Missing Free firmware\\n", bp->dev->name),\\\
1078           -EINVAL)
1079 }' drivers/net/bnx2x/bnx2x_main.c 'report missing Free firmware'
1080 clean_blob drivers/net/bnx2x/bnx2x_main.c
1081 clean_blob drivers/net/bnx2x/bnx2x_hsi.h
1082 clean_blob drivers/net/bnx2x/bnx2x_init_ops.h
1083 clean_kconfig drivers/net/Kconfig 'BNX2X'
1084 clean_mk CONFIG_BNX2X drivers/net/Makefile
1085
1086 announce CASSINI - "Sun Cassini"
1087 drop_fw_file firmware/sun/cassini.bin.ihex firmware/sun/cassini.bin
1088 reject_firmware drivers/net/cassini.c
1089 clean_blob drivers/net/cassini.c
1090 clean_kconfig drivers/net/Kconfig 'CASSINI'
1091 clean_mk CONFIG_CASSINI drivers/net/Makefile
1092
1093 announce CHELSIO_T3 - "Chelsio AEL 2005 support"
1094 drop_fw_file firmware/cxgb3/t3b_psram-1.1.0.bin.ihex firmware/cxgb3/t3b_psram-1.1.0.bin
1095 drop_fw_file firmware/cxgb3/t3c_psram-1.1.0.bin.ihex firmware/cxgb3/t3c_psram-1.1.0.bin
1096 drop_fw_file firmware/cxgb3/t3fw-7.10.0.bin.ihex firmware/cxgb3/t3fw-7.10.0.bin
1097 drop_fw_file firmware/cxgb3/ael2005_opt_edc.bin.ihex firmware/cxgb3/ael2005_opt_edc.bin
1098 drop_fw_file firmware/cxgb3/ael2005_twx_edc.bin.ihex firmware/cxgb3/ael2005_twx_edc.bin
1099 drop_fw_file firmware/cxgb3/ael2020_twx_edc.bin.ihex firmware/cxgb3/ael2020_twx_edc.bin
1100 reject_firmware drivers/net/cxgb3/cxgb3_main.c
1101 clean_blob drivers/net/cxgb3/cxgb3_main.c
1102 clean_kconfig drivers/net/Kconfig 'CHELSIO_T3'
1103 clean_mk CONFIG_CHELSIO_T3 drivers/net/cxgb3/Makefile
1104
1105 announce CHELSIO_T4 - "Chelsio Communications T4 Ethernet support"
1106 reject_firmware drivers/net/cxgb4/cxgb4_main.c
1107 clean_blob drivers/net/cxgb4/cxgb4_main.c
1108 clean_kconfig drivers/net/Kconfig 'CHELSIO_T4'
1109 clean_mk CONFIG_CHELSIO_T4 drivers/net/cxgb4/Makefile
1110
1111 announce E100 - "Intel PRO/100+"
1112 drop_fw_file firmware/e100/d101m_ucode.bin.ihex firmware/e100/d101m_ucode.bin
1113 drop_fw_file firmware/e100/d101s_ucode.bin.ihex firmware/e100/d101s_ucode.bin
1114 drop_fw_file firmware/e100/d102e_ucode.bin.ihex firmware/e100/d102e_ucode.bin
1115 reject_firmware drivers/net/e100.c
1116 clean_sed '
1117 /^static const struct firmware \*e100_\(reject\|request\)_firmware(/,/^}$/{
1118   s:^\(.*\)return ERR_PTR(err);$:\1netif_err(nic, probe, nic->netdev, "Proceeding without firmware\\n");\n\1return NULL;:
1119 }' drivers/net/e100.c 'proceed without firmware'
1120 clean_blob drivers/net/e100.c
1121 clean_kconfig drivers/net/Kconfig 'E100'
1122 clean_mk CONFIG_E100 drivers/net/Makefile
1123
1124 announce FT1000_PCMCIA - "Driver for ft1000 pcmcia device."
1125 clean_file drivers/staging/ft1000/ft1000-pcmcia/ft1000.img
1126 reject_firmware drivers/staging/ft1000/TODO
1127 clean_blob drivers/staging/ft1000/ft1000-pcmcia/boot.h
1128 clean_sed '
1129 /^static int ft1000_reset_card/,/^}$/ {
1130   /card_bootload/i\
1131                 return /*(DEBLOBBED)*/ FALSE;
1132 }
1133 ' drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c \
1134   'disabled non-Free firmware-loading machinery'
1135 reject_firmware drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
1136 clean_blob drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
1137 clean_kconfig drivers/staging/ft1000/Kconfig 'FT1000_PCMCIA'
1138 clean_mk CONFIG_FT1000_PCMCIA drivers/staging/ft1000/Makefile
1139
1140 announce FT1000_USB - "Driver for ft1000 USB devices."
1141 clean_file drivers/staging/ft1000/ft1000-usb/ft3000.img
1142 reject_firmware drivers/staging/ft1000/ft1000-usb/ft1000_usb.c
1143 clean_blob drivers/staging/ft1000/ft1000-usb/ft1000_usb.c
1144 clean_kconfig drivers/staging/ft1000/Kconfig 'FT1000_USB'
1145 clean_mk CONFIG_FT1000_USB drivers/staging/ft1000/Makefile
1146
1147 announce MYRI_SBUS - "MyriCOM Gigabit Ethernet"
1148 drop_fw_file firmware/myricom/lanai.bin.ihex firmware/myricom/lanai.bin
1149 reject_firmware drivers/net/myri_sbus.c
1150 clean_blob drivers/net/myri_sbus.c
1151 clean_kconfig drivers/net/Kconfig 'MYRI_SBUS'
1152 clean_mk CONFIG_MYRI_SBUS drivers/net/Makefile
1153
1154 announce MYRI10GE - "Myricom Myri-10G Ethernet support"
1155 reject_firmware drivers/net/myri10ge/myri10ge.c
1156 clean_blob drivers/net/myri10ge/myri10ge.c
1157 clean_kconfig drivers/net/Kconfig 'MYRI10GE'
1158 clean_mk CONFIG_MYRI10GE drivers/net/myri10ge/Makefile
1159
1160 announce NETXEN_NIC - "NetXen Multi port (1/10) Gigabit Ethernet NIC"
1161 reject_firmware drivers/net/netxen/netxen_nic.h
1162 reject_firmware drivers/net/netxen/netxen_nic_main.c
1163 reject_firmware drivers/net/netxen/netxen_nic_init.c
1164 clean_blob drivers/net/netxen/netxen_nic.h
1165 clean_blob drivers/net/netxen/netxen_nic_main.c
1166 clean_kconfig drivers/net/Kconfig 'NETXEN_NIC'
1167 clean_mk CONFIG_NETXEN_NIC drivers/net/Makefile
1168
1169 announce QLCNIC - "QLOGIC QLCNIC 1/10Gb Converged Ethernet NIC Support"
1170 reject_firmware drivers/net/qlcnic/qlcnic.h
1171 reject_firmware drivers/net/qlcnic/qlcnic_init.c
1172 reject_firmware drivers/net/qlcnic/qlcnic_main.c
1173 clean_blob drivers/net/qlcnic/qlcnic.h
1174 clean_blob drivers/net/qlcnic/qlcnic_main.c
1175 clean_kconfig drivers/net/Kconfig 'QLCNIC'
1176 clean_mk CONFIG_QLCNIC drivers/net/qlcnic/Makefile
1177
1178 announce R8169 - "Realtek 8169 gigabit ethernet support"
1179 reject_firmware drivers/net/r8169.c
1180 clean_blob drivers/net/r8169.c
1181 clean_kconfig drivers/net/Kconfig R8169
1182 clean_mk CONFIG_R8169 drivers/net/Makefile
1183
1184 announce SLICOSS - "Alacritech Gigabit IS-NIC cards"
1185 reject_firmware drivers/staging/slicoss/slicoss.c
1186 clean_blob drivers/staging/slicoss/slicoss.c
1187 clean_kconfig drivers/staging/slicoss/Kconfig 'SLICOSS'
1188 clean_mk CONFIG_SLICOSS drivers/staging/slicoss/Makefile
1189
1190 announce SPIDER_NET - "Spider Gigabit Ethernet driver"
1191 reject_firmware drivers/net/spider_net.c
1192 clean_sed 's,spider_fw\.bin,DEBLOBBED.bin,g' \
1193   drivers/net/spider_net.c 'removed non-Free firmware notes'
1194 clean_blob drivers/net/spider_net.c
1195 clean_blob drivers/net/spider_net.h
1196 clean_kconfig drivers/net/Kconfig 'SPIDER_NET'
1197 clean_mk CONFIG_SPIDER_NET drivers/net/Makefile
1198
1199 announce TEHUTI - "Tehuti Networks 10G Ethernet"
1200 drop_fw_file firmware/tehuti/bdx.bin.ihex firmware/tehuti/bdx.bin
1201 reject_firmware drivers/net/tehuti.c
1202 clean_blob drivers/net/tehuti.c
1203 clean_kconfig drivers/net/Kconfig 'TEHUTI'
1204 clean_mk CONFIG_TEHUTI drivers/net/Makefile
1205
1206 announce TIGON3 - "Broadcom Tigon3"
1207 drop_fw_file firmware/tigon/tg3.bin.ihex firmware/tigon/tg3.bin
1208 drop_fw_file firmware/tigon/tg3_tso.bin.ihex firmware/tigon/tg3_tso.bin
1209 drop_fw_file firmware/tigon/tg3_tso5.bin.ihex firmware/tigon/tg3_tso5.bin
1210 reject_firmware drivers/net/tg3.c
1211 clean_blob drivers/net/tg3.c
1212 clean_kconfig drivers/net/Kconfig 'TIGON3'
1213 clean_mk CONFIG_TIGON3 drivers/net/Makefile
1214
1215 announce TYPHOON - "3cr990 series Typhoon"
1216 drop_fw_file firmware/3com/typhoon.bin.ihex firmware/3com/typhoon.bin
1217 reject_firmware drivers/net/typhoon.c
1218 clean_blob drivers/net/typhoon.c
1219 clean_kconfig drivers/net/Kconfig 'TYPHOON'
1220 clean_mk CONFIG_TYPHOON drivers/net/Makefile
1221
1222 announce VXGE - "Exar X3100 Series 10GbE PCIe Server Adapter"
1223 reject_firmware drivers/net/vxge/vxge-main.c
1224 clean_blob drivers/net/vxge/vxge-main.c
1225 clean_kconfig drivers/net/Kconfig 'VXGE'
1226 clean_mk CONFIG_VXGE drivers/net/vxge/Makefile
1227
1228 # appletalk
1229
1230 announce COPS - "COPS LocalTalk PC"
1231 clean_sed '
1232 /sizeof(\(ff\|lt\)drv_code)/{
1233   i\
1234                 printk(KERN_INFO "%s: Missing Free firmware.\\n", dev->name);\
1235                 return;
1236 }
1237 /\(ff\|lt\)drv_code/d;
1238 ' drivers/net/appletalk/cops.c 'report missing Free firmware'
1239 clean_blob drivers/net/appletalk/cops.c
1240 clean_file drivers/net/appletalk/cops_ffdrv.h
1241 clean_file drivers/net/appletalk/cops_ltdrv.h
1242 clean_kconfig drivers/net/appletalk/Kconfig 'COPS'
1243 clean_mk CONFIG_COPS drivers/net/appletalk/Makefile
1244
1245 # hamradio
1246
1247 announce YAM - "YAM driver for AX.25"
1248 drop_fw_file firmware/yam/1200.bin.ihex firmware/yam/1200.bin
1249 drop_fw_file firmware/yam/9600.bin.ihex firmware/yam/9600.bin
1250 reject_firmware drivers/net/hamradio/yam.c
1251 clean_blob drivers/net/hamradio/yam.c
1252 clean_kconfig drivers/net/hamradio/Kconfig 'YAM'
1253 clean_mk CONFIG_YAM drivers/net/hamradio/Makefile
1254
1255 # irda
1256
1257 announce USB_IRDA - "IrDA USB dongles"
1258 reject_firmware drivers/net/irda/irda-usb.c
1259 clean_blob drivers/net/irda/irda-usb.c
1260 clean_kconfig drivers/net/irda/Kconfig 'USB_IRDA'
1261 clean_mk CONFIG_USB_IRDA drivers/net/irda/Makefile
1262
1263 # pcmcia
1264
1265 announce PCMCIA_SMC91C92 - "SMC 91Cxx PCMCIA"
1266 drop_fw_file firmware/ositech/Xilinx7OD.bin.ihex firmware/ositech/Xilinx7OD.bin
1267 reject_firmware drivers/net/pcmcia/smc91c92_cs.c
1268 clean_blob drivers/net/pcmcia/smc91c92_cs.c
1269 clean_kconfig drivers/net/pcmcia/Kconfig 'PCMCIA_SMC91C92'
1270 clean_mk CONFIG_PCMCIA_SMC91C92 drivers/net/pcmcia/Makefile
1271
1272 # CIS files are not software.
1273 # announce PCCARD - "PCCard (PCMCIA/CardBus) support"
1274 # reject_firmware drivers/pcmcia/ds.c
1275 # clean_kconfig drivers/pcmcia/Kconfig 'PCCARD'
1276 # clean_mk CONFIG_PCCARD drivers/pcmcia/Makefile
1277
1278 announce PCMCIA_3C574 - "3Com 3c574 PCMCIA support"
1279 # This is not software; it's Free, but GPLed without in-tree sources.
1280 drop_fw_file firmware/cis/3CCFEM556.cis.ihex firmware/cis/3CCFEM556.cis
1281 # clean_blob drivers/net/pcmcia/3c574_cs.c
1282 # clean_kconfig drivers/net/pcmcia/Kconfig 'PCMCIA_3C574'
1283 # clean_mk CONFIG_PCMCIA_3C574 drivers/net/pcmcia/Makefile
1284
1285 announce PCMCIA_3C589 - "3Com 3c589 PCMCIA support"
1286 # This is not software; it's Free, but GPLed without in-tree sources.
1287 drop_fw_file firmware/cis/3CXEM556.cis.ihex firmware/cis/3CXEM556.cis
1288 # clean_blob drivers/net/pcmcia/3c589_cs.c
1289 # clean_kconfig drivers/net/pcmcia/Kconfig 'PCMCIA_3C589'
1290 # clean_mk CONFIG_PCMCIA_3C589 drivers/net/pcmcia/Makefile
1291
1292 announce PCMCIA_PCNET - "NE2000 compatible PCMCIA support"
1293 # These are not software; they're Free, but GPLed without in-tree sources.
1294 drop_fw_file firmware/cis/LA-PCM.cis.ihex firmware/cis/LA-PCM.cis
1295 drop_fw_file firmware/cis/PCMLM28.cis.ihex firmware/cis/PCMLM28.cis
1296 drop_fw_file firmware/cis/DP83903.cis.ihex firmware/cis/DP83903.cis
1297 drop_fw_file firmware/cis/NE2K.cis.ihex firmware/cis/NE2K.cis
1298 drop_fw_file firmware/cis/tamarack.cis.ihex firmware/cis/tamarack.cis
1299 drop_fw_file firmware/cis/PE-200.cis.ihex firmware/cis/PE-200.cis
1300 drop_fw_file firmware/cis/PE520.cis.ihex firmware/cis/PE520.cis
1301 # clean_blob drivers/net/pcmcia/pcnet_cs.c
1302 # clean_kconfig drivers/net/pcmcia/Kconfig 'PCMCIA_PCNET'
1303 # clean_mk CONFIG_PCMCIA_PCNET drivers/net/pcmcia/Makefile
1304
1305 # tokenring
1306
1307 announce 3C359 - "3Com 3C359 Token Link Velocity XL adapter"
1308 drop_fw_file firmware/3com/3C359.bin.ihex firmware/3com/3C359.bin
1309 reject_firmware drivers/net/tokenring/3c359.c
1310 clean_blob drivers/net/tokenring/3c359.c
1311 clean_kconfig drivers/net/tokenring/Kconfig '3C359'
1312 clean_mk CONFIG_3C359 drivers/net/tokenring/Makefile
1313
1314 announce SMCTR - "SMC ISA/MCA adapter"
1315 drop_fw_file firmware/tr_smctr.bin.ihex firmware/tr_smctr.bin
1316 reject_firmware drivers/net/tokenring/smctr.c
1317 clean_blob drivers/net/tokenring/smctr.c
1318 clean_kconfig drivers/net/tokenring/Kconfig 'SMCTR'
1319 clean_mk CONFIG_SMCTR drivers/net/tokenring/Makefile
1320
1321 announce TMS380TR - "Generic TMS380 Token Ring ISA/PCI adapter support"
1322 reject_firmware drivers/net/tokenring/tms380tr.c
1323 clean_blob drivers/net/tokenring/tms380tr.c
1324 clean_kconfig drivers/net/tokenring/Kconfig 'TMS380TR'
1325 clean_mk CONFIG_TMS380TR drivers/net/tokenring/Makefile
1326
1327 # usb
1328
1329 announce USB_KAWETH - "USB KLSI KL5USB101-based ethernet device support"
1330 drop_fw_file firmware/kaweth/new_code.bin.ihex firmware/kaweth/new_code.bin
1331 drop_fw_file firmware/kaweth/new_code_fix.bin.ihex firmware/kaweth/new_code_fix.bin
1332 drop_fw_file firmware/kaweth/trigger_code.bin.ihex firmware/kaweth/trigger_code.bin
1333 drop_fw_file firmware/kaweth/trigger_code_fix.bin.ihex firmware/kaweth/trigger_code_fix.bin
1334 reject_firmware drivers/net/usb/kaweth.c
1335 clean_blob drivers/net/usb/kaweth.c
1336 clean_kconfig drivers/net/usb/Kconfig 'USB_KAWETH'
1337 clean_mk CONFIG_USB_KAWETH drivers/net/usb/Makefile
1338
1339 # wireless
1340
1341 announce ATMEL "Atmel at76c50x chipset  802.11b support"
1342 reject_firmware drivers/net/wireless/atmel.c
1343 clean_blob drivers/net/wireless/atmel.c
1344 clean_kconfig drivers/net/wireless/Kconfig 'ATMEL'
1345 clean_mk CONFIG_ATMEL drivers/net/wireless/Makefile
1346
1347 announce AT76C50X_USB - "Atmel at76c503/at76c505/at76c505a USB cards"
1348 reject_firmware drivers/net/wireless/at76c50x-usb.c
1349 clean_blob drivers/net/wireless/at76c50x-usb.c
1350 clean_kconfig drivers/net/wireless/Kconfig 'AT76C50X_USB'
1351 clean_mk CONFIG_AT76C50X_USB drivers/net/wireless/Makefile
1352
1353 announce B43 - "Broadcom 43xx wireless support (mac80211 stack)"
1354 maybe_reject_firmware drivers/net/wireless/b43/main.c
1355 clean_sed '
1356 /^static int b43_upload_microcode(/,/^}$/{
1357   /     if (dev->fw\.opensource) {$/i\
1358         if (!dev->fw.opensource) {\
1359                 b43err(dev->wl, "Rejected non-Free firmware\\n");\
1360                 err = -EOPNOTSUPP;\
1361                 goto error;\
1362         }
1363 }' drivers/net/wireless/b43/main.c 'double-check and reject non-Free firmware'
1364 # Major portions of firmware filenames not deblobbed.
1365 clean_blob drivers/net/wireless/b43/main.c
1366 clean_kconfig drivers/net/wireless/b43/Kconfig 'B43'
1367 clean_mk CONFIG_B43 drivers/net/wireless/b43/Makefile
1368
1369 announce B43LEGACY - "Broadcom 43xx-legacy wireless support (mac80211 stack)"
1370 reject_firmware drivers/net/wireless/b43legacy/main.c
1371 # Major portions of firwmare filenames not deblobbed.
1372 clean_blob drivers/net/wireless/b43legacy/main.c
1373 clean_kconfig drivers/net/wireless/b43legacy/Kconfig 'B43LEGACY'
1374 clean_mk CONFIG_B43LEGACY drivers/net/wireless/b43legacy/Makefile
1375
1376 announce BRCMSMAC_PCI - "Broadcom IEEE802.11n PCIe SoftMAC WLAN driver"
1377 clean_blob drivers/staging/brcm80211/README
1378 reject_firmware drivers/staging/brcm80211/brcmsmac/wl_mac80211.c
1379 clean_blob drivers/staging/brcm80211/brcmsmac/wl_mac80211.c
1380 clean_kconfig drivers/staging/brcm80211/Kconfig 'BRCMSMAC'
1381 clean_mk CONFIG_BRCMSMAC drivers/staging/brcm80211/Makefile
1382
1383 announce BRCMFMAC - "Broadcom IEEE802.11n embedded FullMAC WLAN driver"
1384 reject_firmware drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c
1385 clean_blob drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c
1386 clean_kconfig drivers/staging/brcm80211/Kconfig 'BRCMFMAC'
1387 clean_mk CONFIG_BRCMFMAC drivers/staging/brcm80211/Makefile
1388
1389 announce HERMES - "Hermes chipset 802.11b support (Orinoco/Prism2/Symbol)"
1390 reject_firmware drivers/net/wireless/orinoco/fw.c
1391 clean_blob drivers/net/wireless/orinoco/fw.c
1392 clean_kconfig drivers/net/wireless/orinoco/Kconfig 'HERMES'
1393 clean_mk CONFIG_HERMES drivers/net/wireless/orinoco/Makefile
1394
1395 announce ORINOCO_USB - "Agere Orinoco USB support"
1396 reject_firmware drivers/net/wireless/orinoco/orinoco_usb.c
1397 clean_blob drivers/net/wireless/orinoco/orinoco_usb.c
1398 clean_kconfig drivers/net/wireless/orinoco/Kconfig 'ORINOCO_USB'
1399 clean_mk CONFIG_ORINOCO_USB drivers/net/wireless/orinoco/Makefile
1400
1401 announce WLAGS49_H2 - "Agere Systems HERMES II Wireless PC Card Model 0110"
1402 # Some pieces of the firmware images are most definitely data, but
1403 # others seem to be code.
1404 clean_blob drivers/staging/wlags49_h2/ap_h2.c
1405 clean_blob drivers/staging/wlags49_h2/sta_h2.c
1406 echo 'extern int deblobbed; /*(DEBLOBBED)*/' > drivers/staging/wlags49_h2/ap_h2.c
1407 echo 'extern int deblobbed; /*(DEBLOBBED)*/' > drivers/staging/wlags49_h2/sta_h2.c
1408 clean_blob drivers/staging/wlags49_h2/wl_profile.c
1409 clean_sed '
1410   s,\(.*hcf_status = \)dhf_download_fw(.*&fw_image );,//& /*(DEBLOBBED)*/\n\1HCF_ERR_INCOMP_FW;,
1411 ' drivers/staging/wlags49_h2/wl_main.c 'reject built-in non-Free firmware'
1412 clean_kconfig drivers/staging/wlags49_h2/Kconfig 'WLAGS49_H2'
1413 clean_mk CONFIG_WLAGS49_H2 drivers/staging/Makefile
1414
1415 announce WLAGS49_H25 - "Linksys Systems HERMES II.5 Wireless-G_CompactFlash_Card"
1416 # Some pieces of the firmware images are most definitely data, but
1417 # others seem to be code.
1418 clean_blob drivers/staging/wlags49_h2/ap_h25.c
1419 clean_blob drivers/staging/wlags49_h2/sta_h25.c
1420 echo 'extern int deblobbed; /*(DEBLOBBED)*/' > drivers/staging/wlags49_h2/ap_h25.c
1421 echo 'extern int deblobbed; /*(DEBLOBBED)*/' > drivers/staging/wlags49_h2/sta_h25.c
1422 clean_kconfig drivers/staging/wlags49_h25/Kconfig 'WLAGS49_H25'
1423 clean_mk CONFIG_WLAGS49_H25 drivers/staging/Makefile
1424
1425 announce IPW2100 - "Intel PRO/Wireless 2100 Network Connection"
1426 reject_firmware drivers/net/wireless/ipw2x00/ipw2100.c
1427 clean_blob drivers/net/wireless/ipw2x00/ipw2100.c
1428 clean_kconfig drivers/net/wireless/Kconfig 'IPW2100'
1429 clean_mk CONFIG_IPW2100 drivers/net/wireless/ipw2x00/Makefile
1430
1431 announce IPW2200 - "Intel PRO/Wireless 2200BG and 2915ABG Network Connection"
1432 reject_firmware drivers/net/wireless/ipw2x00/ipw2200.c
1433 clean_blob drivers/net/wireless/ipw2x00/ipw2200.c
1434 clean_kconfig drivers/net/wireless/Kconfig 'IPW2200'
1435 clean_mk CONFIG_IPW2200 drivers/net/wireless/ipw2x00/Makefile
1436
1437 announce IWL3945 - "Intel PRO/Wireless 3945ABG/BG Network Connection"
1438 reject_firmware drivers/net/wireless/iwlegacy/iwl3945-base.c
1439 clean_blob drivers/net/wireless/iwlegacy/iwl3945-base.c
1440 clean_blob drivers/net/wireless/iwlegacy/iwl-3945.h
1441 clean_kconfig drivers/net/wireless/iwlegacy/Kconfig 'IWL3945'
1442 clean_mk CONFIG_IWL3945 drivers/net/wireless/iwlegacy/Makefile
1443
1444 announce IWLAGN - "Intel Wireless WiFi Next Gen AGN"
1445 reject_firmware drivers/net/wireless/iwlwifi/iwl-agn.c
1446 clean_blob drivers/net/wireless/iwlwifi/iwl-agn.c
1447 clean_blob drivers/net/wireless/iwlwifi/iwl-5000.c
1448 clean_blob drivers/net/wireless/iwlwifi/iwl-6000.c
1449 clean_blob drivers/net/wireless/iwlwifi/iwl-1000.c
1450 clean_blob drivers/net/wireless/iwlwifi/iwl-2000.c
1451 clean_kconfig drivers/net/wireless/iwlwifi/Kconfig 'IWLAGN'
1452 clean_mk CONFIG_IWLAGN drivers/net/wireless/iwlwifi/Makefile
1453
1454 announce IWL4965 - "Intel Wireless WiFi 4965AGN"
1455 reject_firmware drivers/net/wireless/iwlegacy/iwl4965-base.c
1456 clean_blob drivers/net/wireless/iwlegacy/iwl4965-base.c
1457 clean_blob drivers/net/wireless/iwlegacy/iwl-4965.c
1458 clean_kconfig drivers/net/wireless/iwlegacy/Kconfig 'IWL4965'
1459 clean_mk CONFIG_IWL4965 drivers/net/wireless/iwlegacy/Makefile
1460
1461 announce IWM - "Intel Wireless Multicomm 3200 WiFi driver"
1462 reject_firmware drivers/net/wireless/iwmc3200wifi/fw.c
1463 clean_blob drivers/net/wireless/iwmc3200wifi/sdio.c
1464 clean_kconfig drivers/net/wireless/iwmc3200wifi/Kconfig 'IWM'
1465 clean_mk CONFIG_IWM drivers/net/wireless/iwmc3200wifi/Makefile
1466
1467 announce IWMC3200TOP - "Intel Wireless MultiCom Top Driver"
1468 reject_firmware drivers/misc/iwmc3200top/fw-download.c
1469 undefine_macro '_FW_NAME(api)' '"/*(DEBLOBBED)*/"' \
1470   'removed non-Free firmware name' drivers/misc/iwmc3200top/iwmc3200top.h
1471 clean_blob drivers/misc/iwmc3200top/main.c
1472 clean_kconfig drivers/misc/iwmc3200top/Kconfig 'IWMC3200TOP'
1473 clean_mk CONFIG_IWMC3200TOP drivers/misc/iwmc3200top/Makefile
1474
1475 announce LIBERTAS - "Marvell 8xxx Libertas WLAN driver support"
1476 reject_firmware drivers/net/wireless/libertas/main.c '
1477 /Try user-specified firmware first/{
1478   :end1
1479   /request_firmware(helper, user_helper/! {N; b end1;};
1480   :end2
1481   /request_firmware(helper, user_helper.*request_firmware(mainfw, user_mainfw/! {N; b end2;};
1482   /request_firmware(helper, user_helper.*request_firmware(mainfw, user_mainfw/{
1483     /request_firmware.*request_firmware.*request_firmware/!{p; d;};
1484   }
1485 }
1486 '
1487 clean_kconfig drivers/net/wireless/Kconfig 'LIBERTAS'
1488 clean_mk CONFIG_LIBERTAS drivers/net/wireless/libertas/Makefile
1489
1490 announce LIBERTAS_CS - "Marvell Libertas 8385 CompactFlash 802.11b/g cards"
1491 clean_blob drivers/net/wireless/libertas/if_cs.c
1492 clean_kconfig drivers/net/wireless/Kconfig 'LIBERTAS_CS'
1493 clean_mk CONFIG_LIBERTAS_CS drivers/net/wireless/libertas/Makefile
1494
1495 announce LIBERTAS_SDIO - "Marvell Libertas 8385 and 8686 SDIO 802.11b/g cards"
1496 clean_blob drivers/net/wireless/libertas/if_sdio.c
1497 clean_kconfig drivers/net/wireless/Kconfig 'LIBERTAS_SDIO'
1498 clean_mk CONFIG_LIBERTAS_SDIO drivers/net/wireless/libertas/Makefile
1499
1500 announce LIBERTAS_SPI - "Marvell Libertas 8686 SPI 802.11b/g cards"
1501 clean_blob drivers/net/wireless/libertas/if_spi.c
1502 clean_kconfig drivers/net/wireless/Kconfig 'LIBERTAS_SPI'
1503 clean_mk CONFIG_LIBERTAS_SPI drivers/net/wireless/libertas/Makefile
1504
1505 announce LIBERTAS_USB - "Marvell Libertas 8388 USB 802.11b/g cards"
1506 reject_firmware drivers/net/wireless/libertas/if_usb.c '
1507 /Try user-specified firmware first/{
1508   /request_firmware/!N;
1509   /request_firmware/!N;
1510   /request_firmware/{p; d;};
1511 }
1512 '
1513 clean_blob drivers/net/wireless/libertas/if_usb.c
1514 clean_blob drivers/net/wireless/libertas/README
1515 clean_kconfig drivers/net/wireless/Kconfig 'LIBERTAS_USB'
1516 clean_mk CONFIG_LIBERTAS_USB drivers/net/wireless/libertas/Makefile
1517
1518 announce LIBERTAS_THINFIRM_USB - "Marvell Libertas 8388 USB 802.11b/g cards with thin firmware"
1519 reject_firmware drivers/net/wireless/libertas_tf/if_usb.c
1520 clean_blob drivers/net/wireless/libertas_tf/if_usb.c
1521 clean_kconfig drivers/net/wireless/Kconfig 'LIBERTAS_THINFIRM_USB'
1522 clean_mk CONFIG_LIBERTAS_THINFIRM_USB drivers/net/wireless/libertas_tf/Makefile
1523
1524 announce MWIFIEX_SDIO - "Marvell WiFi-Ex Driver"
1525 clean_blob drivers/net/wireless/mwifiex/README
1526 reject_firmware drivers/net/wireless/mwifiex/main.c
1527 clean_blob drivers/net/wireless/mwifiex/main.h
1528 clean_blob drivers/net/wireless/mwifiex/sdio.c
1529 clean_kconfig drivers/net/wireless/mwifiex/Kconfig 'MWIFIEX_SDIO'
1530 clean_mk CONFIG_MWIFIEX_SDIO drivers/net/wireless/mwifiex/Makefile
1531
1532 announce MWL8K - "Marvell 88W8xxx PCI/PCIe Wireless support"
1533 reject_firmware drivers/net/wireless/mwl8k.c
1534 clean_blob drivers/net/wireless/mwl8k.c
1535 clean_kconfig drivers/net/wireless/Kconfig 'MWL8K'
1536 clean_mk CONFIG_MWL8K drivers/net/wireless/Makefile
1537
1538 announce ATH6K_LEGACY - "Atheros AR6003 support (non mac80211)"
1539 reject_firmware drivers/staging/ath6kl/os/linux/include/osapi_linux.h
1540 clean_blob drivers/staging/ath6kl/os/linux/include/ar6000_drv.h
1541 clean_kconfig drivers/staging/ath6kl/Kconfig 'ATH6K_LEGACY'
1542 clean_mk CONFIG_ATH6K_LEGACY drivers/staging/ath6kl/Makefile
1543
1544 announce ATH9K_HTC - "Atheros HTC based wireless cards support"
1545 reject_firmware drivers/net/wireless/ath/ath9k/hif_usb.c
1546 clean_blob drivers/net/wireless/ath/ath9k/hif_usb.c
1547 clean_kconfig drivers/net/wireless/ath/ath9k/Kconfig 'ATH9K_HTC'
1548 clean_mk CONFIG_ATH9K_HTC drivers/net/wireless/ath/ath9k/Makefile
1549
1550 announce PRISM2_USB - "Prism2.5/3 USB driver"
1551 reject_firmware drivers/staging/wlan-ng/prism2fw.c
1552 clean_blob drivers/staging/wlan-ng/prism2fw.c
1553 clean_kconfig drivers/staging/wlan-ng/Kconfig PRISM2_USB
1554 clean_mk CONFIG_PRISM2_USB drivers/staging/wlan-ng/Makefile
1555
1556 announce P54_PCI - "Prism54 PCI support"
1557 reject_firmware drivers/net/wireless/p54/p54pci.c
1558 clean_blob drivers/net/wireless/p54/p54pci.c
1559 clean_kconfig drivers/net/wireless/p54/Kconfig 'P54_PCI'
1560 clean_mk CONFIG_P54_PCI drivers/net/wireless/p54/Makefile
1561
1562 announce P54_SPI - "Prism54 SPI (stlc45xx) support"
1563 # There's support for loading custom 3826.eeprom here, with a default
1564 # eeprom that is clearly pure data.  Without Free 3826.arm, there's
1565 # little point in trying to retain the ability to load 3826.eeprom, so
1566 # we drop it altogether.
1567 reject_firmware drivers/net/wireless/p54/p54spi.c
1568 clean_blob drivers/net/wireless/p54/p54spi.c
1569 clean_kconfig drivers/net/wireless/p54/Kconfig 'P54_SPI'
1570 clean_mk CONFIG_P54_SPI drivers/net/wireless/p54/Makefile
1571
1572 announce P54_USB - "Prism54 USB support"
1573 reject_firmware drivers/net/wireless/p54/p54usb.c
1574 clean_blob drivers/net/wireless/p54/p54usb.c
1575 clean_blob drivers/net/wireless/p54/p54usb.h
1576 clean_kconfig drivers/net/wireless/p54/Kconfig 'P54_USB'
1577 clean_mk CONFIG_P54_USB drivers/net/wireless/p54/Makefile
1578
1579 announce PRISM54 - "Intersil Prism GT/Duette/Indigo PCI/Cardbus"
1580 reject_firmware drivers/net/wireless/prism54/islpci_dev.c
1581 clean_blob drivers/net/wireless/prism54/islpci_dev.c
1582 clean_kconfig drivers/net/wireless/Kconfig 'PRISM54'
1583 clean_mk CONFIG_PRISM54 drivers/net/wireless/prism54/Makefile
1584
1585 announce RT2X00_LIB_FIRMWARE - "Ralink driver firmware support"
1586 reject_firmware drivers/net/wireless/rt2x00/rt2x00firmware.c
1587 clean_kconfig drivers/net/wireless/rt2x00/Kconfig 'RT2X00_LIB_FIRMWARE'
1588 clean_mk CONFIG_RT2X00_LIB_FIRMWARE drivers/net/wireless/rt2x00/Makefile
1589
1590 announce RT61PCI - "Ralink rt2501/rt61 (PCI/PCMCIA) support"
1591 clean_blob drivers/net/wireless/rt2x00/rt61pci.h
1592 clean_blob drivers/net/wireless/rt2x00/rt61pci.c
1593 clean_kconfig drivers/net/wireless/rt2x00/Kconfig 'RT61PCI'
1594 clean_mk CONFIG_RT61PCI drivers/net/wireless/rt2x00/Makefile
1595
1596 announce RT73USB - "Ralink rt2501/rt73 (USB) support"
1597 clean_blob drivers/net/wireless/rt2x00/rt73usb.h
1598 clean_blob drivers/net/wireless/rt2x00/rt73usb.c
1599 clean_kconfig drivers/net/wireless/rt2x00/Kconfig 'RT73USB'
1600 clean_mk CONFIG_RT73USB drivers/net/wireless/rt2x00/Makefile
1601
1602 announce RT2800PCI - "Ralink rt2800 (PCI/PCMCIA) support"
1603 clean_blob drivers/net/wireless/rt2x00/rt2800pci.h
1604 clean_blob drivers/net/wireless/rt2x00/rt2800pci.c
1605 clean_kconfig drivers/net/wireless/rt2x00/Kconfig RT2800PCI
1606 clean_mk CONFIG_RT2800PCI drivers/net/wireless/rt2x00/Makefile
1607
1608 announce RT2800USB - "Ralink rt2800 (USB) support"
1609 clean_blob drivers/net/wireless/rt2x00/rt2800usb.h
1610 clean_blob drivers/net/wireless/rt2x00/rt2800usb.c
1611 clean_kconfig drivers/net/wireless/rt2x00/Kconfig RT2800USB
1612 clean_mk CONFIG_RT2800USB drivers/net/wireless/rt2x00/Makefile
1613
1614 announce RTL8192CE - "Realtek RTL8192CE/RTL8188CE Wireless Network Adapter"
1615 reject_firmware drivers/net/wireless/rtlwifi/rtl8192ce/sw.c
1616 clean_blob drivers/net/wireless/rtlwifi/rtl8192ce/sw.c
1617 clean_kconfig drivers/net/wireless/rtlwifi/Kconfig RTL8192CE
1618 clean_mk CONFIG_RTL8192CE drivers/net/wireless/rtlwifi/rtl8192ce/Makefile
1619
1620 announce RTL8192CU - "Realtek RTL8192CU/RTL8188CU USB Wireless Network Adapter"
1621 reject_firmware drivers/net/wireless/rtlwifi/rtl8192cu/sw.c
1622 clean_blob drivers/net/wireless/rtlwifi/rtl8192cu/sw.c
1623 clean_kconfig drivers/net/wireless/rtlwifi/Kconfig RTL8192CU
1624 clean_mk CONFIG_RTL8192CU drivers/net/wireless/rtlwifi/rtl8192cu/Makefile
1625
1626 announce RTL8192SE - "Realtek RTL8192SE/RTL8191SE PCIe Wireless Network Adapter"
1627 reject_firmware drivers/net/wireless/rtlwifi/rtl8192se/sw.c
1628 clean_blob drivers/net/wireless/rtlwifi/rtl8192se/sw.c
1629 clean_kconfig drivers/net/wireless/rtlwifi/Kconfig RTL8192SE
1630 clean_mk CONFIG_RTL8192SE drivers/net/wireless/rtlwifi/rtl8192se/Makefile
1631
1632 announce RTL8192E - "RealTek RTL8192E Wireless LAN NIC driver"
1633 reject_firmware drivers/staging/rtl8192e/r819xE_firmware.c
1634 clean_blob drivers/staging/rtl8192e/r819xE_firmware.c
1635 clean_kconfig drivers/staging/rtl8192e/Kconfig RTL8192E
1636 clean_mk CONFIG_RTL8192E drivers/staging/rtl8192e/Makefile
1637
1638 announce RTL8192U - "RealTek RTL8192U Wireless LAN NIC driver"
1639 reject_firmware drivers/staging/rtl8192u/r819xU_firmware.c
1640 clean_blob drivers/staging/rtl8192u/r819xU_firmware.c
1641 clean_kconfig drivers/staging/rtl8192u/Kconfig 'RTL8192U'
1642 clean_mk CONFIG_RTL8192U drivers/staging/rtl8192u/Makefile
1643
1644 announce R8712U - "RealTek RTL8712U (RTL8192SU) Wireless LAN NIC driver"
1645 reject_firmware drivers/staging/rtl8712/hal_init.c
1646 clean_blob drivers/staging/rtl8712/hal_init.c
1647 clean_kconfig drivers/staging/rtl8712/Kconfig 'R8712U'
1648 clean_mk CONFIG_R8712U drivers/staging/rtl8712/Makefile
1649
1650 announce VT6656 - "VIA Technologies VT6656 support"
1651 reject_firmware drivers/staging/vt6656/firmware.c
1652 clean_blob drivers/staging/vt6656/firmware.c
1653 clean_kconfig drivers/staging/vt6656/Kconfig 'VT6656'
1654 clean_mk CONFIG_VT6656 drivers/staging/vt6656/Makefile
1655
1656 announce WL1251 - "TI wl1251 support"
1657 reject_firmware drivers/net/wireless/wl1251/main.c
1658 clean_blob drivers/net/wireless/wl1251/main.c
1659 clean_blob drivers/net/wireless/wl1251/wl1251.h
1660 clean_kconfig drivers/net/wireless/wl1251/Kconfig 'WL1251'
1661 clean_mk CONFIG_WL1251 drivers/net/wireless/wl1251/Makefile
1662
1663 announce WL12XX - "TI wl12xx support"
1664 reject_firmware drivers/net/wireless/wl12xx/main.c
1665 clean_blob drivers/net/wireless/wl12xx/wl12xx.h
1666 clean_kconfig drivers/net/wireless/wl12xx/Kconfig 'WL12XX'
1667 clean_mk CONFIG_WL12XX drivers/net/wireless/wl12xx/Makefile
1668
1669 announce WL12XX_SDIO - "TI wl12xx SDIO support"
1670 clean_blob drivers/net/wireless/wl12xx/sdio.c
1671 clean_kconfig drivers/net/wireless/wl12xx/Kconfig 'WL12XX_SDIO'
1672 clean_mk CONFIG_WL12XX_SDIO drivers/net/wireless/wl12xx/Makefile
1673
1674 announce WL12XX_SDIO_TEST - "TI wl12xx SDIO testing support"
1675 reject_firmware drivers/net/wireless/wl12xx/sdio_test.c
1676 clean_kconfig drivers/net/wireless/wl12xx/Kconfig 'WL12XX_SDIO_TEST'
1677 clean_mk CONFIG_WL12XX_SDIO_TEST drivers/net/wireless/wl12xx/Makefile
1678
1679 announce WL12XX_SPI - "TI wl12xx SPI support"
1680 clean_blob drivers/net/wireless/wl12xx/spi.c
1681 clean_kconfig drivers/net/wireless/wl12xx/Kconfig 'WL12XX_SPI'
1682 clean_mk CONFIG_WL12XX_SPI drivers/net/wireless/wl12xx/Makefile
1683
1684 announce USB_ZD1201 - "USB ZD1201 based Wireless device support"
1685 reject_firmware drivers/net/wireless/zd1201.c
1686 clean_blob drivers/net/wireless/zd1201.c
1687 clean_kconfig drivers/net/wireless/Kconfig 'USB_ZD1201'
1688 clean_mk CONFIG_USB_ZD1201 drivers/net/wireless/Makefile
1689
1690 announce ZD1211RW - "ZyDAS ZD1211/ZD1211B USB-wireless support"
1691 reject_firmware drivers/net/wireless/zd1211rw/zd_usb.c
1692 clean_blob drivers/net/wireless/zd1211rw/zd_usb.c
1693 clean_kconfig drivers/net/wireless/zd1211rw/Kconfig 'ZD1211RW'
1694 clean_mk CONFIG_ZD1211RW drivers/net/wireless/zd1211rw/Makefile
1695
1696 # bluetooth
1697
1698 announce BT_ATH3K - "Atheros firmware download driver"
1699 reject_firmware drivers/bluetooth/ath3k.c
1700 clean_blob drivers/bluetooth/ath3k.c
1701 clean_kconfig drivers/bluetooth/Kconfig 'BT_ATH3K'
1702 clean_mk CONFIG_BT_ATH3K drivers/bluetooth/Makefile
1703
1704 announce BT_HCIBCM203X - "HCI BCM203x USB driver"
1705 reject_firmware drivers/bluetooth/bcm203x.c
1706 clean_blob drivers/bluetooth/bcm203x.c
1707 clean_kconfig drivers/bluetooth/Kconfig 'BT_HCIBCM203X'
1708 clean_mk CONFIG_BT_HCIBCM203X drivers/bluetooth/Makefile
1709
1710 announce BT_HCIBFUSB - "HCI BlueFRITZ! USB driver"
1711 reject_firmware drivers/bluetooth/bfusb.c
1712 clean_blob drivers/bluetooth/bfusb.c
1713 clean_kconfig drivers/bluetooth/Kconfig 'BT_HCIBFUSB'
1714 clean_mk CONFIG_BT_HCIBFUSB drivers/bluetooth/Makefile
1715
1716 announce BT_HCIBT3C - "HCI BT3C (PC Card) driver"
1717 reject_firmware drivers/bluetooth/bt3c_cs.c
1718 clean_blob drivers/bluetooth/bt3c_cs.c
1719 clean_kconfig drivers/bluetooth/Kconfig 'BT_HCIBT3C'
1720 clean_mk CONFIG_BT_HCIBT3C drivers/bluetooth/Makefile
1721
1722 announce BT_MRVL_SDIO - "Marvell BT-over-SDIO driver"
1723 reject_firmware drivers/bluetooth/btmrvl_sdio.c
1724 clean_blob drivers/bluetooth/btmrvl_sdio.c
1725 clean_blob Documentation/btmrvl.txt
1726 clean_kconfig drivers/bluetooth/Kconfig 'BT_MRVL_SDIO'
1727 clean_mk CONFIG_BT_MRVL_SDIO drivers/bluetooth/Makefile
1728
1729 announce TI_ST - "Texas Instruments shared transport line discipline"
1730 reject_firmware drivers/misc/ti-st/st_kim.c
1731 clean_blob drivers/misc/ti-st/st_kim.c
1732 clean_kconfig drivers/misc/ti-st/Kconfig 'TI_ST'
1733 clean_mk CONFIG_TI_ST drivers/misc/ti-st/Makefile
1734
1735 # wimax
1736
1737 announce WIMAX_I2400M - "Intel Wireless WiMAX Connection 2400"
1738 reject_firmware drivers/net/wimax/i2400m/fw.c
1739 clean_blob drivers/net/wimax/i2400m/sdio.c
1740 clean_blob drivers/net/wimax/i2400m/usb.c
1741 clean_blob Documentation/wimax/README.i2400m
1742 clean_kconfig drivers/net/wimax/i2400m/Kconfig 'WIMAX_I2400M'
1743 clean_mk CONFIG_WIMAX_I2400M drivers/net/wimax/i2400m/Makefile
1744
1745 announce BCM_WIMAX - "Beceem BCS200/BCS220-3 and BCSM250 wimax support"
1746 clean_blob drivers/staging/bcm/Macros.h
1747 # This disables loading of the .cfg file as well, but it's useless without
1748 # the firmware proper.
1749 clean_sed '
1750 /^static \(inline \)\?struct file \*open_firmware_file/,/^}$/ {
1751   /oldfs=get_fs();/i\
1752     return /*(DEBLOBBED)*/ NULL;
1753 }' drivers/staging/bcm/Misc.c 'disabled non-Free firmware loading machinery'
1754 clean_kconfig drivers/staging/bcm/Kconfig 'BCM_WIMAX'
1755 clean_mk CONFIG_BCM_WIMAX drivers/staging/bcm/Makefile
1756
1757 # infiniband
1758
1759 announce INFINIBAND_QIB - "QLogic PCIe HCA support"
1760 drop_fw_file firmware/qlogic/sd7220.fw.ihex firmware/qlogic/sd7220.fw
1761 reject_firmware drivers/infiniband/hw/qib/qib_sd7220.c
1762 clean_blob drivers/infiniband/hw/qib/qib_sd7220.c
1763 clean_kconfig drivers/infiniband/hw/qib/Kconfig 'INFINIBAND_QIB'
1764 clean_mk CONFIG_INFINIBAND_QIB drivers/infiniband/hw/qib/Makefile
1765
1766 # CAN
1767
1768 announce CAN_SOFTING - "Softing Gmbh CAN generic support"
1769 reject_firmware drivers/net/can/softing/softing_fw.c
1770 clean_kconfig drivers/net/can/softing/Kconfig 'CAN_SOFTING'
1771 clean_mk CONFIG_CAN_SOFTING drivers/net/can/softing/Makefile
1772
1773 announce CAN_SOFTING_CS - "Softing Gmbh CAN pcmcia cards"
1774 clean_blob drivers/net/can/softing/softing_cs.c
1775 clean_blob drivers/net/can/softing/softing_platform.h
1776 clean_sed '
1777 /^config CAN_SOFTING_CS$/,${
1778   /You need firmware/i\
1779           /*(DEBLOBBED)*/
1780   /You need firmware/,/softing-fw.*tar\.gz/d
1781 }' drivers/net/can/softing/Kconfig 'removed firmware notes'
1782 clean_kconfig drivers/net/can/softing/Kconfig 'CAN_SOFTING_CS'
1783 clean_mk CONFIG_CAN_SOFTING_CS drivers/net/can/softing/Makefile
1784
1785 ########
1786 # ISDN #
1787 ########
1788
1789 announce ISDN_DIVAS - "Support Eicon DIVA Server cards"
1790 clean_blob drivers/isdn/hardware/eicon/cardtype.h
1791 clean_blob drivers/isdn/hardware/eicon/dsp_defs.h
1792 clean_kconfig drivers/isdn/hardware/eicon/Kconfig 'ISDN_DIVAS'
1793 clean_mk CONFIG_ISDN_DIVAS drivers/isdn/hardware/eicon/Makefile
1794
1795 announce MISDN_SPEEDFAX - "Support for Sedlbauer Speedfax+"
1796 reject_firmware drivers/isdn/hardware/mISDN/speedfax.c
1797 clean_blob drivers/isdn/hardware/mISDN/speedfax.c
1798 clean_kconfig drivers/isdn/hardware/mISDN/Kconfig 'MISDN_SPEEDFAX'
1799 clean_mk CONFIG_MISDN_SPEEDFAX drivers/isdn/hardware/mISDN/Makefile
1800
1801 ##########
1802 # Serial #
1803 ##########
1804
1805 announce SERIAL_8250_CS - "8250/16550 PCMCIA device support"
1806 # These are not software; they're Free, but GPLed without in-tree sources.
1807 drop_fw_file firmware/cis/MT5634ZLX.cis.ihex firmware/cis/MT5634ZLX.cis
1808 drop_fw_file firmware/cis/RS-COM-2P.cis.ihex firmware/cis/RS-COM-2P.cis
1809 drop_fw_file firmware/cis/COMpad2.cis.ihex firmware/cis/COMpad2.cis
1810 drop_fw_file firmware/cis/COMpad4.cis.ihex firmware/cis/COMpad4.cis
1811 # These are not software; they're Free, but GPLed without textual sources.
1812 # It could be assumed that these binaries *are* sources, since they
1813 # can be trivially converted back to a textual form, without loss,
1814 # but we're better off safe than sorry, so remove them from our tree.
1815 drop_fw_file firmware/cis/SW_555_SER.cis.ihex firmware/cis/SW_555_SER.cis
1816 drop_fw_file firmware/cis/SW_7xx_SER.cis.ihex firmware/cis/SW_7xx_SER.cis
1817 drop_fw_file firmware/cis/SW_8xx_SER.cis.ihex firmware/cis/SW_8xx_SER.cis
1818 # clean_blob drivers/tty/serial/serial_cs.c
1819 # clean_kconfig drivers/tty/serial/Kconfig 'SERIAL_8250_CS'
1820 # clean_mk CONFIG_SERIAL_8250_CS drivers/tty/serial/Makefile
1821
1822 announce SERIAL_ICOM - "IBM Multiport Serial Adapter"
1823 reject_firmware drivers/tty/serial/icom.c
1824 clean_blob drivers/tty/serial/icom.c
1825 clean_kconfig drivers/tty/serial/Kconfig 'SERIAL_ICOM'
1826 clean_mk CONFIG_SERIAL_ICOM drivers/tty/serial/Makefile
1827
1828 announce SERIAL_QE - "Freescale QUICC Engine serial port support"
1829 reject_firmware drivers/tty/serial/ucc_uart.c
1830 clean_blob drivers/tty/serial/ucc_uart.c
1831 clean_kconfig drivers/tty/serial/Kconfig 'SERIAL_QE'
1832 clean_mk CONFIG_SERIAL_QE drivers/tty/serial/Makefile
1833
1834 #########
1835 # input #
1836 #########
1837
1838 announce TOUCHSCREEN_ATMEL_MXT - "Atmel mXT I2C Touchscreen"
1839 reject_firmware drivers/input/touchscreen/atmel_mxt_ts.c
1840 clean_blob drivers/input/touchscreen/atmel_mxt_ts.c
1841 clean_kconfig drivers/input/touchscreen/Kconfig 'TOUCHSCREEN_ATMEL_MXT'
1842 clean_mk CONFIG_TOUCHSCREEN_ATMEL_MXT drivers/input/touchscreen/Makefile
1843
1844 announce LIRC_ZILOG - "Zilog/Hauppauge IR Transmitter"
1845 reject_firmware drivers/staging/lirc/lirc_zilog.c
1846 clean_blob drivers/staging/lirc/lirc_zilog.c
1847 clean_kconfig drivers/staging/lirc/Kconfig 'LIRC_ZILOG'
1848 clean_mk CONFIG_LIRC_ZILOG drivers/staging/lirc/Makefile
1849
1850 ####################
1851 # Data acquisition #
1852 ####################
1853
1854 announce COMEDI_PCI_DRIVERS - "Data acquisition support Comedi PCI drivers"
1855 reject_firmware drivers/staging/comedi/drivers/jr3_pci.c
1856 clean_blob drivers/staging/comedi/drivers/jr3_pci.c
1857 clean_kconfig drivers/staging/comedi/Kconfig 'COMEDI_PCI_DRIVERS'
1858 clean_mk CONFIG_COMEDI_PCI_DRIVERS drivers/staging/comedi/drivers/Makefile
1859
1860 announce COMEDI_USBDUX - "ITL USBDUX support"
1861 reject_firmware drivers/staging/comedi/drivers/usbdux.c
1862 clean_blob drivers/staging/comedi/drivers/usbdux.c
1863 clean_kconfig drivers/staging/comedi/Kconfig 'COMEDI_USBDUX'
1864 clean_mk CONFIG_COMEDI_USBDUX drivers/staging/comedi/drivers/Makefile
1865
1866 announce COMEDI_USBDUXFAST - "ITL USB-DUXfast support"
1867 reject_firmware drivers/staging/comedi/drivers/usbduxfast.c
1868 clean_blob drivers/staging/comedi/drivers/usbduxfast.c
1869 clean_kconfig drivers/staging/comedi/Kconfig 'COMEDI_USBDUXFAST'
1870 clean_mk CONFIG_COMEDI_USBDUXFAST drivers/staging/comedi/drivers/Makefile
1871
1872
1873 #######
1874 # MMC #
1875 #######
1876
1877 announce MMC_VUB300 - "VUB300 USB to SDIO/SD/MMC Host Controller support"
1878 clean_sed '
1879 /^config MMC_VUB300/,/^config /{
1880   /Some SDIO cards/i\
1881           /*(DEBLOBBED)*/
1882   /Some SDIO cards/,/obtainable data rate\.$/d
1883 }
1884 ' drivers/mmc/host/Kconfig "removed firmware notes"
1885 reject_firmware drivers/mmc/host/vub300.c
1886 clean_blob drivers/mmc/host/vub300.c
1887 clean_kconfig drivers/mmc/host/Kconfig 'MMC_VUB300'
1888 clean_mk CONFIG_MMC_VUB300 drivers/mmc/host/Makefile
1889
1890 ########
1891 # SCSI #
1892 ########
1893
1894 announce SCSI_QLOGICPTI - "PTI Qlogic, ISP Driver"
1895 drop_fw_file firmware/qlogic/isp1000.bin.ihex firmware/qlogic/isp1000.bin
1896 reject_firmware drivers/scsi/qlogicpti.c
1897 clean_blob drivers/scsi/qlogicpti.c
1898 clean_kconfig drivers/scsi/Kconfig 'SCSI_QLOGICPTI'
1899 clean_mk CONFIG_SCSI_QLOGICPTI drivers/scsi/Makefile
1900
1901 announce SCSI_ADVANSYS - "AdvanSys SCSI"
1902 drop_fw_file firmware/advansys/mcode.bin.ihex firmware/advansys/mcode.bin
1903 drop_fw_file firmware/advansys/3550.bin.ihex firmware/advansys/3550.bin
1904 drop_fw_file firmware/advansys/38C0800.bin.ihex firmware/advansys/38C0800.bin
1905 drop_fw_file firmware/advansys/38C1600.bin.ihex firmware/advansys/38C1600.bin
1906 reject_firmware drivers/scsi/advansys.c
1907 clean_blob drivers/scsi/advansys.c
1908 clean_kconfig drivers/scsi/Kconfig 'SCSI_ADVANSYS'
1909 clean_mk CONFIG_SCSI_ADVANSYS drivers/scsi/Makefile
1910
1911 announce SCSI_QLOGIC_1280 - "Qlogic QLA 1240/1x80/1x160 SCSI"
1912 drop_fw_file firmware/qlogic/1040.bin.ihex firmware/qlogic/1040.bin
1913 drop_fw_file firmware/qlogic/1280.bin.ihex firmware/qlogic/1280.bin
1914 drop_fw_file firmware/qlogic/12160.bin.ihex firmware/qlogic/12160.bin
1915 reject_firmware drivers/scsi/qla1280.c
1916 clean_blob drivers/scsi/qla1280.c
1917 clean_kconfig drivers/scsi/Kconfig 'SCSI_QLOGIC_1280'
1918 clean_mk CONFIG_SCSI_QLOGIC_1280 drivers/scsi/Makefile
1919
1920 announce SCSI_AIC94XX - "Adaptec AIC94xx SAS/SATA support"
1921 reject_firmware drivers/scsi/aic94xx/aic94xx_seq.c
1922 clean_blob drivers/scsi/aic94xx/aic94xx_seq.c
1923 clean_blob drivers/scsi/aic94xx/aic94xx_seq.h
1924 clean_kconfig drivers/scsi/aic94xx/Kconfig 'SCSI_AIC94XX'
1925 clean_mk CONFIG_SCSI_AIC94XX drivers/scsi/aic94xx/Makefile
1926
1927 announce SCSI_BFA_FC - "Brocade BFA Fibre Channel Support"
1928 reject_firmware drivers/scsi/bfa/bfad.c
1929 clean_blob drivers/scsi/bfa/bfad.c
1930 clean_kconfig drivers/scsi/Kconfig 'SCSI_BFA_FC'
1931 clean_mk CONFIG_SCSI_BFA_FC drivers/scsi/bfa/Makefile
1932
1933 announce SCSI_LPFC - "Emulex LightPulse Fibre Channel Support"
1934 # The firmware name is built out of Vital Product Data read from the
1935 # adapter.  The firmware is definitely code, and I couldn't find
1936 # evidence it is Free, so I'm disabling it.  It's not clear whether
1937 # this is the hardware or the software inducing to the installation of
1938 # non-Free firmware.
1939 reject_firmware drivers/scsi/lpfc/lpfc_init.c
1940 clean_kconfig drivers/scsi/Kconfig 'SCSI_LPFC'
1941 clean_mk CONFIG_SCSI_LPFC drivers/scsi/lpfc/Makefile
1942
1943 announce SCSI_QLA_FC - "QLogic QLA2XXX Fibre Channel Support"
1944 reject_firmware drivers/scsi/qla2xxx/qla_gbl.h
1945 reject_firmware drivers/scsi/qla2xxx/qla_init.c
1946 reject_firmware drivers/scsi/qla2xxx/qla_os.c
1947 reject_firmware drivers/scsi/qla2xxx/qla_nx.c
1948 clean_sed '
1949 /^config SCSI_QLA_FC$/,/^config /{
1950   /^    By default, firmware/i\
1951         /*(DEBLOBBED)*/
1952   /^    By default, firmware/,/ftp:[/][/].*firmware[/]/d
1953 }' drivers/scsi/qla2xxx/Kconfig 'removed firmware notes'
1954 clean_blob drivers/scsi/qla2xxx/qla_os.c
1955 clean_kconfig drivers/scsi/qla2xxx/Kconfig 'SCSI_QLA_FC'
1956 clean_mk CONFIG_SCSI_QLA_FC drivers/scsi/qla2xxx/Makefile
1957
1958
1959 #######
1960 # USB #
1961 #######
1962
1963 # atm
1964
1965 announce USB_CXACRU - "Conexant AccessRunner USB support"
1966 reject_firmware drivers/usb/atm/cxacru.c
1967 clean_blob drivers/usb/atm/cxacru.c
1968 clean_kconfig drivers/usb/atm/Kconfig 'USB_CXACRU'
1969 clean_mk CONFIG_USB_CXACRU drivers/usb/atm/Makefile
1970
1971 announce USB_SPEEDTOUCH - "Speedtouch USB support"
1972 reject_firmware drivers/usb/atm/speedtch.c
1973 clean_blob drivers/usb/atm/speedtch.c
1974 clean_kconfig drivers/usb/atm/Kconfig 'USB_SPEEDTOUCH'
1975 clean_mk CONFIG_USB_SPEEDTOUCH drivers/usb/atm/Makefile
1976
1977 announce USB_UEAGLEATM - "ADI 930 and eagle USB DSL modem"
1978 reject_firmware drivers/usb/atm/ueagle-atm.c
1979 clean_blob drivers/usb/atm/ueagle-atm.c
1980 clean_kconfig drivers/usb/atm/Kconfig 'USB_UEAGLEATM'
1981 clean_mk CONFIG_USB_UEAGLEATM drivers/usb/atm/Makefile
1982
1983 # misc
1984
1985 announce USB_EMI26 - "EMI 2|6 USB Audio interface"
1986 # These files are not under the GPL, better remove them all.
1987 drop_fw_file firmware/emi26/bitstream.HEX firmware/emi26/bitstream.fw
1988 drop_fw_file firmware/emi26/firmware.HEX firmware/emi26/firmware.fw
1989 drop_fw_file firmware/emi26/loader.HEX firmware/emi26/loader.fw
1990 reject_firmware drivers/usb/misc/emi26.c
1991 clean_blob drivers/usb/misc/emi26.c
1992 clean_kconfig drivers/usb/misc/Kconfig 'USB_EMI26'
1993 clean_mk CONFIG_USB_EMI26 drivers/usb/misc/Makefile
1994
1995 announce USB_EMI62 - "EMI 6|2m USB Audio interface"
1996 # These files are probably not under the GPL, better remove them all.
1997 drop_fw_file firmware/emi62/bitstream.HEX firmware/emi62/bitstream.fw
1998 drop_fw_file firmware/emi62/loader.HEX firmware/emi62/loader.fw
1999 drop_fw_file firmware/emi62/midi.HEX firmware/emi62/midi.fw
2000 drop_fw_file firmware/emi62/spdif.HEX firmware/emi62/spdif.fw
2001 reject_firmware drivers/usb/misc/emi62.c
2002 clean_blob drivers/usb/misc/emi62.c
2003 clean_kconfig drivers/usb/misc/Kconfig 'USB_EMI62'
2004 clean_mk CONFIG_USB_EMI62 drivers/usb/misc/Makefile
2005
2006 announce USB_ISIGHTFW - "iSight firmware loading support"
2007 reject_firmware drivers/usb/misc/isight_firmware.c
2008 clean_blob drivers/usb/misc/isight_firmware.c
2009 clean_kconfig drivers/usb/misc/Kconfig 'USB_ISIGHTFW'
2010 clean_mk CONFIG_USB_ISIGHTFW drivers/usb/misc/Makefile
2011
2012 # storage
2013
2014 announce USB_STORAGE_ENE_UB6250 - "USB ENE card reader support"
2015 reject_firmware drivers/usb/storage/ene_ub6250.c
2016 clean_blob drivers/usb/storage/ene_ub6250.c
2017 clean_kconfig drivers/usb/storage/Kconfig 'USB_STORAGE_ENE_UB6250'
2018 clean_mk 'CONFIG_USB_STORAGE_ENE_UB6250' drivers/usb/storage/Makefile
2019
2020 announce USB_ENESTORAGE - "USB ENE card reader support"
2021 clean_blob drivers/staging/keucr/init.h
2022 clean_sed '
2023 /^int ENE_LoadBinCode(/,/^}$/ {
2024   /kmalloc/i\
2025         return /*(DEBLOBBED)*/ USB_STOR_TRANSPORT_ERROR;
2026 }
2027 ' drivers/staging/keucr/init.c 'disable non-Free firmware loading machinery'
2028 clean_kconfig drivers/staging/keucr/Kconfig 'USB_ENESTORAGE'
2029 clean_mk 'CONFIG_USB_ENESTORAGE' drivers/staging/keucr/Makefile
2030
2031 # serial
2032
2033 announce USB_SERIAL_KEYSPAN - "USB Keyspan USA-xxx Serial Driver"
2034 drop_fw_file firmware/keyspan/mpr.HEX firmware/keyspan/mpr.fw
2035 clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_KEYSPAN_MPR'
2036 drop_fw_file firmware/keyspan/usa18x.HEX firmware/keyspan/usa18x.fw
2037 clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_KEYSPAN_USA18X'
2038 drop_fw_file firmware/keyspan/usa19.HEX firmware/keyspan/usa19.fw
2039 clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_KEYSPAN_USA19'
2040 drop_fw_file firmware/keyspan/usa19qi.HEX firmware/keyspan/usa19qi.fw
2041 clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_KEYSPAN_USA19QI'
2042 drop_fw_file firmware/keyspan/usa19qw.HEX firmware/keyspan/usa19qw.fw
2043 clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_KEYSPAN_USA19QW'
2044 drop_fw_file firmware/keyspan/usa19w.HEX firmware/keyspan/usa19w.fw
2045 clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_KEYSPAN_USA19W'
2046 drop_fw_file firmware/keyspan/usa28.HEX firmware/keyspan/usa28.fw
2047 clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_KEYSPAN_USA28'
2048 drop_fw_file firmware/keyspan/usa28xa.HEX firmware/keyspan/usa28xa.fw
2049 clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_KEYSPAN_USA28XA'
2050 drop_fw_file firmware/keyspan/usa28xb.HEX firmware/keyspan/usa28xb.fw
2051 clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_KEYSPAN_USA28XB'
2052 drop_fw_file firmware/keyspan/usa28x.HEX firmware/keyspan/usa28x.fw
2053 clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_KEYSPAN_USA28X'
2054 drop_fw_file firmware/keyspan/usa49w.HEX firmware/keyspan/usa49w.fw
2055 clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_KEYSPAN_USA49W'
2056 drop_fw_file firmware/keyspan/usa49wlc.HEX firmware/keyspan/usa49wlc.fw
2057 clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_KEYSPAN_USA49WLC'
2058 reject_firmware drivers/usb/serial/keyspan.c
2059 clean_blob drivers/usb/serial/keyspan.c
2060 clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_KEYSPAN'
2061 clean_mk CONFIG_USB_SERIAL_KEYSPAN drivers/usb/serial/Makefile
2062
2063 announce USB_SERIAL_KEYSPAN_PDA - "USB Keyspan PDA Single Port Serial Driver"
2064 clean_sed '
2065 s,request_ihex_firmware,/*KEYSPAN_PDA*/&,
2066 ' drivers/usb/serial/keyspan_pda.c 'accept Free firmware'
2067
2068 announce USB_SERIAL_EDGEPORT - "USB Inside Out Edgeport Serial Driver"
2069 clean_fw firmware/edgeport/boot.H16 firmware/edgeport/boot.fw
2070 clean_fw firmware/edgeport/boot2.H16 firmware/edgeport/boot2.fw
2071 clean_fw firmware/edgeport/down.H16 firmware/edgeport/down.fw
2072 clean_fw firmware/edgeport/down2.H16 firmware/edgeport/down2.fw
2073 reject_firmware drivers/usb/serial/io_edgeport.c
2074 clean_blob drivers/usb/serial/io_edgeport.c
2075 clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_EDGEPORT'
2076 clean_mk CONFIG_USB_SERIAL_EDGEPORT drivers/usb/serial/Makefile
2077
2078 announce USB_SERIAL_EDGEPORT_TI - "USB Inside Out Edgeport Serial Driver (TI devices)"
2079 clean_fw firmware/edgeport/down3.bin.ihex firmware/edgeport/down3.bin
2080 reject_firmware drivers/usb/serial/io_ti.c
2081 clean_blob drivers/usb/serial/io_ti.c
2082 clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_EDGEPORT_TI'
2083 clean_mk CONFIG_USB_SERIAL_EDGEPORT_TI drivers/usb/serial/Makefile
2084
2085 announce USB_SERIAL_TI - "USB TI 3410/5052 Serial Driver"
2086 drop_fw_file firmware/ti_3410.fw.ihex firmware/ti_3410.fw
2087 drop_fw_file firmware/ti_5052.fw.ihex firmware/ti_5052.fw
2088 drop_fw_file firmware/mts_cdma.fw.ihex firmware/mts_cdma.fw
2089 drop_fw_file firmware/mts_gsm.fw.ihex firmware/mts_gsm.fw
2090 drop_fw_file firmware/mts_edge.fw.ihex firmware/mts_edge.fw
2091 reject_firmware drivers/usb/serial/ti_usb_3410_5052.c
2092 clean_blob drivers/usb/serial/ti_usb_3410_5052.c
2093 clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_TI'
2094 clean_mk CONFIG_USB_SERIAL_TI drivers/usb/serial/Makefile
2095
2096 announce USB_SERIAL_WHITEHEAT - "USB ConnectTech WhiteHEAT Serial Driver"
2097 clean_fw firmware/whiteheat.HEX firmware/whiteheat.fw
2098 clean_fw firmware/whiteheat_loader.HEX firmware/whiteheat_loader.fw
2099 clean_fw firmware/whiteheat_loader_debug.HEX firmware/whiteheat_loader_debug.fw
2100 reject_firmware drivers/usb/serial/whiteheat.c
2101 clean_blob drivers/usb/serial/whiteheat.c
2102 clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_WHITEHEAT'
2103 clean_mk CONFIG_USB_SERIAL_WHITEHEAT drivers/usb/serial/Makefile
2104
2105 # uwb
2106
2107 announce UWB_I1480U - Support for Intel Wireless UWB Link 1480 HWA
2108 reject_firmware drivers/uwb/i1480/dfu/i1480-dfu.h
2109 reject_firmware drivers/uwb/i1480/dfu/mac.c
2110 reject_firmware drivers/uwb/i1480/dfu/phy.c
2111 clean_blob drivers/uwb/i1480/dfu/usb.c
2112 clean_kconfig drivers/uwb/Kconfig 'UWB_I1480U'
2113 clean_mk CONFIG_UWB_I1480U drivers/uwb/i1480/dfu/Makefile
2114
2115
2116
2117 #########
2118 # Sound #
2119 #########
2120
2121 announce SND_ASIHPI - "AudioScience ASIxxxx"
2122 reject_firmware sound/pci/asihpi/hpidspcd.c
2123 clean_blob sound/pci/asihpi/hpidspcd.c
2124 clean_blob sound/pci/asihpi/hpioctl.c
2125 clean_kconfig sound/pci/Kconfig 'SND_ASIHPI'
2126 clean_mk CONFIG_SND_ASIHPI sound/pci/asihpi/Makefile
2127
2128 announce SND_CS46XX - "Cirrus Logic (Sound Fusion) CS4280/CS461x/CS462x/CS463x"
2129 # This appears to have been extracted from some non-Free driver
2130 clean_file sound/pci/cs46xx/cs46xx_image.h
2131 # The following blobs are definitely extracted from non-Free drivers.
2132 clean_file sound/pci/cs46xx/imgs/cwc4630.h
2133 clean_file sound/pci/cs46xx/imgs/cwcasync.h
2134 clean_file sound/pci/cs46xx/imgs/cwcsnoop.h
2135 clean_sed '
2136 /^\(int \)\?snd_cs46xx_download_image([^;]*$/,/^}$/{
2137   /for.*BA1_MEMORY_COUNT/i\
2138 #if 0
2139   /^}$/{
2140     i\
2141 #else\
2142         snd_printk(KERN_ERR "cs46xx: Missing Free firmware\\n");\
2143         return -EINVAL;\
2144 #endif
2145   }
2146 }
2147 s/cs46xx_dsp_load_module(chip, [&]cwc\(4630\|async\|snoop\)_module)/(snd_printk(KERN_ERR "cs46xx: Missing Free firmware\\n"),-EINVAL)/
2148 ' sound/pci/cs46xx/cs46xx_lib.c 'report missing Free firmware'
2149 clean_blob sound/pci/cs46xx/cs46xx_lib.c
2150 clean_kconfig sound/pci/Kconfig 'SND_CS46XX'
2151 clean_mk 'CONFIG_SND_CS46XX' sound/pci/cs46xx/Makefile
2152
2153 announce SND_INTEL_SST - "Intel SST (LPE) Driver"
2154 reject_firmware drivers/staging/intel_sst/intel_sst_drv_interface.c
2155 clean_blob drivers/staging/intel_sst/intel_sst_drv_interface.c
2156 reject_firmware drivers/staging/intel_sst/intel_sst_dsp.c
2157 clean_kconfig drivers/staging/intel_sst/Kconfig 'SND_INTEL_SST'
2158 clean_mk 'CONFIG_SND_INTEL_SST' drivers/staging/intel_sst/Makefile
2159
2160 announce SND_KORG1212 - "Korg 1212 IO"
2161 drop_fw_file firmware/korg/k1212.dsp.ihex firmware/korg/k1212.dsp
2162 reject_firmware sound/pci/korg1212/korg1212.c
2163 clean_blob sound/pci/korg1212/korg1212.c
2164 clean_kconfig sound/pci/Kconfig 'SND_KORG1212'
2165 clean_mk 'CONFIG_SND_KORG1212' sound/pci/korg1212/Makefile
2166
2167 announce SND_MAESTRO3 - "ESS Allegro/Maestro3"
2168 drop_fw_file firmware/ess/maestro3_assp_kernel.fw.ihex firmware/ess/maestro3_assp_kernel.fw
2169 drop_fw_file firmware/ess/maestro3_assp_minisrc.fw.ihex firmware/ess/maestro3_assp_minisrc.fw
2170 reject_firmware sound/pci/maestro3.c
2171 clean_blob sound/pci/maestro3.c
2172 clean_kconfig sound/pci/Kconfig 'SND_MAESTRO3'
2173 clean_mk 'CONFIG_SND_MAESTRO3' sound/pci/Makefile
2174
2175 announce SND_YMFPCI - "Yamaha YMF724/740/744/754"
2176 drop_fw_file firmware/yamaha/ds1_ctrl.fw.ihex firmware/yamaha/ds1_ctrl.fw
2177 drop_fw_file firmware/yamaha/ds1_dsp.fw.ihex firmware/yamaha/ds1_dsp.fw
2178 drop_fw_file firmware/yamaha/ds1e_ctrl.fw.ihex firmware/yamaha/ds1e_ctrl.fw
2179 reject_firmware sound/pci/ymfpci/ymfpci_main.c
2180 clean_blob sound/pci/ymfpci/ymfpci_main.c
2181 clean_kconfig sound/pci/Kconfig 'SND_YMFPCI'
2182 clean_mk 'CONFIG_SND_YMFPCI' sound/pci/ymfpci/Makefile
2183
2184 announce SND_SB16_CSP - "SB16 Advanced Signal Processor"
2185 drop_fw_file firmware/sb16/alaw_main.csp.ihex firmware/sb16/alaw_main.csp
2186 drop_fw_file firmware/sb16/mulaw_main.csp.ihex firmware/sb16/mulaw_main.csp
2187 drop_fw_file firmware/sb16/ima_adpcm_init.csp.ihex firmware/sb16/ima_adpcm_init.csp
2188 drop_fw_file firmware/sb16/ima_adpcm_capture.csp.ihex firmware/sb16/ima_adpcm_capture.csp
2189 drop_fw_file firmware/sb16/ima_adpcm_playback.csp.ihex firmware/sb16/ima_adpcm_playback.csp
2190 reject_firmware sound/isa/sb/sb16_csp.c
2191 clean_blob sound/isa/sb/sb16_csp.c
2192 clean_kconfig sound/isa/Kconfig 'SND_SB16_CSP'
2193 clean_mk 'CONFIG_SND_SB16_CSP' sound/isa/sb/Makefile
2194
2195 announce SND_WAVEFRONT - "Turtle Beach Maui,Tropez,Tropez+ (Wavefront)"
2196 drop_fw_file firmware/yamaha/yss225_registers.bin.ihex firmware/yamaha/yss225_registers.bin
2197 reject_firmware sound/isa/wavefront/wavefront_fx.c
2198 clean_blob sound/isa/wavefront/wavefront_fx.c
2199 reject_firmware sound/isa/wavefront/wavefront_synth.c
2200 clean_blob sound/isa/wavefront/wavefront_synth.c
2201 clean_kconfig sound/isa/Kconfig 'SND_WAVEFRONT'
2202 clean_mk 'CONFIG_SND_WAVEFRONT' sound/isa/wavefront/Makefile
2203
2204 announce SND_VX_LIB - Digigram VX soundcards
2205 reject_firmware sound/drivers/vx/vx_hwdep.c
2206 clean_blob sound/drivers/vx/vx_hwdep.c
2207 clean_kconfig sound/drivers/Kconfig 'SND_VX_LIB'
2208 clean_mk CONFIG_SND_VX_LIB sound/drivers/vx/Makefile
2209
2210 announce SND_DARLA20 - "(Echoaudio) Darla20"
2211 clean_blob sound/pci/echoaudio/darla20.c
2212 clean_kconfig sound/pci/Kconfig 'SND_DARLA20'
2213 clean_mk CONFIG_SND_DARLA20 sound/pci/echoaudio/Makefile
2214
2215 announce SND_DARLA24 - "(Echoaudio) Darla24"
2216 clean_blob sound/pci/echoaudio/darla24.c
2217 clean_kconfig sound/pci/Kconfig 'SND_DARLA24'
2218 clean_mk CONFIG_SND_DARLA24 sound/pci/echoaudio/Makefile
2219
2220 announce SND_ECHO3G - "(Echoaudio) 3G cards"
2221 clean_blob sound/pci/echoaudio/echo3g.c
2222 clean_kconfig sound/pci/Kconfig 'SND_ECHO3G'
2223 clean_mk CONFIG_SND_ECHO3G sound/pci/echoaudio/Makefile
2224
2225 announce SND_GINA20 - "(Echoaudio) Gina20"
2226 clean_blob sound/pci/echoaudio/gina20.c
2227 clean_kconfig sound/pci/Kconfig 'SND_GINA20'
2228 clean_mk CONFIG_SND_GINA20 sound/pci/echoaudio/Makefile
2229
2230 announce SND_GINA24 - "(Echoaudio) Gina24"
2231 clean_blob sound/pci/echoaudio/gina24.c
2232 clean_kconfig sound/pci/Kconfig 'SND_GINA24'
2233 clean_mk CONFIG_SND_GINA24 sound/pci/echoaudio/Makefile
2234
2235 announce SND_INDIGO - "(Echoaudio) Indigo"
2236 clean_blob sound/pci/echoaudio/indigo.c
2237 clean_kconfig sound/pci/Kconfig 'SND_INDIGO'
2238 clean_mk CONFIG_SND_INDIGO sound/pci/echoaudio/Makefile
2239
2240 announce SND_INDIGODJ - "(Echoaudio) Indigo DJ"
2241 clean_blob sound/pci/echoaudio/indigodj.c
2242 clean_kconfig sound/pci/Kconfig 'SND_INDIGODJ'
2243 clean_mk CONFIG_SND_INDIGODJ sound/pci/echoaudio/Makefile
2244
2245 announce SND_INDIGODJX - "(Echoaudio) Indigo DJx"
2246 clean_blob sound/pci/echoaudio/indigodjx.c
2247 clean_kconfig sound/pci/Kconfig 'SND_INDIGODJX'
2248 clean_mk CONFIG_SND_INDIGODJX sound/pci/echoaudio/Makefile
2249
2250 announce SND_INDIGOIO - "(Echoaudio) Indigo IO"
2251 clean_blob sound/pci/echoaudio/indigoio.c
2252 clean_kconfig sound/pci/Kconfig 'SND_INDIGOIO'
2253 clean_mk CONFIG_SND_INDIGOIO sound/pci/echoaudio/Makefile
2254
2255 announce SND_INDIGOIOX - "(Echoaudio) Indigo IOx"
2256 clean_blob sound/pci/echoaudio/indigoiox.c
2257 clean_kconfig sound/pci/Kconfig 'SND_INDIGOIOX'
2258 clean_mk CONFIG_SND_INDIGOIOX sound/pci/echoaudio/Makefile
2259
2260 announce SND_LAYLA20 - "(Echoaudio) Layla20"
2261 clean_blob sound/pci/echoaudio/layla20.c
2262 clean_kconfig sound/pci/Kconfig 'SND_LAYLA20'
2263 clean_mk CONFIG_SND_LAYLA20 sound/pci/echoaudio/Makefile
2264
2265 announce SND_LAYLA24 - "(Echoaudio) Layla24"
2266 clean_blob sound/pci/echoaudio/layla24.c
2267 clean_kconfig sound/pci/Kconfig 'SND_LAYLA24'
2268 clean_mk CONFIG_SND_LAYLA24 sound/pci/echoaudio/Makefile
2269
2270 announce SND_MIA - "(Echoaudio) Mia"
2271 clean_blob sound/pci/echoaudio/mia.c
2272 clean_kconfig sound/pci/Kconfig 'SND_MIA'
2273 clean_mk CONFIG_SND_MIA sound/pci/echoaudio/Makefile
2274
2275 announce SND_MONA - "(Echoaudio) Mona"
2276 clean_blob sound/pci/echoaudio/mona.c
2277 clean_kconfig sound/pci/Kconfig 'SND_MONA'
2278 clean_mk CONFIG_SND_MONA sound/pci/echoaudio/Makefile
2279
2280 announce SND_'<(Echoaudio)>' - "(Echoaudio) all of the above "
2281 reject_firmware sound/pci/echoaudio/echoaudio.c
2282 clean_blob sound/pci/echoaudio/echoaudio.c
2283
2284 announce SND_EMU10K1 - "Emu10k1 (SB Live!, Audigy, E-mu APS)"
2285 reject_firmware sound/pci/emu10k1/emu10k1_main.c
2286 clean_blob sound/pci/emu10k1/emu10k1_main.c
2287 clean_kconfig sound/pci/Kconfig 'SND_EMU10K1'
2288 clean_mk CONFIG_SND_EMU10K1 sound/pci/emu10k1/Makefile
2289
2290 announce SND_MIXART - "Digigram miXart"
2291 reject_firmware sound/pci/mixart/mixart_hwdep.c
2292 clean_blob sound/pci/mixart/mixart_hwdep.c
2293 clean_kconfig sound/pci/Kconfig 'SND_MIXART'
2294 clean_mk CONFIG_SND_MIXART sound/pci/mixart/Makefile
2295
2296 announce SND_PCXHR - "Digigram PCXHR"
2297 reject_firmware sound/pci/pcxhr/pcxhr_hwdep.c
2298 clean_blob sound/pci/pcxhr/pcxhr_hwdep.c
2299 clean_kconfig sound/pci/Kconfig 'SND_PCXHR'
2300 clean_mk CONFIG_SND_PCXHR sound/pci/pcxhr/Makefile
2301
2302 announce SND_RIPTIDE - "Conexant Riptide"
2303 reject_firmware sound/pci/riptide/riptide.c
2304 clean_blob sound/pci/riptide/riptide.c
2305 clean_kconfig sound/pci/Kconfig 'SND_RIPTIDE'
2306 clean_mk CONFIG_SND_RIPTIDE sound/pci/riptide/Makefile
2307
2308 # This is ok, patch filenames are supplied as module parameters, and
2309 # they are text files with patch instructions.
2310 #announce SND_HDA_PATCH_LOADER - "Support initialization patch loading for HD-audio"
2311 #reject_firmware sound/pci/hda/hda_hwdep.c
2312 #clean_kconfig sound/pci/hda/Kconfig 'SND_HDA_PATCH_LOADER'
2313
2314 announce SND_HDSP - "RME Hammerfall DSP Audio"
2315 reject_firmware sound/pci/rme9652/hdsp.c
2316 clean_blob sound/pci/rme9652/hdsp.c
2317 clean_kconfig sound/pci/Kconfig 'SND_HDSP'
2318 clean_mk CONFIG_SND_HDSP sound/pci/rme9652/Makefile
2319
2320 announce SND_AICA - "Dreamcast Yamaha AICA sound"
2321 reject_firmware sound/sh/aica.c
2322 clean_blob sound/sh/aica.c
2323 clean_kconfig sound/sh/Kconfig 'SND_AICA'
2324 clean_mk CONFIG_SND_AICA sound/sh/Makefile
2325
2326 announce SND_MSND_PINNACLE - "Support for Turtle Beach MultiSound Pinnacle"
2327 clean_blob sound/isa/msnd/msnd_pinnacle.h
2328 reject_firmware sound/isa/msnd/msnd_pinnacle.c
2329 clean_blob sound/isa/msnd/msnd_pinnacle.c
2330 clean_kconfig sound/isa/Kconfig 'SND_MSND_PINNACLE'
2331 clean_mk CONFIG_SND_MSND_PINNACLE sound/isa/msnd/Makefile
2332
2333 announce SND_MSND_CLASSIC - "Support for Turtle Beach MultiSound Classic, Tahiti, Monterey"
2334 clean_blob sound/isa/msnd/msnd_classic.h
2335 clean_kconfig sound/isa/Kconfig 'SND_MSND_CLASSIC'
2336 clean_mk CONFIG_SND_MSND_CLASSIC sound/isa/msnd/Makefile
2337
2338 announce SOUND_MSNDCLAS - "Support for Turtle Beach MultiSound Classic, Tahiti, Monterey (oss)"
2339 clean_blob sound/oss/msnd_classic.h
2340 clean_kconfig sound/oss/Kconfig 'SOUND_MSNDCLAS'
2341 clean_sed '
2342 /^config MSNDCLAS_INIT_FILE$/, /^config / {
2343   /^    default.*msndinit\.bin/ s,".*","/*(DEBLOBBED)*/",;
2344 }
2345 /^config MSNDCLAS_PERM_FILE$/, /^config / {
2346   /^    default.*msndperm\.bin/ s,".*","/*(DEBLOBBED)*/",;
2347 }' sound/oss/Kconfig 'removed default firmware'
2348 clean_mk CONFIG_SOUND_MSNDCLAS sound/oss/Makefile
2349
2350 announce SOUND_MSNDPIN - "Support for Turtle Beach MultiSound Pinnacle (oss)"
2351 clean_blob sound/oss/msnd_pinnacle.h
2352 clean_kconfig sound/oss/Kconfig 'SOUND_MSNDPIN'
2353 clean_sed '
2354 /^config MSNDPIN_INIT_FILE$/, /^config / {
2355   /^    default.*pndspini\.bin/ s,".*","/*(DEBLOBBED)*/",;
2356 }
2357 /^config MSNDPIN_PERM_FILE$/, /^config / {
2358   /^    default.*pndsperm\.bin/ s,".*","/*(DEBLOBBED)*/",;
2359 }' sound/oss/Kconfig 'removed default firmware'
2360 clean_mk CONFIG_SOUND_MSNDPIN sound/oss/Makefile
2361
2362 announce SND_SSCAPE - "Ensoniq SoundScape driver"
2363 reject_firmware sound/isa/sscape.c
2364 clean_blob sound/isa/sscape.c
2365 clean_sed '
2366 /^config SND_SSCAPE$/, /^config / {
2367   s,"\(scope\|sndscape\)\.co[d?]","/*(DEBLOBBED)*/",g;
2368 }' sound/isa/Kconfig 'removed firmware names'
2369 clean_kconfig sound/isa/Kconfig 'SND_SSCAPE'
2370 clean_mk CONFIG_SND_SSCAPE sound/isa/Makefile
2371
2372 # It's not clear that wm2000_anc.bin is pure data.
2373 # Check with developer, clean up for now.
2374 announce SND_SOC_WM2000 - "WM2000 ALSA Soc Audio codecs"
2375 reject_firmware sound/soc/codecs/wm2000.c
2376 clean_blob sound/soc/codecs/wm2000.c
2377 clean_kconfig sound/soc/codecs/Kconfig 'SND_SOC_WM2000'
2378 clean_mk CONFIG_SND_SOC_WM2000 sound/soc/codecs/Makefile
2379
2380 announce SND_SOC_WM8994 - "WM8994 ALSA Soc Audio codecs"
2381 reject_firmware sound/soc/codecs/wm8958-dsp2.c
2382 clean_blob sound/soc/codecs/wm8958-dsp2.c
2383 clean_kconfig sound/soc/codecs/Kconfig 'SND_SOC_WM8994'
2384 clean_mk CONFIG_SND_SOC_WM8994 sound/soc/codecs/Makefile
2385
2386 announce SND_SOC_SH4_SIU - "ALSA SoC driver for Renesas SH7343, SH7722 SIU peripheral"
2387 reject_firmware sound/soc/sh/siu_dai.c
2388 clean_blob sound/soc/sh/siu_dai.c
2389 clean_kconfig sound/soc/sh/Kconfig 'SND_SOC_SH4_SIU'
2390 clean_mk CONFIG_SND_SOC_SH4_SIU sound/soc/sh/Makefile
2391
2392 announce SOUND_TRIX - "MediaTrix AudioTrix Pro support"
2393 clean_blob sound/oss/trix.c
2394 clean_kconfig sound/oss/Kconfig 'SOUND_TRIX'
2395 clean_sed '
2396 /^config TRIX_BOOT_FILE$/, /^config / {
2397   /^    default.*trxpro\.hex/ s,".*","/*(DEBLOBBED)*/",;
2398 }' sound/oss/Kconfig 'removed default firmware'
2399 clean_mk CONFIG_SOUND_TRIX sound/oss/Makefile
2400
2401 announce SOUND_TRIX - "See above,"
2402 announce SOUND_PAS - "ProAudioSpectrum 16 support,"
2403 announce SOUND_SB - "100% Sound Blaster compatibles (SB16/32/64, ESS, Jazz16) support"
2404 clean_blob sound/oss/sb_common.c
2405 clean_kconfig sound/oss/Kconfig 'SOUND_PAS'
2406 clean_kconfig sound/oss/Kconfig 'SOUND_SB'
2407 clean_mk CONFIG_SOUND_PAS sound/oss/Makefile
2408 clean_mk CONFIG_SOUND_SB sound/oss/Makefile
2409
2410 announce SOUND_PSS - "PSS (AD1848, ADSP-2115, ESC614) support"
2411 clean_sed 's,^\( [*] .*synth"\)\.$,\1/*.,' sound/oss/pss.c 'avoid nested comments'
2412 clean_blob sound/oss/pss.c
2413 clean_kconfig sound/oss/Kconfig 'SOUND_PSS'
2414 clean_sed '
2415 /^config PSS_BOOT_FILE$/, /^config / {
2416   /^    default.*dsp001\.ld/ s,".*","/*(DEBLOBBED)*/",;
2417 }' sound/oss/Kconfig 'removed default firmware'
2418 clean_mk CONFIG_SOUND_PSS sound/oss/Makefile
2419
2420 announce SND_USB_6FIRE - "TerraTec DMX 6Fire USB"
2421 reject_firmware sound/usb/6fire/firmware.c
2422 clean_blob sound/usb/6fire/firmware.c
2423 clean_kconfig sound/usb/Kconfig 'SND_USB_6FIRE'
2424 clean_mk 'CONFIG_SND_USB_6FIRE' sound/usb/6fire/Makefile
2425
2426 #################
2427 # Documentation #
2428 #################
2429
2430 announce Documentation - "non-Free firmware scripts and documentation"
2431 clean_blob Documentation/dvb/avermedia.txt
2432 clean_blob Documentation/dvb/opera-firmware.txt
2433 clean_blob Documentation/sound/alsa/ALSA-Configuration.txt
2434 clean_blob Documentation/sound/oss/MultiSound
2435 clean_blob Documentation/sound/oss/PSS
2436 clean_blob Documentation/sound/oss/PSS-updates
2437 clean_blob Documentation/sound/oss/README.OSS
2438 clean_file Documentation/dvb/get_dvb_firmware
2439 clean_file Documentation/video4linux/extract_xc3028.pl
2440 clean_sed s,usb8388,whatever,g drivers/base/Kconfig 'removed blob name'
2441 clean_blob firmware/README.AddingFirmware
2442 clean_blob firmware/WHENCE
2443
2444 if $errors; then
2445   echo errors above were ignored because of --force >&2
2446 fi
2447
2448 exit 0