From 1d3e20236d7a5678d44602171bbd153c57c8c4bc Mon Sep 17 00:00:00 2001
From: Daniel Ritz <daniel.ritz-ml@swissonline.ch>
Date: Wed, 29 Mar 2006 22:41:07 +0200
Subject: [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>
---
 drivers/usb/input/Kconfig | 42 +++++++++++++++++++++++++++++++++++++++---
 1 file changed, 39 insertions(+), 3 deletions(-)

(limited to 'drivers/usb/input/Kconfig')

diff --git a/drivers/usb/input/Kconfig b/drivers/usb/input/Kconfig
index 5246b35301de..83b90be7fa08 100644
--- a/drivers/usb/input/Kconfig
+++ b/drivers/usb/input/Kconfig
@@ -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.
-- 
cgit v1.2.3