Commit 221979aa authored by Dmitry Torokhov's avatar Dmitry Torokhov

Input: uinput - semaphore to mutex conversion

Signed-off-by: default avatarDmitry Torokhov <dtor@mail.ru>
parent 72ba9f0c
...@@ -194,7 +194,7 @@ static int uinput_open(struct inode *inode, struct file *file) ...@@ -194,7 +194,7 @@ static int uinput_open(struct inode *inode, struct file *file)
if (!newdev) if (!newdev)
return -ENOMEM; return -ENOMEM;
init_MUTEX(&newdev->sem); mutex_init(&newdev->mutex);
spin_lock_init(&newdev->requests_lock); spin_lock_init(&newdev->requests_lock);
init_waitqueue_head(&newdev->requests_waitq); init_waitqueue_head(&newdev->requests_waitq);
init_waitqueue_head(&newdev->waitq); init_waitqueue_head(&newdev->waitq);
...@@ -340,7 +340,7 @@ static ssize_t uinput_write(struct file *file, const char __user *buffer, size_t ...@@ -340,7 +340,7 @@ static ssize_t uinput_write(struct file *file, const char __user *buffer, size_t
struct uinput_device *udev = file->private_data; struct uinput_device *udev = file->private_data;
int retval; int retval;
retval = down_interruptible(&udev->sem); retval = mutex_lock_interruptible(&udev->mutex);
if (retval) if (retval)
return retval; return retval;
...@@ -348,7 +348,7 @@ static ssize_t uinput_write(struct file *file, const char __user *buffer, size_t ...@@ -348,7 +348,7 @@ static ssize_t uinput_write(struct file *file, const char __user *buffer, size_t
uinput_inject_event(udev, buffer, count) : uinput_inject_event(udev, buffer, count) :
uinput_setup_device(udev, buffer, count); uinput_setup_device(udev, buffer, count);
up(&udev->sem); mutex_unlock(&udev->mutex);
return retval; return retval;
} }
...@@ -369,7 +369,7 @@ static ssize_t uinput_read(struct file *file, char __user *buffer, size_t count, ...@@ -369,7 +369,7 @@ static ssize_t uinput_read(struct file *file, char __user *buffer, size_t count,
if (retval) if (retval)
return retval; return retval;
retval = down_interruptible(&udev->sem); retval = mutex_lock_interruptible(&udev->mutex);
if (retval) if (retval)
return retval; return retval;
...@@ -388,7 +388,7 @@ static ssize_t uinput_read(struct file *file, char __user *buffer, size_t count, ...@@ -388,7 +388,7 @@ static ssize_t uinput_read(struct file *file, char __user *buffer, size_t count,
} }
out: out:
up(&udev->sem); mutex_unlock(&udev->mutex);
return retval; return retval;
} }
...@@ -439,7 +439,7 @@ static long uinput_ioctl(struct file *file, unsigned int cmd, unsigned long arg) ...@@ -439,7 +439,7 @@ static long uinput_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
udev = file->private_data; udev = file->private_data;
retval = down_interruptible(&udev->sem); retval = mutex_lock_interruptible(&udev->mutex);
if (retval) if (retval)
return retval; return retval;
...@@ -589,7 +589,7 @@ static long uinput_ioctl(struct file *file, unsigned int cmd, unsigned long arg) ...@@ -589,7 +589,7 @@ static long uinput_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
} }
out: out:
up(&udev->sem); mutex_unlock(&udev->mutex);
return retval; return retval;
} }
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
* *
* Author: Aristeu Sergio Rozanski Filho <aris@cathedrallabs.org> * Author: Aristeu Sergio Rozanski Filho <aris@cathedrallabs.org>
* *
* Changes/Revisions: * Changes/Revisions:
* 0.2 16/10/2004 (Micah Dowty <micah@navi.cx>) * 0.2 16/10/2004 (Micah Dowty <micah@navi.cx>)
* - added force feedback support * - added force feedback support
...@@ -51,7 +51,7 @@ struct uinput_request { ...@@ -51,7 +51,7 @@ struct uinput_request {
struct uinput_device { struct uinput_device {
struct input_dev *dev; struct input_dev *dev;
struct semaphore sem; struct mutex mutex;
enum uinput_state state; enum uinput_state state;
wait_queue_head_t waitq; wait_queue_head_t waitq;
unsigned char ready; unsigned char ready;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment