aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hid/hid-input.c
diff options
context:
space:
mode:
authorHenrik Rydberg <rydberg@euromail.se>2012-05-01 02:40:01 -0400
committerJiri Kosina <jkosina@suse.cz>2012-05-01 06:54:55 -0400
commit4fa3a5837b8427faab9b064b1948795eb77b9f8d (patch)
tree4aaa5fffb375f0b44e5c0a44726948ac016f53bf /drivers/hid/hid-input.c
parent070748ed0b52399858a5967026a452bbb903a64c (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.c11
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