Introduced perl script.
[releases.git] / deblob-2.6.31
index d553bd384c36eb94b16521bf5c83d32ac04a7700..f2532f5782d66991025fde9e4249f3cd96221e13 100755 (executable)
@@ -45,7 +45,7 @@
 
 # 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.31 extra=1
+kver=2.6.31 extra=2
 
 case $1 in
 --force)
@@ -80,7 +80,9 @@ else
 fi
 
 filetest () {
-  [ -f $1 ]
+  if [ ! -f $1 ]; then
+    die $1 does not exist, something is wrong && return 1
+  fi
 }
 
 announce () {
@@ -186,7 +188,8 @@ clean_mk () {
 clean_sed () {
   #$1 = sed-script $2 = file $3 = comment
   filetest $2 || return
-  sed -e "$1" "$2" > "$2".deblob
+  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} 
 }
 
@@ -485,6 +488,15 @@ clean_sed '
 clean_blob drivers/gpu/drm/radeon/radeon_cp.c
 clean_blob drivers/gpu/drm/radeon/radeon_microcode.h
 clean_sed '
+/^static void r100_cp_load_microcode(struct radeon_device \*rdev)/i\
+#define r100_cp_load_microcode(rdev) \\\
+  do { \\\
+    DRM_ERROR("Missing Free microcode!\\n"); \\\
+    return -EINVAL; \\\
+  } while (0)
+' drivers/gpu/drm/radeon/r100.c 'report missing Free microcode'
+clean_blob drivers/gpu/drm/radeon/r100.c
+clean_sed '
 /^static void r600_cp_load_microcode(drm_radeon_private_t \*dev_priv)/i\
 #define r600_cp_load_microcode(dev_priv) \\\
   do { \\\
@@ -1388,7 +1400,7 @@ clean_mk CONFIG_RT2870 drivers/staging/rt2870/Makefile
 announce RT3070 - "Ralink 3070 wireless support"
 clean_file drivers/staging/rt3070/firmware.h
 clean_kconfig drivers/staging/rt3070/Kconfig RT3070
-clean_kconfig 'CONFIG_RT3070' drivers/staging/rt3070/Makefile
+clean_mk CONFIG_RT3070 drivers/staging/rt3070/Makefile
 
 announce RTL8192SU - "RealTek RTL8192SU Wireless LAN NIC driver"
 reject_firmware drivers/staging/rtl8192su/r819xU_firmware.c
@@ -1501,6 +1513,14 @@ clean_mk CONFIG_COMEDI_USB_DRIVERS drivers/staging/comedi/drivers/Makefile
 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