summaryrefslogtreecommitdiff
path: root/drivers/input/misc/uinput.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2010-10-17 10:38:33 +0200
committerTakashi Iwai <tiwai@suse.de>2010-10-17 10:38:33 +0200
commit84cc5c0bd3ef8711793cc0af2ecc3fb8e44f4ba0 (patch)
tree6774218cb21d5ffbe704d6ad6beadc8559aaed1c /drivers/input/misc/uinput.c
parent57e35381bc13e6f18ac1ec255ca61ba1a5103e13 (diff)
parentaa73aec6c385e2c797ac25cc7ccf0318031de7c8 (diff)
Merge branch 'fix/misc' into topic/misc
Diffstat (limited to 'drivers/input/misc/uinput.c')
-rw-r--r--drivers/input/misc/uinput.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/input/misc/uinput.c b/drivers/input/misc/uinput.c
index 0d4266a533a5..360698553eb5 100644
--- a/drivers/input/misc/uinput.c
+++ b/drivers/input/misc/uinput.c
@@ -404,6 +404,13 @@ static int uinput_setup_device(struct uinput_device *udev, const char __user *bu
retval = uinput_validate_absbits(dev);
if (retval < 0)
goto exit;
+ if (test_bit(ABS_MT_SLOT, dev->absbit)) {
+ int nslot = input_abs_get_max(dev, ABS_MT_SLOT) + 1;
+ input_mt_create_slots(dev, nslot);
+ input_set_events_per_packet(dev, 6 * nslot);
+ } else if (test_bit(ABS_MT_POSITION_X, dev->absbit)) {
+ input_set_events_per_packet(dev, 60);
+ }
}
udev->state = UIST_SETUP_COMPLETE;