linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / fs / jffs2 / compr_zlib.c
index 3681d07..4db8be8 100644 (file)
@@ -15,6 +15,7 @@
 #error "The userspace support got too messy and was removed. Update your mkfs.jffs2"
 #endif
 
+#include <linux/config.h>
 #include <linux/kernel.h>
 #include <linux/sched.h>
 #include <linux/slab.h>
        */
 #define STREAM_END_SPACE 12
 
-static DEFINE_MUTEX(deflate_mutex);
-static DEFINE_MUTEX(inflate_mutex);
+static DECLARE_MUTEX(deflate_sem);
+static DECLARE_MUTEX(inflate_sem);
 static z_stream inf_strm, def_strm;
 
 #ifdef __KERNEL__ /* Linux-only */
 #include <linux/vmalloc.h>
 #include <linux/init.h>
-#include <linux/mutex.h>
 
 static int __init alloc_workspaces(void)
 {
@@ -79,11 +79,11 @@ static int jffs2_zlib_compress(unsigned char *data_in,
        if (*dstlen <= STREAM_END_SPACE)
                return -1;
 
-       mutex_lock(&deflate_mutex);
+       down(&deflate_sem);
 
        if (Z_OK != zlib_deflateInit(&def_strm, 3)) {
                printk(KERN_WARNING "deflateInit failed\n");
-               mutex_unlock(&deflate_mutex);
+               up(&deflate_sem);
                return -1;
        }
 
@@ -104,7 +104,7 @@ static int jffs2_zlib_compress(unsigned char *data_in,
                if (ret != Z_OK) {
                        D1(printk(KERN_DEBUG "deflate in loop returned %d\n", ret));
                        zlib_deflateEnd(&def_strm);
-                       mutex_unlock(&deflate_mutex);
+                       up(&deflate_sem);
                        return -1;
                }
        }
@@ -133,7 +133,7 @@ static int jffs2_zlib_compress(unsigned char *data_in,
        *sourcelen = def_strm.total_in;
        ret = 0;
  out:
-       mutex_unlock(&deflate_mutex);
+       up(&deflate_sem);
        return ret;
 }
 
@@ -145,7 +145,7 @@ static int jffs2_zlib_decompress(unsigned char *data_in,
        int ret;
        int wbits = MAX_WBITS;
 
-       mutex_lock(&inflate_mutex);
+       down(&inflate_sem);
 
        inf_strm.next_in = data_in;
        inf_strm.avail_in = srclen;
@@ -173,7 +173,7 @@ static int jffs2_zlib_decompress(unsigned char *data_in,
 
        if (Z_OK != zlib_inflateInit2(&inf_strm, wbits)) {
                printk(KERN_WARNING "inflateInit failed\n");
-               mutex_unlock(&inflate_mutex);
+               up(&inflate_sem);
                return 1;
        }
 
@@ -183,7 +183,7 @@ static int jffs2_zlib_decompress(unsigned char *data_in,
                printk(KERN_NOTICE "inflate returned %d\n", ret);
        }
        zlib_inflateEnd(&inf_strm);
-       mutex_unlock(&inflate_mutex);
+       up(&inflate_sem);
         return 0;
 }