aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input/touchscreen
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-22 22:29:58 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-22 22:29:58 -0400
commit81f8320f624a785d77443ace83391d0fdee695f6 (patch)
treeef061e677c0643b6ab565580caaf72a3de90ed72 /drivers/input/touchscreen
parent6d435365dd49ac5f7fe6f0e757e942875b1d1550 (diff)
parent46249ea60fbb61a72ee6929b831b1f3e6865f024 (diff)
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: appletouch - apply idle reset logic to all touchpads Input: usbtouchscreen - add support for GoTop tablet devices Input: bf54x-keys - return real error when request_irq() fails Input: i8042 - export i8042_command()
Diffstat (limited to 'drivers/input/touchscreen')
-rw-r--r--drivers/input/touchscreen/Kconfig6
-rw-r--r--drivers/input/touchscreen/usbtouchscreen.c36
2 files changed, 40 insertions, 2 deletions
diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig
index e3e0baa1a158..fa8442b6241c 100644
--- a/drivers/input/touchscreen/Kconfig
+++ b/drivers/input/touchscreen/Kconfig
@@ -202,6 +202,7 @@ config TOUCHSCREEN_USB_COMPOSITE
202 - DMC TSC-10/25 202 - DMC TSC-10/25
203 - IRTOUCHSYSTEMS/UNITOP 203 - IRTOUCHSYSTEMS/UNITOP
204 - IdealTEK URTC1000 204 - IdealTEK URTC1000
205 - GoTop Super_Q2/GogoPen/PenPower tablets
205 206
206 Have a look at <http://linux.chapter7.ch/touchkit/> for 207 Have a look at <http://linux.chapter7.ch/touchkit/> for
207 a usage description and the required user-space stuff. 208 a usage description and the required user-space stuff.
@@ -259,4 +260,9 @@ config TOUCHSCREEN_USB_GENERAL_TOUCH
259 bool "GeneralTouch Touchscreen device support" if EMBEDDED 260 bool "GeneralTouch Touchscreen device support" if EMBEDDED
260 depends on TOUCHSCREEN_USB_COMPOSITE 261 depends on TOUCHSCREEN_USB_COMPOSITE
261 262
263config TOUCHSCREEN_USB_GOTOP
264 default y
265 bool "GoTop Super_Q2/GogoPen/PenPower tablet device support" if EMBEDDED
266 depends on TOUCHSCREEN_USB_COMPOSITE
267
262endif 268endif
diff --git a/drivers/input/touchscreen/usbtouchscreen.c b/drivers/input/touchscreen/usbtouchscreen.c
index 5f34b78d5ddb..19055e7381f8 100644
--- a/drivers/input/touchscreen/usbtouchscreen.c
+++ b/drivers/input/touchscreen/usbtouchscreen.c
@@ -11,8 +11,9 @@
11 * - DMC TSC-10/25 11 * - DMC TSC-10/25
12 * - IRTOUCHSYSTEMS/UNITOP 12 * - IRTOUCHSYSTEMS/UNITOP
13 * - IdealTEK URTC1000 13 * - IdealTEK URTC1000
14 * - GoTop Super_Q2/GogoPen/PenPower tablets
14 * 15 *
15 * Copyright (C) 2004-2006 by Daniel Ritz <daniel.ritz@gmx.ch> 16 * Copyright (C) 2004-2007 by Daniel Ritz <daniel.ritz@gmx.ch>
16 * Copyright (C) by Todd E. Johnson (mtouchusb.c) 17 * Copyright (C) by Todd E. Johnson (mtouchusb.c)
17 * 18 *
18 * This program is free software; you can redistribute it and/or 19 * This program is free software; you can redistribute it and/or
@@ -115,6 +116,7 @@ enum {
115 DEVTYPE_IRTOUCH, 116 DEVTYPE_IRTOUCH,
116 DEVTYPE_IDEALTEK, 117 DEVTYPE_IDEALTEK,
117 DEVTYPE_GENERAL_TOUCH, 118 DEVTYPE_GENERAL_TOUCH,
119 DEVTYPE_GOTOP,
118}; 120};
119 121
120static struct usb_device_id usbtouch_devices[] = { 122static struct usb_device_id usbtouch_devices[] = {
@@ -168,6 +170,12 @@ static struct usb_device_id usbtouch_devices[] = {
168 {USB_DEVICE(0x0dfc, 0x0001), .driver_info = DEVTYPE_GENERAL_TOUCH}, 170 {USB_DEVICE(0x0dfc, 0x0001), .driver_info = DEVTYPE_GENERAL_TOUCH},
169#endif 171#endif
170 172
173#ifdef CONFIG_TOUCHSCREEN_USB_GOTOP
174 {USB_DEVICE(0x08f2, 0x007f), .driver_info = DEVTYPE_GOTOP},
175 {USB_DEVICE(0x08f2, 0x00ce), .driver_info = DEVTYPE_GOTOP},
176 {USB_DEVICE(0x08f2, 0x00f4), .driver_info = DEVTYPE_GOTOP},
177#endif
178
171 {} 179 {}
172}; 180};
173 181
@@ -501,6 +509,20 @@ static int general_touch_read_data(struct usbtouch_usb *dev, unsigned char *pkt)
501#endif 509#endif
502 510
503/***************************************************************************** 511/*****************************************************************************
512 * GoTop Part
513 */
514#ifdef CONFIG_TOUCHSCREEN_USB_GOTOP
515static int gotop_read_data(struct usbtouch_usb *dev, unsigned char *pkt)
516{
517 dev->x = ((pkt[1] & 0x38) << 4) | pkt[2];
518 dev->y = ((pkt[1] & 0x07) << 7) | pkt[3];
519 dev->touch = pkt[0] & 0x01;
520 return 1;
521}
522#endif
523
524
525/*****************************************************************************
504 * the different device descriptors 526 * the different device descriptors
505 */ 527 */
506static struct usbtouch_device_info usbtouch_dev_info[] = { 528static struct usbtouch_device_info usbtouch_dev_info[] = {
@@ -623,9 +645,19 @@ static struct usbtouch_device_info usbtouch_dev_info[] = {
623 .max_yc = 0x0500, 645 .max_yc = 0x0500,
624 .rept_size = 7, 646 .rept_size = 7,
625 .read_data = general_touch_read_data, 647 .read_data = general_touch_read_data,
626 } 648 },
627#endif 649#endif
628 650
651#ifdef CONFIG_TOUCHSCREEN_USB_GOTOP
652 [DEVTYPE_GOTOP] = {
653 .min_xc = 0x0,
654 .max_xc = 0x03ff,
655 .min_yc = 0x0,
656 .max_yc = 0x03ff,
657 .rept_size = 4,
658 .read_data = gotop_read_data,
659 },
660#endif
629}; 661};
630 662
631 663