# from 1 if changes are needed that require rebuilding the tarball.
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
echo optional deblob-check missing, will remove entire files >&2
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
echo $1 exists, something is wrong >&2
exit 1
else
- echo "\$(obj)/$1: ; mkdir -p \$(dir \$@) && : > \$@" >> firmware/Makefile
+ hack_fwmk "NONFREE_FW += $2"
fi
}
dummy_blob $2
}
+function hack_fwmk {
+ if test ! -f firmware/Makefile; then
+ echo firmware/Makefile does not exist, something is wrong >&2
+ exit 1
+ fi
+
+ sed -i "/^[ ]*fw-shipped-all[ ]*:=[ ]*/i\
+$1
+" firmware/Makefile
+}
+
function clean_kconfig {
#$1 = filename $2 = things to remove
echo Marking config $2 as depending on NONFREE in $1
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
# Identify the tarball.
sed -i "s,^EXTRAVERSION.*,&-libre$extra," Makefile
+hack_fwmk 'NONFREE_FW :='
+
#######################
# Removed ATM Drivers #
#######################
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/renesas/ap325rxa/setup.c
+clean_kconfig arch/sh/Kconfig 'SH_AP325RXA'
+clean_mk CONFIG_SH_AP325RXA arch/sh/boards/renesas/Makefile
+
+# SH_MIGOR - Reneasas Migo-R
+clean_blob arch/sh/boards/renesas/migor/lcd_qvga.c -s 16
+clean_blob arch/sh/boards/renesas/migor/setup.c
+clean_kconfig arch/sh/boards/renesas/Kconfig 'SH_MIGOR'
+clean_kconfig arch/sh/boards/renesas/migor/Kconfig 'SH_MIGOR_QVGA'
+clean_mk CONFIG_MIGOR_QVGA arch/sh/boards/renesas/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'
+
+hack_fwmk 'fw-shipped-y := $(filter-out $(NONFREE_FW), $(fw-shipped-y))'
+hack_fwmk 'fw-shipped-m := $(filter-out $(NONFREE_FW), $(fw-shipped-m))'
+hack_fwmk 'fw-shipped- := $(filter-out $(NONFREE_FW), $(fw-shipped-) )'
exit 0