diff options
| author | Chao Xie <chao.xie@marvell.com> | 2013-05-05 23:24:58 -0400 |
|---|---|---|
| committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2013-06-19 01:56:51 -0400 |
| commit | 0a085a9482fa51efb58c9d351ea98e83c5df93fc (patch) | |
| tree | 411592ae841ea8b18dce07a7e4bce3fce30fcadc | |
| parent | 483180281f0ac60d1138710eb21f4b9961901294 (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.c | 10 | ||||
| -rw-r--r-- | arch/arm/mach-mmp/teton_bga.c | 8 | ||||
| -rw-r--r-- | arch/arm/mach-pxa/em-x270.c | 20 | ||||
| -rw-r--r-- | arch/arm/mach-pxa/ezx.c | 60 | ||||
| -rw-r--r-- | arch/arm/mach-pxa/littleton.c | 10 | ||||
| -rw-r--r-- | arch/arm/mach-pxa/mainstone.c | 10 | ||||
| -rw-r--r-- | arch/arm/mach-pxa/mioa701.c | 11 | ||||
| -rw-r--r-- | arch/arm/mach-pxa/palmld.c | 10 | ||||
| -rw-r--r-- | arch/arm/mach-pxa/palmt5.c | 10 | ||||
| -rw-r--r-- | arch/arm/mach-pxa/palmtreo.c | 23 | ||||
| -rw-r--r-- | arch/arm/mach-pxa/palmtx.c | 10 | ||||
| -rw-r--r-- | arch/arm/mach-pxa/palmz72.c | 10 | ||||
| -rw-r--r-- | arch/arm/mach-pxa/tavorevb.c | 10 | ||||
| -rw-r--r-- | arch/arm/mach-pxa/z2.c | 10 | ||||
| -rw-r--r-- | arch/arm/mach-pxa/zylonite.c | 10 | ||||
| -rw-r--r-- | drivers/input/keyboard/Kconfig | 1 | ||||
| -rw-r--r-- | drivers/input/keyboard/pxa27x_keypad.c | 35 | ||||
| -rw-r--r-- | include/linux/platform_data/keypad-pxa27x.h | 3 |
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 | ||
| 208 | static unsigned int aspenite_matrix_key_map[] = { | 208 | static 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 | ||
| 217 | static 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 | |||
| 217 | static struct pxa27x_keypad_platform_data aspenite_keypad_info __initdata = { | 222 | static 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 | ||
| 59 | static 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 | |||
| 59 | static struct pxa27x_keypad_platform_data teton_bga_keypad_info __initdata = { | 64 | static 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) |
| 836 | static unsigned int em_x270_module_matrix_keys[] = { | 836 | static 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 | ||
| 842 | static 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 | |||
| 842 | struct pxa27x_keypad_platform_data em_x270_module_keypad_info = { | 847 | struct 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 | ||
| 850 | static unsigned int em_x270_exeda_matrix_keys[] = { | 854 | static 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 | ||
| 896 | static 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 | |||
| 892 | struct pxa27x_keypad_platform_data em_x270_exeda_keypad_info = { | 901 | struct 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 | ||
| 900 | static void __init em_x270_init_keypad(void) | 908 | static 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 |
| 395 | static unsigned int a780_key_map[] = { | 395 | static 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 | ||
| 427 | static struct matrix_keymap_data a780_matrix_keymap_data = { | ||
| 428 | .keymap = a780_key_map, | ||
| 429 | .keymap_size = ARRAY_SIZE(a780_key_map), | ||
| 430 | }; | ||
| 431 | |||
| 427 | static struct pxa27x_keypad_platform_data a780_keypad_platform_data = { | 432 | static 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 |
| 441 | static unsigned int e680_key_map[] = { | 445 | static 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), |
