linux-uconsole/drivers/input/keyboard
Dmitry Torokhov 7f9079606b Input: twl40300-keypad - fix handling of "all ground" rows
commit 3fea60261e upstream.

The Nokia RX51 board code (arch/arm/mach-omap2/board-rx51-peripherals.c)
defines a key map for the matrix keypad keyboard. The hardware seems to
use all of the 8 rows and 8 columns of the keypad, although not all
possible locations are used.

The TWL4030 supports keypads with at most 8 rows and 8 columns. Most keys
are defined with a row and column number between 0 and 7, except

        KEY(0xff, 2, KEY_F9),
        KEY(0xff, 4, KEY_F10),
        KEY(0xff, 5, KEY_F11),

which represent keycodes that should be emitted when entire row is
connected to the ground.  since the driver handles this case as if we
had an extra column in the key matrix. Unfortunately we do not allocate
enough space and end up owerwriting some random memory.

Reported-and-tested-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-08-02 10:20:55 -07:00
..
aaed2000_kbd.c [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
adp5588-keys.c Input: add driver for ADP5588 QWERTY I2C Keypad 2009-09-17 23:24:04 -07:00
amikbd.c Input: remove CVS keywords 2008-05-20 12:17:39 -04:00
atakbd.c m68k: Return -ENODEV if no device is found 2008-07-20 17:24:38 -07:00
atkbd.c Input: atkbd - restore LED state at reconnect 2009-11-12 23:21:04 -08:00
bf54x-keys.c Input: bf54x-keys - convert printk() to dev_*() 2009-07-23 01:16:11 -07:00
corgikbd.c Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 into devel 2009-03-13 21:44:51 +00:00
ep93xx_keypad.c Input: add matrix keypad driver for Cirrus EP93xx 2009-04-18 23:44:59 -07:00
gpio_keys.c Input: gpio-keys - use IRQF_SHARED 2009-11-02 22:12:37 -08:00
hil_kbd.c Input: combine hil_kbd and hil_ptr drivers 2009-08-09 13:27:27 -07:00
hilkbd.c headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
hpps2atkbd.h
jornada680_kbd.c MODULE_LICENSE expects "GPL v2", not "GPLv2" 2008-05-21 16:56:00 -07:00
jornada720_kbd.c [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
Kconfig Input: add driver for Atmel AT42QT2160 Sensor Chip 2009-09-22 20:50:08 -07:00
lkkbd.c Input: serio - don't use serio->write() directly 2009-08-05 00:43:43 -07:00
lm8323.c Input: introduce lm8323 keypad driver 2009-05-15 20:13:25 -07:00
locomokbd.c Input: locomokbd - add 'off' button support for Sharp Collie/Poodle 2008-04-02 00:42:42 -04:00
Makefile Input: add driver for Atmel AT42QT2160 Sensor Chip 2009-09-22 20:50:08 -07:00
maple_keyb.c sh: maple: Support block reads and writes. 2009-02-27 16:07:32 +09:00
matrix_keypad.c Input: matrix-keypad - add function to build device keymap 2009-08-27 22:05:39 -07:00
max7359_keypad.c Input: max7359 - use threaded IRQs 2009-09-21 22:27:49 -07:00
newtonkbd.c get rid of input BIT* duplicate defines 2007-10-19 11:53:42 -07:00
omap-keypad.c OMAP: Rename OMAP_MPUIO_BASE to OMAP1_MPUIO_BASE 2009-08-28 10:50:34 -07:00
opencores-kbd.c Input: add driver for OpenCores Keyboard Controller 2009-09-17 23:24:02 -07:00
pxa27x_keypad.c Nicolas Pitre has a new email address 2009-09-15 09:37:12 -07:00
pxa930_rotary.c Input: add support for enhanced rotary controller on pxa930 and pxa935 2008-12-29 04:59:16 -08:00
qt2160.c Input: add driver for Atmel AT42QT2160 Sensor Chip 2009-09-22 20:50:08 -07:00
sh_keysc.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2009-09-16 13:48:32 +09:00
spitzkbd.c Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 into devel 2009-03-13 21:44:51 +00:00
stowaway.c get rid of input BIT* duplicate defines 2007-10-19 11:53:42 -07:00
sunkbd.c headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
tosakbd.c Input: tosakbd - fix cleaning up KEY_STROBEs after error 2009-08-27 22:02:47 -07:00
twl4030_keypad.c Input: twl40300-keypad - fix handling of "all ground" rows 2010-08-02 10:20:55 -07:00
w90p910_keypad.c Input: w90p910_keypad - move a dereference below a NULL test 2009-08-30 11:55:47 -07:00
xtkbd.c Input: remove CVS keywords 2008-05-20 12:17:39 -04:00