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);
struct uinput_device *udev = file->private_data;
int retval;
- retval = down_interruptible(&udev->sem);
+ retval = mutex_lock_interruptible(&udev->mutex);
if (retval)
return retval;
uinput_inject_event(udev, buffer, count) :
uinput_setup_device(udev, buffer, count);
- up(&udev->sem);
+ mutex_unlock(&udev->mutex);
return retval;
}
if (retval)
return retval;
- retval = down_interruptible(&udev->sem);
+ retval = mutex_lock_interruptible(&udev->mutex);
if (retval)
return retval;
}
out:
- up(&udev->sem);
+ mutex_unlock(&udev->mutex);
return retval;
}
udev = file->private_data;
- retval = down_interruptible(&udev->sem);
+ retval = mutex_lock_interruptible(&udev->mutex);
if (retval)
return retval;
}
out:
- up(&udev->sem);
+ mutex_unlock(&udev->mutex);
return retval;
}
* 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
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;