[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: Daniel Ritz <daniel.ritz@gmx.ch>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
diff --git a/drivers/usb/input/Kconfig b/drivers/usb/input/Kconfig
index 5246b35..83b90be 100644
--- a/drivers/usb/input/Kconfig
+++ b/drivers/usb/input/Kconfig
@@ -200,9 +200,45 @@
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_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_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.