linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / drivers / media / video / saa5246a.c
index 59a1872..2ce0102 100644 (file)
@@ -46,9 +46,6 @@
 #include <linux/i2c.h>
 #include <linux/videotext.h>
 #include <linux/videodev.h>
-#include <media/v4l2-common.h>
-#include <linux/mutex.h>
-
 #include "saa5246a.h"
 
 MODULE_AUTHOR("Michael Geng <linux@MichaelGeng.de>");
@@ -60,7 +57,7 @@ struct saa5246a_device
        u8     pgbuf[NUM_DAUS][VTX_VIRTUALSIZE];
        int    is_searching[NUM_DAUS];
        struct i2c_client *client;
-       struct mutex lock;
+       struct semaphore lock;
 };
 
 static struct video_device saa_template;       /* Declared near bottom */
@@ -93,7 +90,7 @@ static int saa5246a_attach(struct i2c_adapter *adap, int addr, int kind)
                return -ENOMEM;
        }
        strlcpy(client->name, IF_NAME, I2C_NAME_SIZE);
-       mutex_init(&t->lock);
+       init_MUTEX(&t->lock);
 
        /*
         *      Now create a video4linux device
@@ -722,9 +719,9 @@ static int saa5246a_ioctl(struct inode *inode, struct file *file,
        int err;
 
        cmd = vtx_fix_command(cmd);
-       mutex_lock(&t->lock);
+       down(&t->lock);
        err = video_usercopy(inode, file, cmd, arg, do_saa5246a_ioctl);
-       mutex_unlock(&t->lock);
+       up(&t->lock);
        return err;
 }