# 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.27 extra=
+kver=2.6.27 extra=++
+
+case $1 in
+--force) die () { echo ERROR: "$@": ignored >&2; }; shift;;
+*) die () { echo "$@" >&2; exit 1; };;
+esac
check=`echo $0 | sed 's,/[^/]*$,,'`/deblob-check
if [ ! -f $check ] ; then
function clean_file {
#$1 = filename
if test ! -f $1; then
- echo $1 does not exist, something is wrong >&2
- exit 1
+ die $1 does not exist, something is wrong
fi
rm -v $1
}
function check_changed {
if test ! -f $1; then
- echo $1 does not exist, something is wrong >&2
- exit 1
+ die $1 does not exist, something is wrong
elif cmp $1.deblob $1 > /dev/null; then
- echo $1 did not change, something is wrong >&2
- exit 1
+ die $1 did not change, something is wrong
fi
mv $1.deblob $1
}
#$1 = filename
if $have_check; then
if test ! -f $1; then
- echo $1 does not exist, something is wrong >&2
- exit 1
+ die $1 does not exist, something is wrong
fi
name=$1
echo Removing blobs from $name
if test -f $1; then
echo $1 exists, something is wrong >&2
exit 1
- else
- echo "\$(obj)/$1: ; mkdir -p \$(dir \$@) && : > \$@" >> firmware/Makefile
+ elif test ! -f firmware/Makefile; then
+ echo firmware/Makefile does not exist, something is wrong >&2
+ exit 1
fi
+
+ sed -i "s,`echo $1 | sed s,^firmware/,,`,\$(DEBLOBBED),g" \
+ firmware/Makefile
}
function clean_fw {
echo $2 exists, something is wrong >&2
exit 1
fi
- clean_blob $1
+ clean_blob $1 -s 4
dummy_blob $2
}
if sed -n "/\\($1\\)/p" $2 | grep . > /dev/null; then
:
else
- echo $2 does not contain matches for $1
- exit 1
+ die $2 does not contain matches for $1
fi
}
sound/pci/cs46xx/imgs/cwcdma.asp \
; do
if test ! $f; then
- echo $f is not present, something is amiss >&2
- exit 1
+ die $f is not present, something is amiss
fi
done
clean_kconfig drivers/atm/Kconfig 'ATM_FORE.*'
clean_mk CONFIG_ATM_FORE200E drivers/atm/Makefile
-clean_file drivers/atm/pca200e.data
-clean_file drivers/atm/pca200e_ecd.data
-clean_file drivers/atm/sba200e_ecd.data
clean_kconfig drivers/atm/Kconfig 'ATM_AMBASSADOR'
clean_mk CONFIG_ATM_AMBASSADOR drivers/atm/Makefile
# gpu drm
# DRM_MGA - Matrox g200/g400
-clean_blob drivers/gpu/drm/mga_ucode.h
+clean_blob drivers/gpu/drm/mga/mga_ucode.h
clean_kconfig drivers/gpu/drm/Kconfig 'DRM_MGA'
clean_mk CONFIG_DRM_MGA drivers/gpu/drm/Makefile
# DRM_R128 - ATI Rage 128
-clean_blob drivers/gpu/drm/r128_cce.c
+clean_blob drivers/gpu/drm/r128/r128_cce.c
clean_kconfig drivers/gpu/drm/Kconfig 'DRM_R128'
clean_mk CONFIG_DRM_R128 drivers/gpu/drm/Makefile
# DRM_RADEON - ATI Radeon
-clean_blob drivers/gpu/drm/radeon_microcode.h
+clean_blob drivers/gpu/drm/radeon/radeon_microcode.h
clean_kconfig drivers/gpu/drm/Kconfig 'DRM_RADEON'
clean_mk CONFIG_DRM_RADEON drivers/gpu/drm/Makefile
clean_mk CONFIG_MYRI_SBUS drivers/net/Makefile
# TEHUTI - Tehuti Networks 10G Ethernet
-clean_blob drivers/net/tehuti_fw.h
+clean_blob drivers/net/tehuti_fw.h -s 4
clean_kconfig drivers/net/Kconfig 'TEHUTI'
clean_mk CONFIG_TEHUTI drivers/net/Makefile
# TIGON3 - Broadcom Tigon3
-patch --no-backup-if-mismatch -p0 <<\EOF # patches/linux-2.6-tg3-clean.patch
+patch --no-backup-if-mismatch --batch -p0 <<\EOF || \
+ die failed to remove license comments from drivers/net/tg3.c \
+ # patches/linux-2.6-tg3-clean.patch
--- drivers/net/tg3.c
+++ drivers/net/tg3.c
@@ -5,14 +5,6 @@
clean_kconfig drivers/s390/net/Kconfig 'QETH'
clean_mk CONFIG_QETH drivers/s390/net/Makefile
+
+#####################
+# Removed SH boards #
+#####################
+
+# SH_AP325RXA - Renesas AP-325RXA board
+clean_blob arch/sh/boards/board-ap325rxa.c
+clean_kconfig arch/sh/boards/Kconfig 'SH_AP325RXA'
+clean_mk CONFIG_SH_AP325RXA arch/sh/boards/Makefile
+
+# SH_MIGOR - Reneasas Migo-R
+clean_blob arch/sh/boards/mach-migor/lcd_qvga.c -s 16
+clean_blob arch/sh/boards/mach-migor/setup.c
+clean_kconfig arch/sh/boards/Kconfig 'SH_MIGOR'
+clean_kconfig arch/sh/boards/mach-migor/Kconfig 'SH_MIGOR_QVGA'
+clean_mk CONFIG_SH_MIGOR_QVGA arch/sh/boards/mach-migor/Makefile
+
+
########################
# Removed SCSI Drivers #
########################
# Most of this file is not matched by deblob-check because of WAIT_IDLE.
# Just remove it.
clean_file sound/isa/wavefront/yss225.c
+clean_kconfig sound/isa/Kconfig 'SND_WAVEFRONT_FIRMWARE_IN_KERNEL'
exit 0