# Copyright (C) 2008, 2009 Alexandre Oliva <lxoliva@fsfla.org>
# Copyright (C) 2008 Jeff Moe
+# Copyright (C) 2009 Rubén Rodríguez <ruben@gnu.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# For each kver release, start extra with an empty string, then count
# from 1 if changes are needed that require rebuilding the tarball.
-kver=2.6.31 extra=
-
-fatal () {
- echo "$@"
- exit 1
-}
+kver=2.6.31 extra=1
case $1 in
---force) die () { echo ERROR: "$@": ignored >&2; }; forced=:; shift;;
-*) die () { fatal "$@"; }; forced=false;;
+--force)
+ echo "WARNING: Using the force, ignored errors will be" >&2
+ die () {
+ echo ERROR: "$@" >&2
+ errors=:
+ }
+ forced=: errors=false
+ shift
+ ;;
+*)
+ die () {
+ echo ERROR: "$@" >&2
+ echo Use --force to ignore
+ exit 1
+ }
+ forced=false errors=false
+ ;;
esac
check=`echo "$0" | sed 's,[^/]*$,,;s,^$,.,;s,/*$,,'`/deblob-check
have_check=:
fi
+filetest () {
+ [ -f $1 ]
+}
+
announce () {
- echo
- echo "$@"
+ echo
+ echo "$@"
}
clean_file () {
- #$1 = filename
- if test ! -f $1; then
- die $1 does not exist, something is wrong
- fi
- rm $1
- echo $1: removed
+ #$1 = filename
+ filetest $1 || return
+ rm $1
+ echo $1: removed
}
check_changed () {
- if test ! -f $1; then
- die $1 does not exist, something is wrong
- elif cmp $1.deblob $1 > /dev/null; then
- die $1 did not change, something is wrong
- fi
- mv $1.deblob $1
+ #$1 = filename
+ if cmp $1.deblob $1 > /dev/null; then
+ rm $1.deblob
+ die $1 did not change, something is wrong && return 1
+ fi
+ mv $1.deblob $1
}
clean_blob () {
- #$1 = filename
- if $have_check; then
- if test ! -f $1; then
- die $1 does not exist, something is wrong
- fi
- name=$1
- set fnord "$@" -d
- shift 2
- $check "$@" -i linux-$kver $name > $name.deblob
- echo $name: removed blobs
- check_changed $name
- else
- clean_file $1
- fi
+ #$1 = filename
+ filetest $1 || return
+ if $have_check; then
+ name=$1
+ set fnord "$@" -d
+ shift 2
+ $check "$@" -i linux-$kver $name > $name.deblob
+ check_changed $name && echo $name: removed blobs
+ else
+ clean_file $1
+ fi
}
dummy_blob () {
- #$1 = filename
- if test -f $1; then
- die $1 exists, something is wrong
- elif test ! -f firmware/Makefile; then
- die firmware/Makefile does not exist, something is wrong
- fi
-
- clean_sed "s,`echo $1 | sed s,^firmware/,,`,\$(DEBLOBBED),g" \
- firmware/Makefile "dropped $1"
+ #$1 = filename
+ if test -f $1; then
+ die $1 exists, something is wrong && return
+ elif test ! -f firmware/Makefile; then
+ die firmware/Makefile does not exist, something is wrong && return
+ fi
+
+ clean_sed "s,`echo $1 | sed s,^firmware/,,`,\$(DEBLOBBED),g" \
+ firmware/Makefile "dropped $1"
}
clean_fw () {
- #$1 = firmware text input, $2 = firmware output
- if test ! -f $1; then
- die $1 does not exist, something is wrong
- elif test -f $2; then
- die $2 exists, something is wrong
- fi
- clean_blob $1 -s 4
- dummy_blob $2
+ #$1 = firmware text input, $2 = firmware output
+ filetest $1 || return
+ if test -f $2; then
+ die $2 exists, something is wrong && return
+ fi
+ clean_blob $1 -s 4
+ dummy_blob $2
}
drop_fw_file () {
- #$1 = firmware text input, $2 = firmware output
- if test ! -f $1; then
- die $1 does not exist, something is wrong
- elif test -f $2; then
- die $2 exists, something is wrong
- fi
- clean_file $1
- dummy_blob $2
+ #$1 = firmware text input, $2 = firmware output
+ filetest $1 || return
+ if test -f $2; then
+ die $2 exists, something is wrong && return
+ fi
+ clean_file $1
+ dummy_blob $2
}
clean_kconfig () {
- #$1 = filename $2 = things to remove
- case $1 in
- -f)
- shift
- ;;
- *)
- if $have_check; then
- return
- fi
- ;;
- esac
- sed "/^config \\($2\\)\$/{p;i\
+ #$1 = filename $2 = things to remove
+ case $1 in
+ -f)
+ shift
+ ;;
+ *)
+ if $have_check; then
+ return
+ fi
+ ;;
+ esac
+ filetest $1 || return
+ sed "/^config \\($2\\)\$/{p;i\
depends on NONFREE
d;}" $1 > $1.deblob
- echo $1: marked config $2 as depending on NONFREE
- check_changed $1
+ check_changed $1 && echo $1: marked config $2 as depending on NONFREE
}
clean_mk () {
- #$1 = config $2 = Makefile name
- # We don't clean up Makefiles any more --lxoliva
- # sed -i "/\\($1\\)/d" $2
- # echo $2: removed $1 support
- # check_changed $2
- if sed -n "/\\($1\\)/p" $2 | grep . > /dev/null; then
- :
- else
- die $2 does not contain matches for $1
- fi
+ #$1 = config $2 = Makefile name
+ # We don't clean up Makefiles any more --lxoliva
+ # sed -i "/\\($1\\)/d" $2
+ # echo $2: removed $1 support
+ # check_changed $2
+ filetest $2 || return
+ if sed -n "/\\($1\\)/p" $2 | grep . > /dev/null; then
+ :
+ else
+ die $2 does not contain matches for $1
+ fi
}
clean_sed () {
- #$1 = sed-script $2 = file $3 = comment
- sed -e "$1" "$2" > "$2".deblob
- echo $2: ${3-applied sed script $1}
- check_changed "$2"
+ #$1 = sed-script $2 = file $3 = comment
+ filetest $2 || return
+ sed -e "$1" "$2" > "$2".deblob
+ check_changed $2 && echo $2: ${3-applied sed script $1}
}
reject_firmware () {
- #$1 = file
- clean_sed '
+ #$1 = file
+ filetest $1 || return
+ clean_sed '
s,request\(_ihex\)\?_firmware\(_nowait\)\?,reject_firmware\2,g
' "$1" 'disabled non-Free firmware-loading machinery'
}
maybe_reject_firmware () {
- #$1 = file
- clean_sed '
+ #$1 = file
+ filetest $1 || return
+ clean_sed '
s,request_firmware\(_nowait\)\?,maybe_reject_firmware\1,g
' "$1" 'retain Free firmware-loading machinery, disabling non-Free one'
}
macro=$1 repl=$2 msg=$3; shift 3
for f in "$@"; do
clean_sed "
- s,^#define $macro .*\$,/*(DEBLOBBED)*/,;
- s,$macro,$repl,g;
+s,^#define $macro .*\$,/*(DEBLOBBED)*/,;
+s,$macro,$repl,g;
" "$f" "$msg"
done
}
sound/pci/cs46xx/imgs/cwcdma.asp \
; do
if test ! $f; then
- die $f is not present, something is amiss
+ die $f is not present, something is amiss && return
fi
done
# Identify the tarball.
-clean_sed "
-s,^EXTRAVERSION.*,&-libre$extra,
+grep -q 'EXTRAVERSION.*-libre' Makefile ||
+clean_sed "s,^EXTRAVERSION.*,&-libre$extra,
" Makefile 'added -libre to EXTRAVERSION'
# Add reject_firmware and maybe_reject_firmware
-clean_sed '
-$i\
+grep -q _LINUX_LIBRE_FIRMWARE_H include/linux/firmware.h ||
+clean_sed '$i\
#ifndef _LINUX_LIBRE_FIRMWARE_H\
#define _LINUX_LIBRE_FIRMWARE_H\
\
announce DRM_R128 - "ATI Rage 128"
clean_sed '
-/^static int r128_do_init_cce([^;]*$/,/^}$/{
- /^ r128_cce_load_microcode(dev_priv);$/{
- i\
- DRM_ERROR("Missing Free microcode!\\n");\
- dev->dev_private = (void *)dev_priv;\
- r128_do_cleanup_cce(dev);\
- return -EINVAL;
- }
-}' drivers/gpu/drm/r128/r128_cce.c 'report missing Free microcode'
+/^static void r128_cce_load_microcode(drm_r128_private_t \* dev_priv)/i\
+#define r128_cce_load_microcode(dev_priv) \\\
+ do { \\\
+ DRM_ERROR("Missing Free microcode!\\n"); \\\
+ dev->dev_private = (void *)dev_priv; \\\
+ r128_do_cleanup_cce(dev); \\\
+ return -EINVAL; \\\
+ } while (0)
+' drivers/gpu/drm/r128/r128_cce.c 'report missing Free microcode'
clean_blob drivers/gpu/drm/r128/r128_cce.c
clean_kconfig -f drivers/gpu/drm/Kconfig 'DRM_R128'
clean_mk CONFIG_DRM_R128 drivers/gpu/drm/Makefile
announce DRM_RADEON - "ATI Radeon"
clean_sed '
-/^static int radeon_do_init_cp([^;]*$/,/^}$/{
- /^ radeon_cp_load_microcode(dev_priv);$/{
- i\
- DRM_ERROR("Missing Free microcode!\\n");\
- radeon_do_cleanup_cp(dev);\
- return -EINVAL;
- }
-}' drivers/gpu/drm/radeon/radeon_cp.c 'report missing Free microcode on init'
-clean_sed '
-/^static int radeon_do_resume_cp([^;]*$/,/^}$/{
- /^ radeon_cp_load_microcode(dev_priv);$/{
- i\
- DRM_ERROR("Missing Free microcode!\\n");\
- return -EINVAL;
- }
-}' drivers/gpu/drm/radeon/radeon_cp.c 'report missing Free microcode on resume'
+/^static void radeon_cp_load_microcode(drm_radeon_private_t \* dev_priv)/i\
+#define radeon_cp_load_microcode(dev_priv) \\\
+ do { \\\
+ DRM_ERROR("Missing Free microcode!\\n"); \\\
+ radeon_do_cleanup_cp(dev); \\\
+ return -EINVAL; \\\
+ } while (0)
+' drivers/gpu/drm/radeon/radeon_cp.c 'report missing Free microcode'
clean_blob drivers/gpu/drm/radeon/radeon_cp.c
clean_blob drivers/gpu/drm/radeon/radeon_microcode.h
clean_sed '
-/^int r600_do_init_cp([^;]*$/,/^}$/{
- /^ r[67]00_cp_load_microcode(dev_priv);$/{
- i\
- do {\
- DRM_ERROR("Missing Free microcode!\\n");\
- r600_do_cleanup_cp(dev);\
- return -EINVAL;\
- } while (0);
- }
-}' drivers/gpu/drm/radeon/r600_cp.c 'report missing Free microcode on init'
+/^static void r100_cp_load_microcode(struct radeon_device \*rdev)/i\
+#define r100_cp_load_microcode(rdev) \\\
+ do { \\\
+ DRM_ERROR("Missing Free microcode!\\n"); \\\
+ return -EINVAL; \\\
+ } while (0)
+' drivers/gpu/drm/radeon/r100.c 'report missing Free microcode'
+clean_blob drivers/gpu/drm/radeon/r100.c
clean_sed '
-/^int r600_do_resume_cp([^;]*$/,/^}$/{
- /^ r[67]00_cp_load_microcode(dev_priv);$/{
- i\
- DRM_ERROR("Missing Free microcode!\\n");\
- return -EINVAL;
- }
-}' drivers/gpu/drm/radeon/r600_cp.c 'report missing Free microcode on resume'
+/^static void r600_cp_load_microcode(drm_radeon_private_t \*dev_priv)/i\
+#define r600_cp_load_microcode(dev_priv) \\\
+ do { \\\
+ DRM_ERROR("Missing Free microcode!\\n"); \\\
+ r600_do_cleanup_cp(dev); \\\
+ return -EINVAL; \\\
+ } while (0)
+' drivers/gpu/drm/radeon/r600_cp.c 'report missing Free r600 microcode'
+clean_sed '
+/^static void r700_cp_load_microcode(drm_radeon_private_t \*dev_priv)/i\
+#define r700_cp_load_microcode(dev_priv) \\\
+ do { \\\
+ DRM_ERROR("Missing Free microcode!\\n"); \\\
+ r600_do_cleanup_cp(dev); \\\
+ return -EINVAL; \\\
+ } while (0)
+' drivers/gpu/drm/radeon/r600_cp.c 'report missing Free r700 microcode'
clean_blob drivers/gpu/drm/radeon/r600_cp.c
clean_blob drivers/gpu/drm/radeon/r600_microcode.h
clean_kconfig -f drivers/gpu/drm/Kconfig 'DRM_RADEON'
clean_blob firmware/README.AddingFirmware
clean_blob firmware/WHENCE
+if $errors; then
+ echo errors above were ignored because of --force >&2
+fi
+
exit 0
#! /bin/sh
-# deblob-check version 2009-09-12
+# deblob-check version 2009-09-21
# Inspired in gNewSense's find-firmware script.
# Written by Alexandre Oliva <lxoliva@fsfla.org>
blobname 'intelliport2\.bin' drivers/char/ip2/ip2main.c
blob 'static[ ]unsigned[ ]char[ ]warp_g[24]00_t2\?gzs\?a\?f\?\[\][ ]=[ ][{][^{};]*[}][;]\([\n][\n]*static[ ]unsigned[ ]char[ ]warp_g[24]00_t2\?gzs\?a\?f\?\[\][ ]=[ ][{][^{};]*[}][;]\)*' drivers/gpu/drm/mga/mga_ucode.h
- blob '#define[ ]\(MGA_WARP_CODE_ALIGN\|WARP_UCODE_\(SIZE\|INSTALL\)\)\([^\n]*\\[ ]*[\n]\)*[^\n]*' drivers/gpu/drm/mga/mga_warp.c
- blob 'static[ ]const[ ]unsigned[ ]int[ ]mga_warp_g[24]00_microcode_size[ ]=[^;]*[;]' drivers/gpu/drm/mga/mga_warp.c
- blob 'static[ ]int[ ]mga_warp_install_g[24]00_microcode[(][^{]*[)][\n][{][\n]\([^}]\|[^\n}][}]*\)*[\n][}][\n]' drivers/gpu/drm/mga/mga_warp.c
+ blob '\(#define[ ]WARP_UCODE_\(SIZE\|INSTALL\)[(][ ]*which\([^\n]*\\[ ]*[\n]\)*[^\n]*\|static[ ]const[ ]unsigned[ ]int[ ]mga_warp_g[24]00_microcode_size[ ]=[^;]*[;]\|static[ ]int[ ]mga_warp_install_g[24]00_microcode[(][^{]*[)][\n][{][\n]\([^}]\|[^\n}][}]*\)*[\n][}]\)\([\n][\n]*\(#define[ ]WARP_UCODE_\(SIZE\|INSTALL\)[(][ ]*which\([^\n]*\\[ ]*[\n]\)*[^\n]*\|static[ ]const[ ]unsigned[ ]int[ ]mga_warp_g[24]00_microcode_size[ ]=[^;]*[;]\|static[ ]int[ ]mga_warp_install_g[24]00_microcode[(][^{]*[)][\n][{][\n]\([^}]\|[^\n}][}]*\)*[\n][}]\)\)*' drivers/gpu/drm/mga/mga_warp.c
blobna '\(case[ ]MGA_CARD_TYPE_G[^:]*:[ \n]*\)\+return[ ][^;]*mga_warp[^;]*microcode[^;]*[;]\([ \n]*\(case[ ]MGA_CARD_TYPE_G[^:]*:[ \n]*\)\+return[ ][^;]*mga_warp[^;]*microcode[^;]*[;][ ]*\)*' drivers/gpu/drm/mga/mga_warp.c
- blob 'static[ ]u32[ ]r128_cce_microcode\[\][ ]=[ ][{][^{};]*[}][;]' drivers/gpu/drm/r128/r128_cce.c
- blob 'static[ ]void[ ]r128_cce_load_microcode[(][^{]*[)][\n][{][\n]\([^}]\|[^\n}][}]*\)*[\n][}][\n]' drivers/gpu/drm/r128/r128_cce.c
- blob '[ ]r128_cce_load_microcode[(][^;]*[)][;]' drivers/gpu/drm/r128/r128_cce.c
+ blob 'static[ ]u32[ ]r128_cce_microcode\[\][ ]=[ ][{][^;]*[}][;]' drivers/gpu/drm/r128/r128_cce.c
+ blob 'static[ ]void[ ]r128_cce_load_microcode[(][^{]*[)][\n][{][\n]\([^}]\|[^\n}][}]*\)*[\n][}]' drivers/gpu/drm/r128/r128_cce.c
+ # blobna 'R128_WRITE[(]R128_PM4_MICROCODE_DATA[HL],[\n ]*r128_cce_microcode\[i[ ][*][ ]2\([ ][+][ ]1\)\?\][)]\([;][\n ]*R128_WRITE[(]R128_PM4_MICROCODE_DATA[HL],[\n ]*r128_cce_microcode\[i[ ][*][ ]2\([ ][+][ ]1\)\?\][)]\)*' drivers/gpu/drm/r128/r128_cce.c
- blob 'static[ ]const[ ]u32[ ]R[SV0-9]*[05]_\(cp_microcode\[\]\[[23]\]\|pfp_microcode\[\]\)[ ]=[ ][{][^{};]*[}][;]\([\n][\n]*static[ ]const[ ]u32[ ]R[SV0-9]*[05]_\(cp_microcode\[\]\[[23]\]\|pfp_microcode\[\]\)[ ]=[ ][{][^{};]*[}][;]\)*' 'drivers/gpu/drm/radeon/\(radeon\|r600\)_microcode\.h'
- blob '\([/][*][ ]Load[ ]the[ ]microcode\([^/]\|[^*/][/]*\)*[*][/][\n]\)\?static[ ]void[ ]radeon_cp_load_microcode[(][^{]*[)][\n][{][\n]\([^}]\|[^\n}][}]*\)*[\n][}][\n]' drivers/gpu/drm/radeon/radeon_cp.c
- blobna 'radeon_cp_load_microcode[(][^;]*[)][;]' drivers/gpu/drm/radeon/radeon_cp.c
+ blob 'static[ ]const[ ]u32[ ]R[SV0-9]*[05]_\(c\|pf\)p_microcode\[\]\(\[[23]\]\)\?[ ]=[ ][{][^;]*[}][;]\([\n][\n]*static[ ]const[ ]u32[ ]R[SV0-9]*[05]_\(c\|pf\)p_microcode\[\]\(\[[23]\]\)\?[ ]=[ ][{][^;]*[}][;]\)*' 'drivers/gpu/drm/radeon/\(radeon\|r600\)_microcode\.h'
+ blob 'static[ ]void[ ]r\(adeon\|[167]00\)_cp_load_microcode[(][^{]*[)][\n][{][\n]\([^}]\|[^\n}][}]*\)*cp_microcode\([^}]\|[^\n}][}]*\)*[\n][}]' 'drivers/gpu/drm/radeon/r\(\(adeon\|600\)_cp\|100\)\.c'
+ # blobna 'RADEON_WRITE[(]R\(ADEON\|600\)_CP_\(ME_RAM\|PFP_UCODE\)_DATA[HL]\?,[\n ]*R[SV0-9]*[05]_\(c\|pf\)p_microcode\[i\]\(\[[012]\]\)\?[)]\([;][\n ]*RADEON_WRITE[(]R\(ADEON\|600\)_CP_\(ME_RAM\|PFP_UCODE\)_DATA[HL]\?,[\n ]*R[SV0-9]*[05]_\(c\|pf\)p_microcode\[i\]\(\[[012]\]\)\?[)]\)*' 'drivers/gpu/drm/radeon/\(radeon\|r600\)_cp\.c'
blob 'sub[ ]\(sp887[0x]\|tda1004\(5\|6\(lifeview\)\?\)\|av7110\|dec\(2\(00\|54\)0t\|3000s\)\|opera1\|vp7041\|dibusb\|nxt200[24]cx\(23\(1xx\|855\)\|18\)\|pvrusb2\|or51\(211\|132_\(qam\|vsb\)\)\|bluebird\|mpc718\)[ ]*[{]\([^}]*\|[^\n][}]*\)[\n][}]\([\n][\n]*sub[ ]\(sp887[0x]\|tda1004\(5\|6\(lifeview\)\?\)\|av7110\|dec\(2\(00\|54\)0t\|3000s\)\|opera1\|vp7041\|dibusb\|nxt200[24]cx\(23\(1xx\|855\)\|18\)\|pvrusb2\|or51\(211\|132_\(qam\|vsb\)\)\|bluebird\|mpc718\)[ ]*[{]\([^}]*\|[^\n][}]*\)[\n][}]\)*' Documentation/dvb/get_dvb_firmware
blobna 'Please[ ]use[^\n]*firmware[^\n]*sp887x[^\n]*\([\n][^\n]\+\)\+' Documentation/dvb/avermedia.txt
defsnc 'const[ ]char[ ]_[zs]b_findmap\[\][ ]=' arch/s390/kernel/bitmap.c
initnc '[ ][{][ ]CnINT2MSKR0,[ ]CnINT2MSKCR0[ ],[ ]32,' arch/sh/kernel/cpu/sh4a/setup-sh7786.c
blobname 'solos-\(FPGA\|Firmware\)\.bin' drivers/atm/solos-pci.c
- blob '\([/][*][ ]load[ ]r[67]00[ ]microcode\([^/]\|[^*/][/]*\)*[*][/][\n]\)\?static[ ]void[ ]r[67]00_cp_load_microcode[(][^{]*[)][\n][{][\n]\([^}]\|[^\n}][}]*\)*[\n][}][\n]' drivers/gpu/drm/radeon/r600_cp.c
- blobna 'r[67]00_cp_load_microcode[(][^;]*[)][;]' drivers/gpu/drm/radeon/r600_cp.c
defsnc 'static[ ]u16[ ]__initdata[ ]i2c_clk_div\[50\]\[2\][ ]=' drivers/i2c/busses/i2c-imx.c
defsnc 'static[ ]const[ ]struct[ ]mpc_i2c_divider[ ]mpc_i2c_dividers_\(52xx\|8xxx\)\[\][ ]=' drivers/i2c/busses/i2c-mpc.c
accept '[ ]const[ ]char[ ]\*fw_name[ ]=[ ]["]av7110[/]bootcode\.bin["][;]' drivers/media/dvb/ttpci/av7110_hw.c
blobname '3826\.arm' 'drivers/\(net/wireless/p54/p54spi\|staging/stlc45xx/stlc45xx\)\.c'
defsnc 'static[ ]unsigned[ ]char[ ]p54spi_eeprom\[\][ ]=' drivers/net/wireless/p54/p54spi_eeprom.h
blobname '\(comedi[/]\)\?jr3pci\.idm' drivers/staging/comedi/drivers/jr3_pci.c
- blobname 'usbdux\(fast\)\?_firmware\.hex' 'drivers/staging/comedi/drivers/usbdux\(fast\)\?\.c'
+ blobname 'usbdux\(fast\)\?_firmware\.bin' 'drivers/staging/comedi/drivers/usbdux\(fast\)\?\.c'
blobname 'RT30xxEEPROM\.bin' drivers/staging/rt3070/common/eeprom.c
blob '#include[ ]*["]\.\.[/]firmware.h["]' drivers/staging/rt3070/common/rtmp_init.c
defsnc 'static[ ]const[ ]u8[ ]default_cal_\(channels\|rssi\)\[\][ ]=' drivers/staging/stlc45xx/stlc45xx.c
defsnc 'static[ ]const[ ]u16[ ]wm8960_reg\[WM8960_CACHEREGNUM\][ ]=' sound/soc/codecs/wm8960.c
# end of new in 2.6.31
accept '[ ]*ramdisk[ ]=[ ]["][/]boot[/][^ ]*initrd[^ ]*\.img["]' Documentation/ia64/xen.txt
+
+ # in drm-*.patch, post-2.6.31
+ blobname 'matrox[/]g[24]00_warp\.fw' drivers/gpu/drm/mga/mga_warp.c
+ blobname 'r128[/]r128_cce\.bin' drivers/gpu/drm/r128/r128_cce.c
+ blobname 'radeon[/]R\([123]0\|[45]2\|S6[09]\)0_cp\.bin' drivers/gpu/drm/radeon/r100.c
+ blobname 'radeon[/]\(R\(60\|V6[1237]\|S7[1378]\)[05]\|%s\)_\(pfp\|me\)\.bin' drivers/gpu/drm/radeon/r600.c
+ defsnc 'const[ ]u32[ ]r[67]xx_default_state\[\] =' drivers/gpu/drm/radeon/r600_blit_shaders.c
+ defsnc 'struct nv17_tv_norm_params nv17_tv_norms\[NUM_TV_NORMS] =' drivers/gpu/drm/nouveau/nv17_tv_modes.c
;;
*/patch*2.6.30*)
defsnc '#if[ ]0[\n][ ][{]0x30,[ ]0x0154,[ ]0x0008[}],' drivers/media/video/gspca/sunplus.c
;;
- */drm-modesetting-radeon.patch)
- defsnc 'static[ ]int[ ]atom_dst_to_src\[8\]\[4\][ ]=' drivers/gpu/drm/radeon/atom.c
- ;;
-
*/linux*alsa*.patch)
defsnc 'static[ ]u8[ ]tas3004_treble_table\[\][ ]=' sound/aoa/codecs/tas-basstreble.h
defsnc 'static[ ]const[ ]unsigned[ ]char[ ]wm_vol\[256\][ ]=' sound/pci/ice1712/phase.c
initnc 'const[ ]u\(8\|16\|32\)[ ]b43_ntab_\(\(adjustpower\|estimatepowerlt\|gainctl\|iqlt\|loftlt\|noisevar1\|tdi[24]0a\)[01]\|channelest\|frame\(lookup\|struct\)\|mcs\|pilot\|tdtrn\|tmap\)\[\][ ]='
;;
*/*drm*.patch)
+ defsnc 'const[ ]u32[ ]r[67]xx_default_state\[\] =' drivers/gpu/drm/radeon/r600_blit_shaders.c
+ defsnc 'struct nv17_tv_norm_params nv17_tv_norms\[NUM_TV_NORMS] =' drivers/gpu/drm/nouveau/nv17_tv_modes.c
+ defsnc 'static[ ]int[ ]atom_dst_to_src\[8\]\[4\][ ]=' drivers/gpu/drm/radeon/atom.c
+ blobname 'matrox[/]g[24]00_warp\.fw' drivers/gpu/drm/mga/mga_warp.c
+ blobname 'r128[/]r128_cce\.bin' drivers/gpu/drm/r128/r128_cce.c
+ blobname 'radeon[/]R\([123]0\|[45]2\|S6[09]\)0_cp\.bin' drivers/gpu/drm/radeon/r100.c
+ blobname 'radeon[/]\(R\(60\|V6[1237]\|S7[1378]\)[05]\|%s\)_\(pfp\|me\)\.bin' drivers/gpu/drm/radeon/r600.c
+
# linux-2.6-drm-i915-modeset.patch, nouveau-drm*.patch,
# drm-fedora9-rollup.patch
initnc 'static[ ]const[ ]u32[ ]filter_table\[\][ ]=' drivers/char/drm/intel_tv.c
# these are bits of code, obtained through mmio interactions.
# This means these blobs are not source code, AND original authors
# of the blobs have power to stop others from modifying them.
- # Non-Free software, for sure.
+ # Non-Free Software, for sure.
# initnc 'static[ ]uint32_t[ ]nv\(4[013467ace]\|49_4b\|8[46]\)_ctx_\(voodoo\|prog\)\[\][ ]=' 'drivers/char/drm/nv40_graph.c|.*'
;;