summaryrefslogtreecommitdiffstats
path: root/hid-multitouch-add-support-for-elo-touchsystems.patch
diff options
context:
space:
mode:
Diffstat (limited to 'hid-multitouch-add-support-for-elo-touchsystems.patch')
-rw-r--r--hid-multitouch-add-support-for-elo-touchsystems.patch80
1 files changed, 80 insertions, 0 deletions
diff --git a/hid-multitouch-add-support-for-elo-touchsystems.patch b/hid-multitouch-add-support-for-elo-touchsystems.patch
new file mode 100644
index 000000000..320379920
--- /dev/null
+++ b/hid-multitouch-add-support-for-elo-touchsystems.patch
@@ -0,0 +1,80 @@
+From: Benjamin Tissoires <benjamin.tissoires@enac.fr>
+Date: Thu, 19 May 2011 09:37:29 +0000 (+0200)
+Subject: HID: hid-multitouch: add support for Elo TouchSystems 2515 IntelliTouch Plus
+X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Fjikos%2Fhid.git;a=commitdiff_plain;h=c04abeeff9d76a703cac1e6d312853b0fc8136f5
+
+HID: hid-multitouch: add support for Elo TouchSystems 2515 IntelliTouch Plus
+
+This patch adds support for Elo TouchSystems 2515 IntelliTouch Plus
+that can be found in Lenovo A700 all-in-one.
+
+Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr>
+Tested-by: Bastien Nocera <hadess@hadess.net>
+Signed-off-by: Jiri Kosina <jkosina@suse.cz>
+
+--- linux-2.6.39.x86_64/drivers/hid/Kconfig 2011-05-19 00:06:34.000000000 -0400
++++ linux-2.6.39.x86_64/drivers/hid/Kconfig 2011-05-24 10:17:13.007752208 -0400
+@@ -321,6 +321,7 @@
+
+ Say Y here if you have one of the following devices:
+ - Cypress TrueTouch panels
++ - Elo TouchSystems IntelliTouch Plus panels
+ - Hanvon dual touch panels
+ - IrTouch Infrared USB panels
+ - Pixcir dual touch panels
+--- linux-2.6.39.x86_64/drivers/hid/hid-core.c 2011-05-24 10:14:17.000000000 -0400
++++ linux-2.6.39.x86_64/drivers/hid/hid-core.c 2011-05-24 10:17:47.418905357 -0400
+@@ -1367,6 +1367,7 @@
+ { HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH3) },
+ { HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH4) },
+ { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_BM084) },
++ { HID_USB_DEVICE(USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2515) },
+ { HID_USB_DEVICE(USB_VENDOR_ID_EMS, USB_DEVICE_ID_EMS_TRIO_LINKER_PLUS_II) },
+ { HID_USB_DEVICE(USB_VENDOR_ID_EZKEY, USB_DEVICE_ID_BTC_8193) },
+ { HID_USB_DEVICE(USB_VENDOR_ID_GAMERON, USB_DEVICE_ID_GAMERON_DUAL_PSX_ADAPTOR) },
+--- linux-2.6.39.x86_64/drivers/hid/hid-ids.h 2011-05-24 10:14:17.000000000 -0400
++++ linux-2.6.39.x86_64/drivers/hid/hid-ids.h 2011-05-24 10:19:25.946345418 -0400
+@@ -223,6 +223,7 @@
+ #define USB_VENDOR_ID_DREAM_CHEEKY 0x1d34
+
+ #define USB_VENDOR_ID_ELO 0x04E7
++#define USB_DEVICE_ID_ELO_TS2515 0x0022
+ #define USB_DEVICE_ID_ELO_TS2700 0x0020
+
+ #define USB_VENDOR_ID_EMS 0x2006
+--- linux-2.6.39.x86_64/drivers/hid/hid-multitouch.c 2011-05-19 00:06:34.000000000 -0400
++++ linux-2.6.39.x86_64/drivers/hid/hid-multitouch.c 2011-05-24 10:22:32.505183658 -0400
+@@ -78,6 +78,7 @@
+ #define MT_CLS_DUAL_INRANGE_CONTACTNUMBER 3
+ #define MT_CLS_CYPRESS 4
+ #define MT_CLS_EGALAX 5
++#define MT_CLS_DUAL_NSMU_CONTACTID 6
+
+ /*
+ * these device-dependent functions determine what slot corresponds
+@@ -136,6 +137,13 @@
+ .sn_move = 4096,
+ .sn_pressure = 32,
+ },
++
++ { .name = MT_CLS_DUAL_NSMU_CONTACTID,
++ .quirks = MT_QUIRK_NOT_SEEN_MEANS_UP |
++ MT_QUIRK_SLOT_IS_CONTACTID,
++ .maxcontacts = 2
++ },
++
+ { }
+ };
+
+@@ -493,6 +501,11 @@
+ HID_USB_DEVICE(USB_VENDOR_ID_CYPRESS,
+ USB_DEVICE_ID_CYPRESS_TRUETOUCH) },
+
++ /* Elo TouchSystems IntelliTouch Plus panel */
++ { .driver_data = MT_CLS_DUAL_NSMU_CONTACTID,
++ HID_USB_DEVICE(USB_VENDOR_ID_ELO,
++ USB_DEVICE_ID_ELO_TS2515) },
++
+ /* GeneralTouch panel */
+ { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTNUMBER,
+ HID_USB_DEVICE(USB_VENDOR_ID_GENERAL_TOUCH,