Commit ba4e9a61 authored by David Herrmann's avatar David Herrmann Committed by Dmitry Torokhov

Input: uinput - add UI_GET_VERSION ioctl

This ioctl is the counterpart to EVIOCGVERSION and returns the
uinput-version the kernel was compiled with.
Reviewed-by: default avatarPeter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: default avatarDavid Herrmann <dh.herrmann@gmail.com>
Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent bcb898e5
...@@ -723,6 +723,12 @@ static long uinput_ioctl_handler(struct file *file, unsigned int cmd, ...@@ -723,6 +723,12 @@ static long uinput_ioctl_handler(struct file *file, unsigned int cmd,
} }
switch (cmd) { switch (cmd) {
case UI_GET_VERSION:
if (put_user(UINPUT_VERSION,
(unsigned int __user *)p))
retval = -EFAULT;
goto out;
case UI_DEV_CREATE: case UI_DEV_CREATE:
retval = uinput_create_device(udev); retval = uinput_create_device(udev);
goto out; goto out;
......
...@@ -84,6 +84,15 @@ struct uinput_ff_erase { ...@@ -84,6 +84,15 @@ struct uinput_ff_erase {
*/ */
#define UI_GET_SYSNAME(len) _IOC(_IOC_READ, UINPUT_IOCTL_BASE, 300, len) #define UI_GET_SYSNAME(len) _IOC(_IOC_READ, UINPUT_IOCTL_BASE, 300, len)
/**
* UI_GET_VERSION - Return version of uinput protocol
*
* This writes uinput protocol version implemented by the kernel into
* the integer pointed to by the ioctl argument. The protocol version
* is hard-coded in the kernel and is independent of the uinput device.
*/
#define UI_GET_VERSION _IOR(UINPUT_IOCTL_BASE, 301, unsigned int)
/* /*
* To write a force-feedback-capable driver, the upload_effect * To write a force-feedback-capable driver, the upload_effect
* and erase_effect callbacks in input_dev must be implemented. * and erase_effect callbacks in input_dev must be implemented.
......
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