Thread (8 messages) 8 messages, 3 authors, 2009-02-06

RE: [patch/rfc 2.6.28-rc2] input: twl4030_keypad driver

From: hartleys <hidden>
Date: 2009-01-30 00:18:47
Also in: linux-omap

On Wednesday, January 21, 2009 5:13 PM, David Brownell wrote:
Driver for the twl4030 family keypad controller.  This controller
supports a key matrix of up to 8 rows by 8 columns.  Board init
code passes a description of the key matrix to the driver.

Signed-off-by: David Brownell <redacted>
---
[SNIP]
quoted hunk ↗ jump to hunk
--- a/include/linux/i2c/twl4030.h
+++ b/include/linux/i2c/twl4030.h
@@ -255,11 +255,18 @@ struct twl4030_madc_platform_data {
 	int		irq_line;
 };
 
+/* Boards have uniqe mappings of {col, row} --> keycode.
+ * Column and row are 4 bits, but range only from 0..7;
+ * a PERSISTENT_KEY is "always on" and never reported.
+ */
+#define KEY_PERSISTENT		0x00800000
+#define KEY(col, row, keycode)	(((col) << 28) | ((row) << 24) |
(keycode))

The same KEY macro is defined in:

arch/arm/mach-pxa/include/mach/pxa27x_keypad.h
arch/arm/plat-omap/include/mach/keypad.h

I also have a keypad driver for the ep93xx that uses the same macro.

Shouldn't/couldn't this be generalized and added to the
include/linux/input.h file?  Allowing 4-bits for row/col gives a maximum
key matrix of 16x16 keys which should be enough for just about anything.

Regards,
Hartley
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help