diff options
author | Henrik Rydberg <rydberg@euromail.se> | 2012-05-01 02:40:01 -0400 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2012-05-01 06:54:55 -0400 |
commit | 4fa3a5837b8427faab9b064b1948795eb77b9f8d (patch) | |
tree | 4aaa5fffb375f0b44e5c0a44726948ac016f53bf /drivers/hid/hid-input.c | |
parent | 070748ed0b52399858a5967026a452bbb903a64c (diff) |
HID: hid-multitouch: Switch to device groups
Switch the driver over to device group handling. By adding the
HID_GROUP_MULTITOUCH group to hid-core, hid-generic will no longer
match multitouch devices. By adding the HID_GROUP_MULTITOUCH entry to
the device list, hid-multitouch will match all unknown multitouch
devices, and udev will automatically load the module.
Since HID_QUIRK_MULTITOUCH never gets set, the special quirks handling
can be removed. Since all HID MT devices have HID_DG_CONTACTID, they
can be removed from the hid_have_special_driver list.
With this patch, the unknown device ids are no longer NULL, so the code
is modified to check for the generic entry instead.
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Acked-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/hid/hid-input.c')
-rw-r--r-- | drivers/hid/hid-input.c | 11 |
1 files changed, 0 insertions, 11 deletions
diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c index 002781c5a616..7b43186b022c 100644 --- a/drivers/hid/hid-input.c +++ b/drivers/hid/hid-input.c | |||
@@ -638,10 +638,6 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel | |||
638 | map_key_clear(BTN_STYLUS2); | 638 | map_key_clear(BTN_STYLUS2); |
639 | break; | 639 | break; |
640 | 640 | ||
641 | case 0x51: /* ContactID */ | ||
642 | device->quirks |= HID_QUIRK_MULTITOUCH; | ||
643 | goto unknown; | ||
644 | |||
645 | default: goto unknown; | 641 | default: goto unknown; |
646 | } | 642 | } |
647 | break; | 643 | break; |
@@ -1208,13 +1204,6 @@ int hidinput_connect(struct hid_device *hid, unsigned int force) | |||
1208 | } | 1204 | } |
1209 | } | 1205 | } |
1210 | 1206 | ||
1211 | if (hid->quirks & HID_QUIRK_MULTITOUCH) { | ||
1212 | /* generic hid does not know how to handle multitouch devices */ | ||
1213 | if (hidinput) | ||
1214 | goto out_cleanup; | ||
1215 | goto out_unwind; | ||
1216 | } | ||
1217 | |||
1218 | if (hidinput && input_register_device(hidinput->input)) | 1207 | if (hidinput && input_register_device(hidinput->input)) |
1219 | goto out_cleanup; | 1208 | goto out_cleanup; |
1220 | 1209 | ||