# 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
if test -f $1; then
echo $1 exists, something is wrong >&2
exit 1
- else
- hack_fwmk "NONFREE_FW += $2"
+ 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
}
-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/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
#####################
# 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
+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/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
+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
########################
# Most of this file is not matched by deblob-check because of WAIT_IDLE.
# Just remove it.
clean_file sound/isa/wavefront/yss225.c
-
-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-) )'
+clean_kconfig sound/isa/Kconfig 'SND_WAVEFRONT_FIRMWARE_IN_KERNEL'
exit 0