linux-kernel-test/drivers/input
Eric Miao bab7614d6d 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>
2009-06-29 00:30:16 -07:00
..
gameport Input: serio - do not use deprecated dev.power.power_state 2009-05-09 16:10:18 -07:00
joystick sh: maple: Support block reads and writes. 2009-02-27 16:07:32 +09:00
keyboard Input: add support for generic GPIO-based matrix keypad 2009-06-29 00:30:16 -07:00
misc Input: ati_remote2 - use non-atomic bitops 2009-05-19 19:24:42 -07:00
mouse Input: add driver for Synaptics I2C touchpad 2009-06-19 22:56:45 -07:00
serio Input: i8042 - more reset quirks for MSI Wind-clone netbooks 2009-06-28 23:57:22 -07:00
tablet Input: wacom - add DTF720a support and fix rotation on Intuos3 2009-06-28 23:57:34 -07:00
touchscreen Input: ads7846 - pin change interrupt support 2009-06-11 02:07:25 -07:00
apm-power.c Input: apm-power - fix crash when unloading modules 2008-03-24 11:02:06 -04:00
evbug.c Input: struct device - replace bus_id with dev_name(), dev_set_name() 2008-10-30 09:29:05 -04:00
evdev.c Input: synaptics - add support for reporting x/y resolution 2009-06-19 22:55:17 -07:00
ff-core.c drivers/input/ff-core.c needs <linux/sched.h> 2008-07-02 18:40:08 -07:00
ff-memless.c Input: ff-memless - fix signed to unsigned bit overflow 2009-05-07 19:04:16 -07:00
fixp-arith.h changed email 2007-10-20 00:47:32 +02:00
input-compat.c Input: refactor evdev 32bit compat to be shareable with uinput 2008-10-27 22:03:42 -04:00
input-compat.h Input: refactor evdev 32bit compat to be shareable with uinput 2008-10-27 22:03:42 -04:00
input-polldev.c Input: remove private member from input_dev structure 2008-04-02 00:41:00 -04:00
input.c Input: multitouch - add tracking ID to the protocol 2009-05-23 09:53:18 -07:00
joydev.c Merge commit 'v2.6.30' into next 2009-06-11 01:58:01 -07:00
Kconfig trivial: fix typos/grammar errors in Kconfig texts 2009-03-30 15:22:01 +02:00
Makefile Input: refactor evdev 32bit compat to be shareable with uinput 2008-10-27 22:03:42 -04:00
mousedev.c Input: simplify name handling for certain input handles 2009-05-11 00:11:43 -07:00
xen-kbdfront.c get xenbus_driver ->probe() "recognized" by modpost 2008-11-30 10:03:38 -08:00