Commit 1d3e2023 authored by Daniel Ritz's avatar Daniel Ritz Committed by Greg Kroah-Hartman

[PATCH] USB: usbtouchscreen: unified USB touchscreen driver

A new single driver for various USB touchscreen devices. It currently
supports:
- eGalax TouchKit
- PanJit TouchSet
- 3M/Microtouch
- ITM Touchscreens

Support for the diffent devices can be enabled/disable when CONFIG_EMBEDDED
is set.

Sizes for comparision:
   text    data     bss     dec     hex filename
   2942     724       4    3670     e56 touchkitusb.ko
   2647     660       0    3307     ceb mtouchusb.ko
   2448     628       0    3076     c04 itmtouch.ko
   4145    1012      12    5169    1431 usbtouchscreen.ko
Signed-off-by: default avatarDaniel Ritz <daniel.ritz@gmx.ch>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 62a13db3
......@@ -200,9 +200,45 @@ config USB_POWERMATE
To compile this driver as a module, choose M here: the
module will be called powermate.
config USB_TOUCHSCREEN
tristate "USB Touchscreen Driver"
depends on USB && INPUT
---help---
USB Touchscreen driver for:
- eGalax Touchkit USB
- PanJit TouchSet USB
- 3M MicroTouch USB
- ITM
Have a look at <http://linux.chapter7.ch/touchkit/> for
a usage description and the required user-space stuff.
To compile this driver as a module, choose M here: the
module will be called usbtouchscreen.
config USB_TOUCHSCREEN_EGALAX
default y
bool "eGalax device support" if EMBEDDED
depends on USB_TOUCHSCREEN
config USB_TOUCHSCREEN_PANJIT
default y
bool "PanJit device support" if EMBEDDED
depends on USB_TOUCHSCREEN
config USB_TOUCHSCREEN_3M
default y
bool "3M/Microtouch device support" if EMBEDDED
depends on USB_TOUCHSCREEN
config USB_TOUCHSCREEN_ITM
default y
bool "ITM device support" if EMBEDDED
depends on USB_TOUCHSCREEN
config USB_MTOUCH
tristate "MicroTouch USB Touchscreen Driver"
depends on USB && INPUT
depends on USB && INPUT && !USB_TOUCHSCREEN_3M
---help---
Say Y here if you want to use a MicroTouch (Now 3M) USB
Touchscreen controller.
......@@ -214,7 +250,7 @@ config USB_MTOUCH
config USB_ITMTOUCH
tristate "ITM Touch USB Touchscreen Driver"
depends on USB && INPUT
depends on USB && INPUT && !USB_TOUCHSCREEN_ITM
---help---
Say Y here if you want to use a ITM Touch USB
Touchscreen controller.
......@@ -226,7 +262,7 @@ config USB_ITMTOUCH
config USB_EGALAX
tristate "eGalax TouchKit USB Touchscreen Driver"
depends on USB && INPUT
depends on USB && INPUT && !USB_TOUCHSCREEN_EGALAX
---help---
Say Y here if you want to use a eGalax TouchKit USB
Touchscreen controller.
......
......@@ -37,6 +37,7 @@ obj-$(CONFIG_USB_MOUSE) += usbmouse.o
obj-$(CONFIG_USB_MTOUCH) += mtouchusb.o
obj-$(CONFIG_USB_ITMTOUCH) += itmtouch.o
obj-$(CONFIG_USB_EGALAX) += touchkitusb.o
obj-$(CONFIG_USB_TOUCHSCREEN) += usbtouchscreen.o
obj-$(CONFIG_USB_POWERMATE) += powermate.o
obj-$(CONFIG_USB_WACOM) += wacom.o
obj-$(CONFIG_USB_ACECAD) += acecad.o
......
......@@ -1372,6 +1372,8 @@ void hid_close(struct hid_device *hid)
usb_kill_urb(hid->urbin);
}
#define USB_VENDOR_ID_PANJIT 0x134c
/*
* Initialize all reports
*/
......@@ -1701,6 +1703,11 @@ static const struct hid_blacklist {
{ USB_VENDOR_ID_APPLE, 0x030A, HID_QUIRK_POWERBOOK_HAS_FN },
{ USB_VENDOR_ID_APPLE, 0x030B, HID_QUIRK_POWERBOOK_HAS_FN },
{ USB_VENDOR_ID_PANJIT, 0x0001, HID_QUIRK_IGNORE },
{ USB_VENDOR_ID_PANJIT, 0x0002, HID_QUIRK_IGNORE },
{ USB_VENDOR_ID_PANJIT, 0x0003, HID_QUIRK_IGNORE },
{ USB_VENDOR_ID_PANJIT, 0x0004, HID_QUIRK_IGNORE },
{ 0, 0 }
};
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment