diff options
| author | Jeff Garzik <jeff@garzik.org> | 2006-05-15 19:26:03 +0400 |
|---|---|---|
| committer | Jeff Garzik <jeff@garzik.org> | 2006-05-15 19:26:03 +0400 |
| commit | 5006ecc2d5073d4e52f54381fd0fee1575d4ce22 (patch) | |
| tree | bedfff6f96118771b809de30e559cc370f94c7be /drivers/input/evdev.c | |
| parent | acc696d93dcf993dec123d69d599979e1456ffec (diff) | |
| parent | 9be2f7c38e0bd64e8a0f74ea68df1e73e2ddfcc3 (diff) | |
| download | linux-5006ecc2d5073d4e52f54381fd0fee1575d4ce22.tar.xz | |
Merge branch 'master' into upstream
Diffstat (limited to 'drivers/input/evdev.c')
| -rw-r--r-- | drivers/input/evdev.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c index a34e3d91d9ed..ba325f16d077 100644 --- a/drivers/input/evdev.c +++ b/drivers/input/evdev.c @@ -403,6 +403,27 @@ static long evdev_ioctl_handler(struct file *file, unsigned int cmd, case EVIOCGID: if (copy_to_user(p, &dev->id, sizeof(struct input_id))) return -EFAULT; + return 0; + + case EVIOCGREP: + if (!test_bit(EV_REP, dev->evbit)) + return -ENOSYS; + if (put_user(dev->rep[REP_DELAY], ip)) + return -EFAULT; + if (put_user(dev->rep[REP_PERIOD], ip + 1)) + return -EFAULT; + return 0; + + case EVIOCSREP: + if (!test_bit(EV_REP, dev->evbit)) + return -ENOSYS; + if (get_user(u, ip)) + return -EFAULT; + if (get_user(v, ip + 1)) + return -EFAULT; + + input_event(dev, EV_REP, REP_DELAY, u); + input_event(dev, EV_REP, REP_PERIOD, v); return 0; |
