aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input/keyboard/Kconfig
diff options
context:
space:
mode:
authorEric Miao <eric.y.miao@gmail.com>2009-06-29 03:20:52 -0400
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2009-06-29 03:30:16 -0400
commitbab7614d6d1b1fc96ec6c5a7ca34c8641060e659 (patch)
treef7b493a73b03d39e982a325117a14a04b712d1c0 /drivers/input/keyboard/Kconfig
parentcb589529f74d69abc111887b45308f333f950ade (diff)
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
158 with configuration data saying which GPIOs are used. 158 with configuration data saying which GPIOs are used.
159 159
160 To compile this driver as a module, choose M here: the 160 To compile this driver as a module, choose M here: the
161 module will be called gpio-keys. 161 module will be called gpio_keys.
162
163config KEYBOARD_MATRIX
164 tristate "GPIO driven matrix keypad support"
165 depends on GENERIC_GPIO
166 help
167 Enable support for GPIO driven matrix keypad.
168
169 To compile this driver as a module, choose M here: the
170 module will be called matrix_keypad.
162 171
163config KEYBOARD_HIL_OLD 172config KEYBOARD_HIL_OLD
164 tristate "HP HIL keyboard support (simple driver)" 173 tristate "HP HIL keyboard support (simple driver)"
@@ -254,7 +263,7 @@ config KEYBOARD_PXA27x
254 tristate "PXA27x/PXA3xx keypad support" 263 tristate "PXA27x/PXA3xx keypad support"
255 depends on PXA27x || PXA3xx 264 depends on PXA27x || PXA3xx
256 help 265 help
257 Enable support for PXA27x/PXA3xx keypad controller 266 Enable support for PXA27x/PXA3xx keypad controller.
258 267
259 To compile this driver as a module, choose M here: the 268 To compile this driver as a module, choose M here: the
260 module will be called pxa27x_keypad. 269 module will be called pxa27x_keypad.