diff options
Diffstat (limited to 'include/linux/i2c/twl4030.h')
-rw-r--r-- | include/linux/i2c/twl4030.h | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/include/linux/i2c/twl4030.h b/include/linux/i2c/twl4030.h index 0dc80ef24975..3fd21d7cb6bf 100644 --- a/include/linux/i2c/twl4030.h +++ b/include/linux/i2c/twl4030.h | |||
@@ -25,6 +25,9 @@ | |||
25 | #ifndef __TWL4030_H_ | 25 | #ifndef __TWL4030_H_ |
26 | #define __TWL4030_H_ | 26 | #define __TWL4030_H_ |
27 | 27 | ||
28 | #include <linux/types.h> | ||
29 | #include <linux/input/matrix_keypad.h> | ||
30 | |||
28 | /* | 31 | /* |
29 | * Using the twl4030 core we address registers using a pair | 32 | * Using the twl4030 core we address registers using a pair |
30 | * { module id, relative register offset } | 33 | * { module id, relative register offset } |
@@ -302,13 +305,17 @@ struct twl4030_madc_platform_data { | |||
302 | int irq_line; | 305 | int irq_line; |
303 | }; | 306 | }; |
304 | 307 | ||
308 | /* Boards have uniqe mappings of {col, row} --> keycode. | ||
309 | * Column and row are 4 bits, but range only from 0..7. | ||
310 | * a PERSISTENT_KEY is "always on" and never reported. | ||
311 | */ | ||
312 | #define PERSISTENT_KEY(c, r) KEY((c), (r), KEY_RESERVED) | ||
313 | |||
305 | struct twl4030_keypad_data { | 314 | struct twl4030_keypad_data { |
306 | int rows; | 315 | const struct matrix_keymap_data *keymap_data; |
307 | int cols; | 316 | unsigned rows; |
308 | int *keymap; | 317 | unsigned cols; |
309 | int irq; | 318 | bool rep; |
310 | unsigned int keymapsize; | ||
311 | unsigned int rep:1; | ||
312 | }; | 319 | }; |
313 | 320 | ||
314 | enum twl4030_usb_mode { | 321 | enum twl4030_usb_mode { |