#!/bin/sh
-# Copyright (C) 2008, 2009 Alexandre Oliva <lxoliva@fsfla.org>
+# Copyright (C) 2008, 2009, 2010 Alexandre Oliva <lxoliva@fsfla.org>
# Copyright (C) 2008 Jeff Moe
# Copyright (C) 2009 Rubén Rodríguez <ruben@gnu.org>
#
# 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.30 extra=++
+kver=2.6.30 extra=2
case $1 in
--force)
fi
filetest () {
- [ -f $1 ]
+ if [ ! -f $1 ]; then
+ die $1 does not exist, something is wrong && return 1
+ fi
}
announce () {
clean_sed () {
#$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}
+ sed -e "$1" "$2" > "$2".deblob || {
+ die $2: failed: ${3-applied sed script $1} && return 1; }
+ check_changed $2 && echo $2: ${3-applied sed script $1}
}
reject_firmware () {
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 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 '
-/^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 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'
return (printk(KERN_ERR PFX "%s: Missing Free firmware\\n", bp->dev->name),\\\
-EINVAL)
}' drivers/net/bnx2x_main.c 'report missing Free firmware'
+clean_blob drivers/net/bnx2x_hsi.h
clean_kconfig drivers/net/Kconfig 'BNX2X'
clean_mk CONFIG_BNX2X drivers/net/Makefile
/for (p = PhyUcode/i\
printk("%s: missing Free firmware\\n", __func__);\
return (STATUS_FAILURE);\
-#define PhyUcode NULL
-}' drivers/staging/sxg/sxg.c
+#define PhyUcode NULL
+}' drivers/staging/sxg/sxg.c 'report missing Free firmware'
clean_blob drivers/staging/sxg/sxg.c
clean_kconfig drivers/staging/sxg/Kconfig 'SXG'
clean_mk CONFIG_SXG drivers/staging/sxg/Makefile
/^INT[ ]set_eFuseLoadFromBin_Proc(/,/^}$/{
/src = kmalloc/i\
printk("%s: missing Free firmware\\n", __func__);\
- return FALSE;
+ return FALSE;
}' drivers/staging/rt3070/common/eeprom.c 'report missing Free firmware'
clean_blob drivers/staging/rt3070/common/eeprom.c
clean_sed '
}' drivers/staging/rt3070/common/rtmp_init.c 'report missing Free firmware'
clean_blob drivers/staging/rt3070/common/rtmp_init.c
clean_kconfig drivers/staging/rt3070/Kconfig RT3070
-clean_kconfig 'CONFIG_RT3070' drivers/staging/rt3070/Makefile
+clean_mk CONFIG_RT3070 drivers/staging/rt3070/Makefile
# wimax
announce ME4000 - "Meilhaus ME-4000 I/O board"
clean_file drivers/staging/me4000/me4000_firmware.h
clean_file drivers/staging/me4000/me4610_firmware.h
+clean_sed '
+/^static int me4000_xilinx_download([^;]*$/,/^}$/{
+ /firm = .*xilinx_firm.*/i\
+ printk(KERN_ERR "me4000: Missing Free firmware\\n");\
+ return -EIO;
+}
+' drivers/staging/me4000/me4000.c 'report missing Free firmware'
+clean_blob drivers/staging/me4000/me4000.c
clean_kconfig drivers/staging/me4000/Kconfig 'ME4000'
clean_mk CONFIG_ME4000 drivers/staging/me4000/Makefile
clean_blob Documentation/sound/oss/MultiSound
clean_blob Documentation/sound/oss/PSS
clean_blob Documentation/sound/oss/PSS-updates
+clean_blob Documentation/sound/oss/README.OSS
clean_file Documentation/dvb/get_dvb_firmware
clean_file Documentation/video4linux/extract_xc3028.pl
clean_sed s,usb8388,whatever,g drivers/base/Kconfig 'removed blob name'