aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChao Xie <chao.xie@marvell.com>2013-05-05 23:24:58 -0400
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2013-06-19 01:56:51 -0400
commit0a085a9482fa51efb58c9d351ea98e83c5df93fc (patch)
tree411592ae841ea8b18dce07a7e4bce3fce30fcadc
parent483180281f0ac60d1138710eb21f4b9961901294 (diff)
Input: pxa27x-keypad - use matrix_keymap for matrix keys
pxa27x-keypad includes matrix keys. Make use of matrix_keymap for the matrix keys. Signed-off-by: Chao Xie <chao.xie@marvell.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-rw-r--r--arch/arm/mach-mmp/aspenite.c10
-rw-r--r--arch/arm/mach-mmp/teton_bga.c8
-rw-r--r--arch/arm/mach-pxa/em-x270.c20
-rw-r--r--arch/arm/mach-pxa/ezx.c60
-rw-r--r--arch/arm/mach-pxa/littleton.c10
-rw-r--r--arch/arm/mach-pxa/mainstone.c10
-rw-r--r--arch/arm/mach-pxa/mioa701.c11
-rw-r--r--arch/arm/mach-pxa/palmld.c10
-rw-r--r--arch/arm/mach-pxa/palmt5.c10
-rw-r--r--arch/arm/mach-pxa/palmtreo.c23
-rw-r--r--arch/arm/mach-pxa/palmtx.c10
-rw-r--r--arch/arm/mach-pxa/palmz72.c10
-rw-r--r--arch/arm/mach-pxa/tavorevb.c10
-rw-r--r--arch/arm/mach-pxa/z2.c10
-rw-r--r--arch/arm/mach-pxa/zylonite.c10
-rw-r--r--drivers/input/keyboard/Kconfig1
-rw-r--r--drivers/input/keyboard/pxa27x_keypad.c35
-rw-r--r--include/linux/platform_data/keypad-pxa27x.h3
18 files changed, 180 insertions, 81 deletions
diff --git a/arch/arm/mach-mmp/aspenite.c b/arch/arm/mach-mmp/aspenite.c
index 9f64d5632e07..1e233467fffa 100644
--- a/arch/arm/mach-mmp/aspenite.c
+++ b/arch/arm/mach-mmp/aspenite.c
@@ -205,7 +205,7 @@ struct pxa168fb_mach_info aspenite_lcd_info = {
205 .invert_pixclock = 0, 205 .invert_pixclock = 0,
206}; 206};
207 207
208static unsigned int aspenite_matrix_key_map[] = { 208static const unsigned int aspenite_matrix_key_map[] = {
209 KEY(0, 6, KEY_UP), /* SW 4 */ 209 KEY(0, 6, KEY_UP), /* SW 4 */
210 KEY(0, 7, KEY_DOWN), /* SW 5 */ 210 KEY(0, 7, KEY_DOWN), /* SW 5 */
211 KEY(1, 6, KEY_LEFT), /* SW 6 */ 211 KEY(1, 6, KEY_LEFT), /* SW 6 */
@@ -214,11 +214,15 @@ static unsigned int aspenite_matrix_key_map[] = {
214 KEY(4, 7, KEY_ESC), /* SW 9 */ 214 KEY(4, 7, KEY_ESC), /* SW 9 */
215}; 215};
216 216
217static struct matrix_keymap_data aspenite_matrix_keymap_data = {
218 .keymap = aspenite_matrix_key_map,
219 .keymap_size = ARRAY_SIZE(aspenite_matrix_key_map),
220};
221
217static struct pxa27x_keypad_platform_data aspenite_keypad_info __initdata = { 222static struct pxa27x_keypad_platform_data aspenite_keypad_info __initdata = {
218 .matrix_key_rows = 5, 223 .matrix_key_rows = 5,
219 .matrix_key_cols = 8, 224 .matrix_key_cols = 8,
220 .matrix_key_map = aspenite_matrix_key_map, 225 .matrix_keymap_data = &aspenite_matrix_keymap_data,
221 .matrix_key_map_size = ARRAY_SIZE(aspenite_matrix_key_map),
222 .debounce_interval = 30, 226 .debounce_interval = 30,
223}; 227};
224 228
diff --git a/arch/arm/mach-mmp/teton_bga.c b/arch/arm/mach-mmp/teton_bga.c
index 8609967975ed..d8967fa48374 100644
--- a/arch/arm/mach-mmp/teton_bga.c
+++ b/arch/arm/mach-mmp/teton_bga.c
@@ -56,11 +56,15 @@ static unsigned int teton_bga_matrix_key_map[] = {
56 KEY(1, 7, KEY_RIGHT), 56 KEY(1, 7, KEY_RIGHT),
57}; 57};
58 58
59static struct matrix_keymap_data teton_bga_matrix_keymap_data = {
60 .keymap = teton_bga_matrix_key_map,
61 .keymap_size = ARRAY_SIZE(teton_bga_matrix_key_map),
62};
63
59static struct pxa27x_keypad_platform_data teton_bga_keypad_info __initdata = { 64static struct pxa27x_keypad_platform_data teton_bga_keypad_info __initdata = {
60 .matrix_key_rows = 2, 65 .matrix_key_rows = 2,
61 .matrix_key_cols = 8, 66 .matrix_key_cols = 8,
62 .matrix_key_map = teton_bga_matrix_key_map, 67 .matrix_keymap_data = &teton_bga_matrix_keymap_data,
63 .matrix_key_map_size = ARRAY_SIZE(teton_bga_matrix_key_map),
64 .debounce_interval = 30, 68 .debounce_interval = 30,
65}; 69};
66 70
diff --git a/arch/arm/mach-pxa/em-x270.c b/arch/arm/mach-pxa/em-x270.c
index 446563a7d1ad..f6726bb4eb95 100644
--- a/arch/arm/mach-pxa/em-x270.c
+++ b/arch/arm/mach-pxa/em-x270.c
@@ -833,21 +833,25 @@ static inline void em_x270_init_ac97(void) {}
833#endif 833#endif
834 834
835#if defined(CONFIG_KEYBOARD_PXA27x) || defined(CONFIG_KEYBOARD_PXA27x_MODULE) 835#if defined(CONFIG_KEYBOARD_PXA27x) || defined(CONFIG_KEYBOARD_PXA27x_MODULE)
836static unsigned int em_x270_module_matrix_keys[] = { 836static const unsigned int em_x270_module_matrix_keys[] = {
837 KEY(0, 0, KEY_A), KEY(1, 0, KEY_UP), KEY(2, 1, KEY_B), 837 KEY(0, 0, KEY_A), KEY(1, 0, KEY_UP), KEY(2, 1, KEY_B),
838 KEY(0, 2, KEY_LEFT), KEY(1, 1, KEY_ENTER), KEY(2, 0, KEY_RIGHT), 838 KEY(0, 2, KEY_LEFT), KEY(1, 1, KEY_ENTER), KEY(2, 0, KEY_RIGHT),
839 KEY(0, 1, KEY_C), KEY(1, 2, KEY_DOWN), KEY(2, 2, KEY_D), 839 KEY(0, 1, KEY_C), KEY(1, 2, KEY_DOWN), KEY(2, 2, KEY_D),
840}; 840};
841 841
842static struct matrix_keymap_data em_x270_matrix_keymap_data = {
843 .keymap = em_x270_module_matrix_keys,
844 .keymap_size = ARRAY_SIZE(em_x270_module_matrix_keys),
845};
846
842struct pxa27x_keypad_platform_data em_x270_module_keypad_info = { 847struct pxa27x_keypad_platform_data em_x270_module_keypad_info = {
843 /* code map for the matrix keys */ 848 /* code map for the matrix keys */
844 .matrix_key_rows = 3, 849 .matrix_key_rows = 3,
845 .matrix_key_cols = 3, 850 .matrix_key_cols = 3,
846 .matrix_key_map = em_x270_module_matrix_keys, 851 .matrix_keymap_data = &em_x270_matrix_keymap_data,
847 .matrix_key_map_size = ARRAY_SIZE(em_x270_module_matrix_keys),
848}; 852};
849 853
850static unsigned int em_x270_exeda_matrix_keys[] = { 854static const unsigned int em_x270_exeda_matrix_keys[] = {
851 KEY(0, 0, KEY_RIGHTSHIFT), KEY(0, 1, KEY_RIGHTCTRL), 855 KEY(0, 0, KEY_RIGHTSHIFT), KEY(0, 1, KEY_RIGHTCTRL),
852 KEY(0, 2, KEY_RIGHTALT), KEY(0, 3, KEY_SPACE), 856 KEY(0, 2, KEY_RIGHTALT), KEY(0, 3, KEY_SPACE),
853 KEY(0, 4, KEY_LEFTALT), KEY(0, 5, KEY_LEFTCTRL), 857 KEY(0, 4, KEY_LEFTALT), KEY(0, 5, KEY_LEFTCTRL),
@@ -889,12 +893,16 @@ static unsigned int em_x270_exeda_matrix_keys[] = {
889 KEY(7, 6, 0), KEY(7, 7, 0), 893 KEY(7, 6, 0), KEY(7, 7, 0),
890}; 894};
891 895
896static struct matrix_keymap_data em_x270_exeda_matrix_keymap_data = {
897 .keymap = em_x270_exeda_matrix_keys,
898 .keymap_size = ARRAY_SIZE(em_x270_exeda_matrix_keys),
899};
900
892struct pxa27x_keypad_platform_data em_x270_exeda_keypad_info = { 901struct pxa27x_keypad_platform_data em_x270_exeda_keypad_info = {
893 /* code map for the matrix keys */ 902 /* code map for the matrix keys */
894 .matrix_key_rows = 8, 903 .matrix_key_rows = 8,
895 .matrix_key_cols = 8, 904 .matrix_key_cols = 8,
896 .matrix_key_map = em_x270_exeda_matrix_keys, 905 .matrix_keymap_data = &em_x270_exeda_matrix_keymap_data,
897 .matrix_key_map_size = ARRAY_SIZE(em_x270_exeda_matrix_keys),
898}; 906};
899 907
900static void __init em_x270_init_keypad(void) 908static void __init em_x270_init_keypad(void)
diff --git a/arch/arm/mach-pxa/ezx.c b/arch/arm/mach-pxa/ezx.c
index dca10709be8f..fe2eb8394dff 100644
--- a/arch/arm/mach-pxa/ezx.c
+++ b/arch/arm/mach-pxa/ezx.c
@@ -392,7 +392,7 @@ static unsigned long e6_pin_config[] __initdata = {
392 392
393/* KEYPAD */ 393/* KEYPAD */
394#ifdef CONFIG_MACH_EZX_A780 394#ifdef CONFIG_MACH_EZX_A780
395static unsigned int a780_key_map[] = { 395static const unsigned int a780_key_map[] = {
396 KEY(0, 0, KEY_SEND), 396 KEY(0, 0, KEY_SEND),
397 KEY(0, 1, KEY_BACK), 397 KEY(0, 1, KEY_BACK),
398 KEY(0, 2, KEY_END), 398 KEY(0, 2, KEY_END),
@@ -424,11 +424,15 @@ static unsigned int a780_key_map[] = {
424 KEY(4, 4, KEY_DOWN), 424 KEY(4, 4, KEY_DOWN),
425}; 425};
426 426
427static struct matrix_keymap_data a780_matrix_keymap_data = {
428 .keymap = a780_key_map,
429 .keymap_size = ARRAY_SIZE(a780_key_map),
430};
431
427static struct pxa27x_keypad_platform_data a780_keypad_platform_data = { 432static struct pxa27x_keypad_platform_data a780_keypad_platform_data = {
428 .matrix_key_rows = 5, 433 .matrix_key_rows = 5,
429 .matrix_key_cols = 5, 434 .matrix_key_cols = 5,
430 .matrix_key_map = a780_key_map, 435 .matrix_keymap_data = &a780_matrix_keymap_data,
431 .matrix_key_map_size = ARRAY_SIZE(a780_key_map),
432 436
433 .direct_key_map = { KEY_CAMERA }, 437 .direct_key_map = { KEY_CAMERA },
434 .direct_key_num = 1, 438 .direct_key_num = 1,
@@ -438,7 +442,7 @@ static struct pxa27x_keypad_platform_data a780_keypad_platform_data = {
438#endif /* CONFIG_MACH_EZX_A780 */ 442#endif /* CONFIG_MACH_EZX_A780 */
439 443
440#ifdef CONFIG_MACH_EZX_E680 444#ifdef CONFIG_MACH_EZX_E680
441static unsigned int e680_key_map[] = { 445static const unsigned int e680_key_map[] = {
442 KEY(0, 0, KEY_UP), 446 KEY(0, 0, KEY_UP),
443 KEY(0, 1, KEY_RIGHT), 447 KEY(0, 1, KEY_RIGHT),