Introduced perl script.
[releases.git] / deblob-2.6.29
index ed4c70587abaed7977603e33cf9d9f22a1242c5c..30bd133b338e49c60050ab8d207e8767e697e9df 100755 (executable)
@@ -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} 
 }
 
@@ -437,37 +440,29 @@ clean_mk CONFIG_DRM_MGA drivers/gpu/drm/Makefile
 
 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_kconfig -f drivers/gpu/drm/Kconfig 'DRM_RADEON'
@@ -900,6 +895,7 @@ clean_sed '
   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
 
@@ -985,7 +981,7 @@ clean_sed '
                printk("%s: missing Free firmware\n");\
                return (STATUS_FAILURE);\
 #define PhyUcode NULL          
-}' drivers/staging/sxg/sxg.c
+}' drivers/staging/sxg/sxg.c 'report missing Free firmware'
 clean_kconfig drivers/staging/sxg/Kconfig 'SXG'
 clean_mk CONFIG_SXG drivers/staging/sxg/Makefile