summaryrefslogtreecommitdiffstats
path: root/drivers/input/keyboard/Kconfig
diff options
context:
space:
mode:
authorEric Miao <eric.y.miao@gmail.com>2009-06-29 09:20:52 +0200
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2009-06-29 09:30:16 +0200
commitbab7614d6d1b1fc96ec6c5a7ca34c8641060e659 (patch)
treef7b493a73b03d39e982a325117a14a04b712d1c0 /drivers/input/keyboard/Kconfig
parentInput: arrange keyboards alphabetically (diff)
downloadlinux-bab7614d6d1b1fc96ec6c5a7ca34c8641060e659.tar.xz
linux-bab7614d6d1b1fc96ec6c5a7ca34c8641060e659.zip
Input: add support for generic GPIO-based matrix keypad
Original patch by Marek Vasut, modified by Eric in: 1. use delayed work to simplify the debouncing 2. combine col_polarity/row_polarity into a single active_low field 3. use a generic bit array based XOR algorithm to detect key press/release, which should make the column assertion time shorter and code a bit cleaner 4. remove the ALT_FN handling, which is no way generic, the ALT_FN key should be treated as no different from other keys, and translation will be done by user space by commands like 'loadkeys'. 5. explicitly disable row IRQs and flush potential pending work, and schedule an immediate scan after resuming as suggested by Uli Luckas 6. incorporate review comments from many others Patch tested on Littleton/PXA310 (though PXA310 has a dedicate keypad controller, I have to configure those pins as generic GPIO to use this driver, works quite well, though), and Sharp Zaurus model SL-C7x0 and SL-C1000. [dtor@mail.ru: fix error unwinding path, support changing keymap from userspace] Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Reviewed-by: Trilok Soni <soni.trilok@gmail.com> Reviewed-by: Uli Luckas <u.luckas@road.de> Reviewed-by: Russell King <linux@arm.linux.org.uk> Reviewed-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Diffstat (limited to 'drivers/input/keyboard/Kconfig')
-rw-r--r--drivers/input/keyboard/Kconfig13
1 files changed, 11 insertions, 2 deletions
diff --git a/drivers/input/keyboard/Kconfig b/drivers/input/keyboard/Kconfig
index d2df1030675a..a6b989a9dc07 100644
--- a/drivers/input/keyboard/Kconfig
+++ b/drivers/input/keyboard/Kconfig
@@ -158,7 +158,16 @@ config KEYBOARD_GPIO
with configuration data saying which GPIOs are used.
To compile this driver as a module, choose M here: the
- module will be called gpio-keys.
+ module will be called gpio_keys.
+
+config KEYBOARD_MATRIX
+ tristate "GPIO driven matrix keypad support"
+ depends on GENERIC_GPIO
+ help
+ Enable support for GPIO driven matrix keypad.
+
+ To compile this driver as a module, choose M here: the
+ module will be called matrix_keypad.
config KEYBOARD_HIL_OLD
tristate "HP HIL keyboard support (simple driver)"
@@ -254,7 +263,7 @@ config KEYBOARD_PXA27x
tristate "PXA27x/PXA3xx keypad support"
depends on PXA27x || PXA3xx
help
- Enable support for PXA27x/PXA3xx keypad controller
+ Enable support for PXA27x/PXA3xx keypad controller.
To compile this driver as a module, choose M here: the
module will be called pxa27x_keypad.