summaryrefslogtreecommitdiff
path: root/drivers/hid
diff options
context:
space:
mode:
authorBenjamin Tissoires <benjamin.tissoires@gmail.com>2013-01-31 20:22:29 +0400
committerJiri Kosina <jkosina@suse.cz>2013-02-05 15:07:41 +0400
commitefc16787cf92de4906adae8e451c10c6189b4ca8 (patch)
tree7fb9e4105adc9b97afc586fba21e0eaf4a38eb13 /drivers/hid
parent51377fed20461ad857c020b7109efa8207200222 (diff)
downloadlinux-efc16787cf92de4906adae8e451c10c6189b4ca8.tar.xz
HID: multitouch: fix protocol for Cando 2087:0a02
Cando 2087:0a02 was broken, this fixes it. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/hid')
-rw-r--r--drivers/hid/hid-multitouch.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
index 4ea28de33d0a..e2fc1211f130 100644
--- a/drivers/hid/hid-multitouch.c
+++ b/drivers/hid/hid-multitouch.c
@@ -115,6 +115,7 @@ struct mt_device {
#define MT_CLS_DUAL_NSMU_CONTACTID 0x0008
#define MT_CLS_INRANGE_CONTACTNUMBER 0x0009
#define MT_CLS_ALWAYS_TRUE 0x000a
+#define MT_CLS_DUAL_CONTACT_NUMBER 0x0010
/* vendor specific classes */
#define MT_CLS_3M 0x0101
@@ -177,6 +178,11 @@ static struct mt_class mt_classes[] = {
{ .name = MT_CLS_ALWAYS_TRUE,
.quirks = MT_QUIRK_ALWAYS_VALID |
MT_QUIRK_CONTACT_CNT_ACCURATE },
+ { .name = MT_CLS_DUAL_CONTACT_NUMBER,
+ .quirks = MT_QUIRK_ALWAYS_VALID |
+ MT_QUIRK_CONTACT_CNT_ACCURATE |
+ MT_QUIRK_SLOT_IS_CONTACTNUMBER,
+ .maxcontacts = 2 },
/*
* vendor specific classes
@@ -947,7 +953,7 @@ static const struct hid_device_id mt_devices[] = {
{ .driver_data = MT_CLS_DUAL_INRANGE_CONTACTNUMBER,
MT_USB_DEVICE(USB_VENDOR_ID_CANDO,
USB_DEVICE_ID_CANDO_MULTI_TOUCH) },
- { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTNUMBER,
+ { .driver_data = MT_CLS_DUAL_CONTACT_NUMBER,
MT_USB_DEVICE(USB_VENDOR_ID_CANDO,
USB_DEVICE_ID_CANDO_MULTI_TOUCH_10_1) },
{ .driver_data = MT_CLS_DUAL_INRANGE_CONTACTNUMBER,