# 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.28 extra=1++
+kver=2.6.28 extra=3
fatal () {
echo "$@"
*) die () { fatal "$@"; }; forced=false;;
esac
-check=`echo $0 | sed 's,/[^/]*$,,'`/deblob-check
+check=`echo "$0" | sed 's,[^/]*$,,;s,^$,.,;s,/*$,,'`/deblob-check
if [ ! -f $check ] ; then
if $forced; then
die deblob-check script missing, will remove entire files
dummy_blob () {
#$1 = filename
if test -f $1; then
- fatal $1 exists, something is wrong
+ die $1 exists, something is wrong
elif test ! -f firmware/Makefile; then
- fatal firmware/Makefile does not exist, something is wrong
+ die firmware/Makefile does not exist, something is wrong
fi
clean_sed "s,`echo $1 | sed s,^firmware/,,`,\$(DEBLOBBED),g" \
clean_fw () {
#$1 = firmware text input, $2 = firmware output
if test ! -f $1; then
- fatal $1 does not exist, something is wrong
+ die $1 does not exist, something is wrong
elif test -f $2; then
- fatal $2 exists, something is wrong
+ die $2 exists, something is wrong
fi
clean_blob $1 -s 4
dummy_blob $2
drop_fw_file () {
#$1 = firmware text input, $2 = firmware output
if test ! -f $1; then
- fatal $1 does not exist, something is wrong
+ die $1 does not exist, something is wrong
elif test -f $2; then
- fatal $2 exists, something is wrong
+ die $2 exists, something is wrong
fi
clean_file $1
dummy_blob $2
clean_sed '
s,\([" ]\)request_firmware(,\1reject_firmware(,
' arch/arm/mach-netx/xc.c 'disabled non-Free firmware-loading machinery'
+clean_blob arch/arm/mach-netx/xc.c
+clean_kconfig arch/arm/Kconfig 'ARCH_NETX'
+clean_mk CONFIG_ARCH_NETX arch/arm/Makefile
#######
announce DRM_MGA - "Matrox g200/g400"
clean_blob drivers/gpu/drm/mga/mga_ucode.h
clean_blob drivers/gpu/drm/mga/mga_warp.c
-clean_kconfig drivers/gpu/drm/Kconfig 'DRM_MGA'
+clean_kconfig -f drivers/gpu/drm/Kconfig 'DRM_MGA'
clean_mk CONFIG_DRM_MGA drivers/gpu/drm/Makefile
announce DRM_R128 - "ATI Rage 128"
}
}' drivers/gpu/drm/r128/r128_cce.c 'report missing Free microcode'
clean_blob drivers/gpu/drm/r128/r128_cce.c
-clean_kconfig drivers/gpu/drm/Kconfig 'DRM_R128'
+clean_kconfig -f drivers/gpu/drm/Kconfig 'DRM_R128'
clean_mk CONFIG_DRM_R128 drivers/gpu/drm/Makefile
announce DRM_RADEON - "ATI Radeon"
}' drivers/gpu/drm/radeon/radeon_cp.c 'report missing Free microcode on resume'
clean_blob drivers/gpu/drm/radeon/radeon_cp.c
clean_blob drivers/gpu/drm/radeon/radeon_microcode.h
-clean_kconfig drivers/gpu/drm/Kconfig 'DRM_RADEON'
+clean_kconfig -f drivers/gpu/drm/Kconfig 'DRM_RADEON'
clean_mk CONFIG_DRM_RADEON drivers/gpu/drm/Makefile
# dvb/frontends
announce DVB_AF9013 - "Afatech AF9013 demodulator"
-undefault_firmware 'AF9013' drivers/media/dvb/frontends/af9013.c
+undefault_firmware 'AF9013' \
+ drivers/media/dvb/frontends/af9013.c \
+ drivers/media/dvb/frontends/af9013_priv.h
reject_firmware drivers/media/dvb/frontends/af9013.c
-clean_blob drivers/media/dvb/frontends/af9013_priv.h
clean_kconfig drivers/media/dvb/frontends/Kconfig 'DVB_AF9013'
clean_mk CONFIG_DVB_AF9013 drivers/media/dvb/frontends/Makefile
reject_firmware drivers/media/dvb/siano/smsusb.c
clean_blob drivers/media/dvb/siano/smscoreapi.c
clean_blob drivers/media/dvb/siano/smsusb.c
+clean_blob drivers/media/dvb/siano/sms-cards.c
clean_kconfig drivers/media/dvb/siano/Kconfig 'DVB_SIANO_SMS1XXX'
clean_mk CONFIG_DVB_SIANO_SMS1XXX drivers/media/dvb/siano/Makefile
reject_firmware drivers/media/video/cx18/cx18-av-firmware.c
reject_firmware drivers/media/video/cx18/cx18-firmware.c
clean_blob drivers/media/video/cx18/cx18-av-firmware.c
+clean_blob drivers/media/video/cx18/cx18-firmware.c
clean_kconfig drivers/media/video/cx18/Kconfig 'VIDEO_CX18'
clean_mk CONFIG_VIDEO_CX18 drivers/media/video/cx18/Makefile
/^ for ([^;]*ucode_opts[^{]*) {$/,/^ }$/ {
/^ }$/ i\
}\
- DPRINTK(DRV, ERR, "Missing Free firmware\\n");\
- /* ??? We should error out somehow. */\
+ DPRINTK(DRV, ERR, "Missing Free firmware, proceeding without\\n");\
goto noloaducode;
}
}
clean_mk CONFIG_BT_HCIBT3C drivers/bluetooth/Makefile
+########
+# ISDN #
+########
+
+announce ISDN_DIVAS - "Support Eicon DIVA Server cards"
+clean_blob drivers/isdn/hardware/eicon/cardtype.h
+clean_blob drivers/isdn/hardware/eicon/dsp_defs.h
+clean_kconfig drivers/isdn/hardware/eicon/Kconfig 'ISDN_DIVAS'
+clean_mk CONFIG_ISDN_DIVAS drivers/isdn/hardware/eicon/Makefile
+
##########
# Serial #
##########
reject_firmware drivers/scsi/qla2xxx/qla_gbl.h
reject_firmware drivers/scsi/qla2xxx/qla_init.c
reject_firmware drivers/scsi/qla2xxx/qla_os.c
+clean_sed '
+/^config SCSI_QLA_FC$/,/^config /{
+ /^ By default, firmware/i\
+ /*(DEBLOBBED)*/
+ /^ By default, firmware/,/ftp:[/][/].*firmware[/]/d
+}' drivers/scsi/qla2xxx/Kconfig 'removed firmware notes'
clean_blob drivers/scsi/qla2xxx/qla_os.c
clean_kconfig drivers/scsi/qla2xxx/Kconfig 'SCSI_QLA_FC'
clean_mk CONFIG_SCSI_QLA_FC drivers/scsi/qla2xxx/Makefile
clean_mk CONFIG_SOUND_SB sound/oss/Makefile
announce SOUND_PSS - "PSS (AD1848, ADSP-2115, ESC614) support"
+clean_sed 's,^\( [*] .*synth"\)\.$,\1/*.,' sound/oss/pss.c 'avoid nested comments'
clean_blob sound/oss/pss.c
clean_kconfig sound/oss/Kconfig 'SOUND_PSS'
clean_sed '