aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Torokhov <dtor_core@ameritech.net>2006-02-19 00:22:36 -0500
committerDmitry Torokhov <dtor_core@ameritech.net>2006-02-19 00:22:36 -0500
commit221979aad6ab4792617f2e58973aa6fc349d4036 (patch)
treee81283dd407fd2620b736673349ab5847a0175f5
parent72ba9f0ce09c5508ec4b0cf30e88899872a83f75 (diff)
Input: uinput - semaphore to mutex conversion
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
-rw-r--r--drivers/input/misc/uinput.c14
-rw-r--r--include/linux/uinput.h4
2 files changed, 9 insertions, 9 deletions
diff --git a/drivers/input/misc/uinput.c b/drivers/input/misc/uinput.c
index 546ed9b4901..d723e9ad7c4 100644
--- a/drivers/input/misc/uinput.c
+++ b/drivers/input/misc/uinput.c
@@ -194,7 +194,7 @@ static int uinput_open(struct inode *inode, struct file *file)
if (!newdev)
return -ENOMEM;
- init_MUTEX(&newdev->sem);
+ mutex_init(&newdev->mutex);
spin_lock_init(&newdev->requests_lock);
init_waitqueue_head(&newdev->requests_waitq);
init_waitqueue_head(&newdev->waitq);
@@ -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;
int retval;
- retval = down_interruptible(&udev->sem);
+ retval = mutex_lock_interruptible(&udev->mutex);
if (retval)
return retval;
@@ -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_setup_device(udev, buffer, count);
- up(&udev->sem);
+ mutex_unlock(&udev->mutex);
return retval;
}
@@ -369,7 +369,7 @@ static ssize_t uinput_read(struct file *file, char __user *buffer, size_t count,
if (retval)
return retval;
- retval = down_interruptible(&udev->sem);
+ retval = mutex_lock_interruptible(&udev->mutex);
if (retval)
return retval;
@@ -388,7 +388,7 @@ static ssize_t uinput_read(struct file *file, char __user *buffer, size_t count,
}
out:
- up(&udev->sem);
+ mutex_unlock(&udev->mutex);
return retval;
}
@@ -439,7 +439,7 @@ static long uinput_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
udev = file->private_data;
- retval = down_interruptible(&udev->sem);
+ retval = mutex_lock_interruptible(&udev->mutex);
if (retval)
return retval;
@@ -589,7 +589,7 @@ static long uinput_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
}
out:
- up(&udev->sem);
+ mutex_unlock(&udev->mutex);
return retval;
}
diff --git a/include/linux/uinput.h b/include/linux/uinput.h
index 0ff7ca68e5c..7168302f984 100644
--- a/include/linux/uinput.h
+++ b/include/linux/uinput.h
@@ -20,7 +20,7 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* Author: Aristeu Sergio Rozanski Filho <aris@cathedrallabs.org>
- *
+ *
* Changes/Revisions:
* 0.2 16/10/2004 (Micah Dowty <micah@navi.cx>)
* - added force feedback support
@@ -51,7 +51,7 @@ struct uinput_request {
struct uinput_device {
struct input_dev *dev;
- struct semaphore sem;
+ struct mutex mutex;
enum uinput_state state;
wait_queue_head_t waitq;
unsigned char ready;