aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-07-04 18:35:08 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2013-07-04 18:35:08 -0400
commitf5b63ac0f77ecab46796ba5d368ea5dd51834e6e (patch)
tree66788b3327afa62aa7f8fe05951945a2ee1e9e4e /arch/arm
parent98f486f18d16e2214728d101ed8b6a12dce75539 (diff)
parent57961e3ba72f4a8a1aa52e978020ecc2ca03a79f (diff)
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
Pull input updates from Dmitry Torokhov: "First round of updates for the input subsystem. You will get a new touchsreen driver for Cypress 4th generation devices, a driver for a special controller implementing PS/2 protocol in OLPC devices, and a driver for power key for SiRFprimaII PWRC. HID and bcm5497 now support for the 2013 MacBook Air. EVIOCGKEY and the rest of evdev ioctls now flush events of matching type from the client's event queue so that clients can be sure any events received after issuing EVIOCG* ioctl are new events. And a host of cleanups and improvements in other drivers" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (87 commits) Input: cyttsp4 - kfree xfer_buf on error path in probe() Input: tps6507x-ts - select INPUT_POLLDEV Input: bcm5974 - add support for the 2013 MacBook Air HID: apple: Add support for the 2013 Macbook Air Input: cyttsp4 - leak on error path in probe() Input: cyttsp4 - silence NULL dereference warning Input: cyttsp4 - silence shift wrap warning Input: tps6507x-ts - convert to polled input device infrastructure ARM: davinci: da850-evm: remove vref from touchscreen platform data Input: cyttsp4 - SPI driver for Cypress TMA4XX touchscreen devices Input: cyttsp4 - I2C driver for Cypress TMA4XX touchscreen devices Input: cyttsp4 - add core driver for Cypress TMA4XX touchscreen devices Input: cyttsp - I2C driver split into two modules Input: add OLPC AP-SP driver Input: nspire-keypad - remove redundant dev_err call in nspire_keypad_probe() Input: tps6507x-ts - remove vref from platform data Input: tps6507x-ts - use bool for booleans Input: tps6507x-ts - remove bogus unreachable code Input: samsung-keypad - let device core setup the default pin configuration Input: wacom_i2c - implement hovering capability ...
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/mach-davinci/board-da850-evm.c1
-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
16 files changed, 155 insertions, 68 deletions
diff --git a/arch/arm/mach-davinci/board-da850-evm.c b/arch/arm/mach-davinci/board-da850-evm.c
index 8a24b6c6339f..bea6793a7ede 100644
--- a/arch/arm/mach-davinci/board-da850-evm.c
+++ b/arch/arm/mach-davinci/board-da850-evm.c
@@ -985,7 +985,6 @@ static struct regulator_init_data tps65070_regulator_data[] = {
985static struct touchscreen_init_data tps6507x_touchscreen_data = { 985static struct touchscreen_init_data tps6507x_touchscreen_data = {
986 .poll_period = 30, /* ms between touch samples */ 986 .poll_period = 30, /* ms between touch samples */
987 .min_pressure = 0x30, /* minimum pressure to trigger touch */ 987 .min_pressure = 0x30, /* minimum pressure to trigger touch */
988 .vref = 0, /* turn off vref when not using A/D */
989 .vendor = 0, /* /sys/class/input/input?/id/vendor */ 988 .vendor = 0, /* /sys/class/input/input?/id/vendor */
990 .product = 65070, /* /sys/class/input/input?/id/product */ 989 .product = 65070, /* /sys/class/input/input?/id/product */
991 .version = 0x100, /* /sys/class/input/input?/id/version */ 990 .version = 0x100, /* /sys/class/input/input?/id/version */
diff --git a/arch/arm/mach-mmp/aspenite.c b/arch/arm/mach-mmp/aspenite.c
index 5b660ec09ef5..0c002099c3a3 100644
--- a/arch/arm/mach-mmp/aspenite.c
+++ b/arch/arm/mach-mmp/aspenite.c
@@ -210,7 +210,7 @@ struct pxa168fb_mach_info aspenite_lcd_info = {
210 .invert_pixclock = 0, 210 .invert_pixclock = 0,
211}; 211};
212 212
213static unsigned int aspenite_matrix_key_map[] = { 213static const unsigned int aspenite_matrix_key_map[] = {
214 KEY(0, 6, KEY_UP), /* SW 4 */ 214 KEY(0, 6, KEY_UP), /* SW 4 */
215 KEY(0, 7, KEY_DOWN), /* SW 5 */ 215 KEY(0, 7, KEY_DOWN), /* SW 5 */
216 KEY(1, 6, KEY_LEFT), /* SW 6 */ 216 KEY(1, 6, KEY_LEFT), /* SW 6 */
@@ -219,11 +219,15 @@ static unsigned int aspenite_matrix_key_map[] = {
219 KEY(4, 7, KEY_ESC), /* SW 9 */ 219 KEY(4, 7, KEY_ESC), /* SW 9 */
220}; 220};
221 221
222static struct matrix_keymap_data aspenite_matrix_keymap_data = {
223 .keymap = aspenite_matrix_key_map,
224 .keymap_size = ARRAY_SIZE(aspenite_matrix_key_map),
225};
226
222static struct pxa27x_keypad_platform_data aspenite_keypad_info __initdata = { 227static struct pxa27x_keypad_platform_data aspenite_keypad_info __initdata = {
223 .matrix_key_rows = 5, 228 .matrix_key_rows = 5,
224 .matrix_key_cols = 8, 229 .matrix_key_cols = 8,
225 .matrix_key_map = aspenite_matrix_key_map, 230 .matrix_keymap_data = &aspenite_matrix_keymap_data,
226 .matrix_key_map_size = ARRAY_SIZE(aspenite_matrix_key_map),
227 .debounce_interval = 30, 231 .debounce_interval = 30,
228}; 232};
229 233
diff --git a/arch/arm/mach-mmp/teton_bga.c b/arch/arm/mach-mmp/teton_bga.c
index e4d95b4c6bb2..6aa53fb29d26 100644
--- a/arch/arm/mach-mmp/teton_bga.c
+++ b/arch/arm/mach-mmp/teton_bga.c
@@ -61,11 +61,15 @@ static unsigned int teton_bga_matrix_key_map[] = {
61 KEY(1, 7, KEY_RIGHT), 61 KEY(1, 7, KEY_RIGHT),
62}; 62};
63 63
64static struct matrix_keymap_data teton_bga_matrix_keymap_data = {
65 .keymap = teton_bga_matrix_key_map,
66 .keymap_size = ARRAY_SIZE(teton_bga_matrix_key_map),
67};
68
64static struct pxa27x_keypad_platform_data teton_bga_keypad_info __initdata = { 69static struct pxa27x_keypad_platform_data teton_bga_keypad_info __initdata = {
65 .matrix_key_rows = 2, 70 .matrix_key_rows = 2,
66 .matrix_key_cols = 8, 71 .matrix_key_cols = 8,
67 .matrix_key_map = teton_bga_matrix_key_map, 72 .matrix_keymap_data = &teton_bga_matrix_keymap_data,
68 .matrix_key_map_size = ARRAY_SIZE(teton_bga_matrix_key_map),
69 .debounce_interval = 30, 73 .debounce_interval = 30,
70}; 74};
71 75
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),
444 KEY(0, 2, KEY_RESERVED), 448 KEY(0, 2, KEY_RESERVED),
@@ -455,11 +459,15 @@ static unsigned int e680_key_map[] = {
455 KEY(2, 3, KEY_KPENTER), 459 KEY(2, 3, KEY_KPENTER),
456}; 460};
457 461
462static struct matrix_keymap_data e680_matrix_keymap_data = {
463 .keymap = e680_key_map,
464 .keymap_size = ARRAY_SIZE(e680_key_map),
465};
466
458static struct pxa27x_keypad_platform_data e680_keypad_platform_data = { 467static struct pxa27x_keypad_platform_data e680_keypad_platform_data = {
459 .matrix_key_rows = 3, 468 .matrix_key_rows = 3,
460 .matrix_key_cols = 4, 469 .matrix_key_cols = 4,
461 .matrix_key_map = e680_key_map, 470 .matrix_keymap_data = &e680_matrix_keymap_data,
462 .matrix_key_map_size = ARRAY_SIZE(e680_key_map),
463 471
464 .direct_key_map = { 472 .direct_key_map = {
465 KEY_CAMERA, 473 KEY_CAMERA,
@@ -476,7 +484,7 @@ static struct pxa27x_keypad_platform_data e680_keypad_platform_data = {
476#endif /* CONFIG_MACH_EZX_E680 */ 484#endif /* CONFIG_MACH_EZX_E680 */
477 485
478#ifdef CONFIG_MACH_EZX_A1200 486#ifdef CONFIG_MACH_EZX_A1200
479static unsigned int a1200_key_map[] = { 487static const unsigned int a1200_key_map[] = {
480 KEY(0, 0, KEY_RESERVED), 488 KEY(0, 0, KEY_RESERVED),
481 KEY(0, 1, KEY_RIGHT), 489 KEY(0, 1, KEY_RIGHT),
482 KEY(0, 2, KEY_PAGEDOWN), 490 KEY(0, 2, KEY_PAGEDOWN),
@@ -513,18 +521,22 @@ static unsigned int a1200_key_map[] = {
513 KEY(4, 5, KEY_RESERVED), 521 KEY(4, 5, KEY_RESERVED),
514}; 522};
515 523
524static struct matrix_keymap_data a1200_matrix_keymap_data = {
525 .keymap = a1200_key_map,
526 .keymap_size = ARRAY_SIZE(a1200_key_map),
527};
528
516static struct pxa27x_keypad_platform_data a1200_keypad_platform_data = { 529static struct pxa27x_keypad_platform_data a1200_keypad_platform_data = {
517 .matrix_key_rows = 5, 530 .matrix_key_rows = 5,
518 .matrix_key_cols = 6, 531 .matrix_key_cols = 6,
519 .matrix_key_map = a1200_key_map, 532 .matrix_keymap_data = &a1200_matrix_keymap_data,
520 .matrix_key_map_size = ARRAY_SIZE(a1200_key_map),
521 533
522 .debounce_interval = 30, 534 .debounce_interval = 30,
523}; 535};
524#endif /* CONFIG_MACH_EZX_A1200 */ 536#endif /* CONFIG_MACH_EZX_A1200 */
525 537
526#ifdef CONFIG_MACH_EZX_E6 538#ifdef CONFIG_MACH_EZX_E6
527static unsigned int e6_key_map[] = { 539static const unsigned int e6_key_map[] = {
528 KEY(0, 0, KEY_RESERVED), 540 KEY(0, 0, KEY_RESERVED),
529 KEY(0, 1, KEY_RIGHT), 541 KEY(0, 1, KEY_RIGHT),
530 KEY(0, 2, KEY_PAGEDOWN), 542 KEY(0, 2, KEY_PAGEDOWN),
@@ -561,18 +573,22 @@ static unsigned int e6_key_map[] = {
561 KEY(4, 5, KEY_PREVIOUSSONG), 573 KEY(4, 5, KEY_PREVIOUSSONG),
562}; 574};
563 575
576static struct matrix_keymap_data e6_keymap_data = {
577 .keymap = e6_key_map,
578 .keymap_size = ARRAY_SIZE(e6_key_map),
579};
580
564static struct pxa27x_keypad_platform_data e6_keypad_platform_data = { 581static struct pxa27x_keypad_platform_data e6_keypad_platform_data = {
565 .matrix_key_rows = 5, 582 .matrix_key_rows = 5,
566 .matrix_key_cols = 6, 583 .matrix_key_cols = 6,
567 .matrix_key_map = e6_key_map, 584 .matrix_keymap_data = &e6_keymap_data,
568 .matrix_key_map_size = ARRAY_SIZE(e6_key_map),
569 585
570 .debounce_interval = 30, 586 .debounce_interval = 30,
571}; 587};
572#endif /* CONFIG_MACH_EZX_E6 */ 588#endif /* CONFIG_MACH_EZX_E6 */
573 589
574#ifdef CONFIG_MACH_EZX_A910 590#ifdef CONFIG_MACH_EZX_A910
575static unsigned int a910_key_map[] = { 591static const unsigned int a910_key_map[] = {
576 KEY(0, 0, KEY_NUMERIC_6), 592 KEY(0, 0, KEY_NUMERIC_6),
577 KEY(0, 1, KEY_RIGHT), 593 KEY(0, 1, KEY_RIGHT),
578 KEY(0, 2, KEY_PAGEDOWN), 594 KEY(0, 2, KEY_PAGEDOWN),
@@ -609,18 +625,22 @@ static unsigned int a910_key_map[] = {
609 KEY(4, 5, KEY_RESERVED), 625 KEY(4, 5, KEY_RESERVED),
610}; 626};
611 627
628static struct matrix_keymap_data a910_matrix_keymap_data = {
629 .keymap = a910_key_map,
630 .keymap_size = ARRAY_SIZE(a910_key_map),
631};
632
612static struct pxa27x_keypad_platform_data a910_keypad_platform_data = { 633static struct pxa27x_keypad_platform_data a910_keypad_platform_data = {
613 .matrix_key_rows = 5, 634 .matrix_key_rows = 5,
614 .matrix_key_cols = 6, 635 .matrix_key_cols = 6,
615 .matrix_key_map = a910_key_map, 636 .matrix_keymap_data = &a910_matrix_keymap_data,
616 .matrix_key_map_size = ARRAY_SIZE(a910_key_map),
617 637
618 .debounce_interval = 30, 638 .debounce_interval = 30,
619}; 639};
620#endif /* CONFIG_MACH_EZX_A910 */ 640#endif /* CONFIG_MACH_EZX_A910 */
621 641
622#ifdef CONFIG_MACH_EZX_E2 642#ifdef CONFIG_MACH_EZX_E2
623static unsigned int e2_key_map[] = { 643static const unsigned int e2_key_map[] = {
624 KEY(0, 0, KEY_NUMERIC_6), 644 KEY(0, 0, KEY_NUMERIC_6),
625 KEY(0, 1, KEY_RIGHT), 645 KEY(0, 1, KEY_RIGHT),
626 KEY(0, 2, KEY_NUMERIC_9), 646 KEY(0, 2, KEY_NUMERIC_9),
@@ -657,11 +677,15 @@ static unsigned int e2_key_map[] = {
657 KEY(4, 5, KEY_RESERVED), 677 KEY(4, 5, KEY_RESERVED),
658}; 678};
659 679
680static struct matrix_keymap_data e2_matrix_keymap_data = {
681 .keymap = e2_key_map,
682 .keymap_size = ARRAY_SIZE(e2_key_map),
683};
684
660static struct pxa27x_keypad_platform_data e2_keypad_platform_data = { 685static struct pxa27x_keypad_platform_data e2_keypad_platform_data = {
661 .matrix_key_rows = 5, 686 .matrix_key_rows = 5,
662 .matrix_key_cols = 6, 687 .matrix_key_cols = 6,
663 .matrix_key_map = e2_key_map, 688 .matrix_keymap_data = &e2_matrix_keymap_data,
664 .matrix_key_map_size = ARRAY_SIZE(e2_key_map),
665 689
666 .debounce_interval = 30, 690 .debounce_interval = 30,
667}; 691};
diff --git a/arch/arm/mach-pxa/littleton.c b/arch/arm/mach-pxa/littleton.c
index e848c4607baf..5d665588c7eb 100644
--- a/arch/arm/mach-pxa/littleton.c
+++ b/arch/arm/mach-pxa/littleton.c
@@ -222,7 +222,7 @@ static inline void littleton_init_spi(void) {}
222#endif 222#endif
223 223
224#if defined(CONFIG_KEYBOARD_PXA27x) || defined(CONFIG_KEYBOARD_PXA27x_MODULE) 224#if defined(CONFIG_KEYBOARD_PXA27x) || defined(CONFIG_KEYBOARD_PXA27x_MODULE)
225static unsigned int littleton_matrix_key_map[] = { 225static const unsigned int littleton_matrix_key_map[] = {
226 /* KEY(row, col, key_code) */ 226 /* KEY(row, col, key_code) */
227 KEY(1, 3, KEY_0), KEY(0, 0, KEY_1), KEY(1, 0, KEY_2), KEY(2, 0, KEY_3), 227 KEY(1, 3, KEY_0), KEY(0, 0, KEY_1), KEY(1, 0, KEY_2), KEY(2, 0, KEY_3),
228 KEY(0, 1, KEY_4), KEY(1, 1, KEY_5), KEY(2, 1, KEY_6), KEY(0, 2, KEY_7), 228 KEY(0, 1, KEY_4), KEY(1, 1, KEY_5), KEY(2, 1, KEY_6), KEY(0, 2, KEY_7),
@@ -249,11 +249,15 @@ static unsigned int littleton_matrix_key_map[] = {
249 KEY(3, 1, KEY_F23), /* soft2 */ 249 KEY(3, 1, KEY_F23), /* soft2 */
250}; 250};
251 251
252static struct matrix_keymap_data littleton_matrix_keymap_data = {
253 .keymap = littleton_matrix_key_map,
254 .keymap_size = ARRAY_SIZE(littleton_matrix_key_map),
255};
256
252static struct pxa27x_keypad_platform_data littleton_keypad_info = { 257static struct pxa27x_keypad_platform_data littleton_keypad_info = {
253 .matrix_key_rows = 6, 258 .matrix_key_rows = 6,
254 .matrix_key_cols = 5, 259 .matrix_key_cols = 5,
255 .matrix_key_map = littleton_matrix_key_map, 260 .matrix_keymap_data = &littleton_matrix_keymap_data,
256 .matrix_key_map_size = ARRAY_SIZE(littleton_matrix_key_map),
257 261
258 .enable_rotary0 = 1, 262 .enable_rotary0 = 1,
259 .rotary0_up_key = KEY_UP, 263 .rotary0_up_key = KEY_UP,
diff --git a/arch/arm/mach-pxa/mainstone.c b/arch/arm/mach-pxa/mainstone.c
index 7a12c1ba90ff..d2c652318376 100644
--- a/arch/arm/mach-pxa/mainstone.c
+++ b/arch/arm/mach-pxa/mainstone.c
@@ -498,7 +498,7 @@ static struct pxaohci_platform_data mainstone_ohci_platform_data = {
498}; 498};
499 499
500#if defined(CONFIG_KEYBOARD_PXA27x) || defined(CONFIG_KEYBOARD_PXA27x_MODULE) 500#if defined(CONFIG_KEYBOARD_PXA27x) || defined(CONFIG_KEYBOARD_PXA27x_MODULE)
501static unsigned int mainstone_matrix_keys[] = { 501static const unsigned int mainstone_matrix_keys[] = {
502 KEY(0, 0, KEY_A), KEY(1, 0, KEY_B), KEY(2, 0, KEY_C), 502 KEY(0, 0, KEY_A), KEY(1, 0, KEY_B), KEY(2, 0, KEY_C),
503 KEY(3, 0, KEY_D), KEY(4, 0, KEY_E), KEY(5, 0, KEY_F), 503 KEY(3, 0, KEY_D), KEY(4, 0, KEY_E), KEY(5, 0, KEY_F),
504 KEY(0, 1, KEY_G), KEY(1, 1, KEY_H), KEY(2, 1, KEY_I), 504 KEY(0, 1, KEY_G), KEY(1, 1, KEY_H), KEY(2, 1, KEY_I),
@@ -527,11 +527,15 @@ static unsigned int mainstone_matrix_keys[] = {
527 KEY(4, 6, KEY_SELECT), 527 KEY(4, 6, KEY_SELECT),
528}; 528};
529 529
530static struct matrix_keymap_data mainstone_matrix_keymap_data = {
531 .keymap = mainstone_matrix_keys,
532 .keymap_size = ARRAY_SIZE(mainstone_matrix_keys),
533};
534
530struct pxa27x_keypad_platform_data mainstone_keypad_info = { 535struct pxa27x_keypad_platform_data mainstone_keypad_info = {
531 .matrix_key_rows = 6, 536 .matrix_key_rows = 6,
532 .matrix_key_cols = 7, 537 .matrix_key_cols = 7,
533 .matrix_key_map = mainstone_matrix_keys, 538 .matrix_keymap_data = &mainstone_matrix_keymap_data,
534 .matrix_key_map_size = ARRAY_SIZE(mainstone_matrix_keys),
535 539
536 .enable_rotary0 = 1, 540 .enable_rotary0 = 1,
537 .rotary0_up_key = KEY_UP, 541 .rotary0_up_key = KEY_UP,
diff --git a/arch/arm/mach-pxa/mioa701.c b/arch/arm/mach-pxa/mioa701.c
index f8979b943cbf..654b0ac84dea 100644
--- a/arch/arm/mach-pxa/mioa701.c
+++ b/arch/arm/mach-pxa/mioa701.c
@@ -222,7 +222,7 @@ static struct pxafb_mach_info mioa701_pxafb_info = {
222/* 222/*
223 * Keyboard configuration 223 * Keyboard configuration
224 */ 224 */
225static unsigned int mioa701_matrix_keys[] = { 225static const unsigned int mioa701_matrix_keys[] = {
226 KEY(0, 0, KEY_UP), 226 KEY(0, 0, KEY_UP),
227 KEY(0, 1, KEY_RIGHT), 227 KEY(0, 1, KEY_RIGHT),
228 KEY(0, 2, KEY_MEDIA), 228 KEY(0, 2, KEY_MEDIA),
@@ -233,11 +233,16 @@ static unsigned int mioa701_matrix_keys[] = {
233 KEY(2, 1, KEY_PHONE), /* Phone Green key */ 233 KEY(2, 1, KEY_PHONE), /* Phone Green key */
234 KEY(2, 2, KEY_CAMERA) /* Camera key */ 234 KEY(2, 2, KEY_CAMERA) /* Camera key */
235}; 235};
236
237static struct matrix_keymap_data mioa701_matrix_keymap_data = {
238 .keymap = mioa701_matrix_keys,
239 .keymap_size = ARRAY_SIZE(mioa701_matrix_keys),
240};
241
236static struct pxa27x_keypad_platform_data mioa701_keypad_info = { 242static struct pxa27x_keypad_platform_data mioa701_keypad_info = {
237 .matrix_key_rows = 3, 243 .matrix_key_rows = 3,
238 .matrix_key_cols = 3, 244 .matrix_key_cols = 3,
239 .matrix_key_map = mioa701_matrix_keys, 245 .matrix_keymap_data = &mioa701_matrix_keymap_data,
240 .matrix_key_map_size = ARRAY_SIZE(mioa701_matrix_keys),
241}; 246};
242 247
243/* 248/*
diff --git a/arch/arm/mach-pxa/palmld.c b/arch/arm/mach-pxa/palmld.c
index 909b713e5789..cf210b11ffcc 100644
--- a/arch/arm/mach-pxa/palmld.c
+++ b/arch/arm/mach-pxa/palmld.c
@@ -173,7 +173,7 @@ static inline void palmld_nor_init(void) {}
173 * GPIO keyboard 173 * GPIO keyboard
174 ******************************************************************************/ 174 ******************************************************************************/
175#if defined(CONFIG_KEYBOARD_PXA27x) || defined(CONFIG_KEYBOARD_PXA27x_MODULE) 175#if defined(CONFIG_KEYBOARD_PXA27x) || defined(CONFIG_KEYBOARD_PXA27x_MODULE)
176static unsigned int palmld_matrix_keys[] = { 176static const unsigned int palmld_matrix_keys[] = {
177 KEY(0, 1, KEY_F2), 177 KEY(0, 1, KEY_F2),
178 KEY(0, 2, KEY_UP), 178 KEY(0, 2, KEY_UP),
179 179
@@ -190,11 +190,15 @@ static unsigned int palmld_matrix_keys[] = {
190 KEY(3, 2, KEY_LEFT), 190 KEY(3, 2, KEY_LEFT),
191}; 191};
192 192
193static struct matrix_keymap_data palmld_matrix_keymap_data = {
194 .keymap = palmld_matrix_keys,
195 .keymap_size = ARRAY_SIZE(palmld_matrix_keys),
196};
197
193static struct pxa27x_keypad_platform_data palmld_keypad_platform_data = { 198static struct pxa27x_keypad_platform_data palmld_keypad_platform_data = {
194 .matrix_key_rows = 4, 199 .matrix_key_rows = 4,
195 .matrix_key_cols = 3, 200 .matrix_key_cols = 3,
196 .matrix_key_map = palmld_matrix_keys, 201 .matrix_keymap_data = &palmld_matrix_keymap_data,
197 .matrix_key_map_size = ARRAY_SIZE(palmld_matrix_keys),
198 202
199 .debounce_interval = 30, 203 .debounce_interval = 30,
200}; 204};
diff --git a/arch/arm/mach-pxa/palmt5.c b/arch/arm/mach-pxa/palmt5.c
index 5033fd07968f..3ed9b029428b 100644
--- a/arch/arm/mach-pxa/palmt5.c
+++ b/arch/arm/mach-pxa/palmt5.c
@@ -108,7 +108,7 @@ static unsigned long palmt5_pin_config[] __initdata = {
108 * GPIO keyboard 108 * GPIO keyboard
109 ******************************************************************************/ 109 ******************************************************************************/
110#if defined(CONFIG_KEYBOARD_PXA27x) || defined(CONFIG_KEYBOARD_PXA27x_MODULE) 110#if defined(CONFIG_KEYBOARD_PXA27x) || defined(CONFIG_KEYBOARD_PXA27x_MODULE)
111static unsigned int palmt5_matrix_keys[] = { 111static const unsigned int palmt5_matrix_keys[] = {
112 KEY(0, 0, KEY_POWER), 112 KEY(0, 0, KEY_POWER),
113 KEY(0, 1, KEY_F1), 113 KEY(0, 1, KEY_F1),
114 KEY(0, 2, KEY_ENTER), 114 KEY(0, 2, KEY_ENTER),
@@ -124,11 +124,15 @@ static unsigned int palmt5_matrix_keys[] = {
124 KEY(3, 2, KEY_LEFT), 124 KEY(3, 2, KEY_LEFT),
125}; 125};
126 126
127static struct matrix_keymap_data palmt5_matrix_keymap_data = {
128 .keymap = palmt5_matrix_keys,
129 .keymap_size = ARRAY_SIZE(palmt5_matrix_keys),
130};
131
127static struct pxa27x_keypad_platform_data palmt5_keypad_platform_data = { 132static struct pxa27x_keypad_platform_data palmt5_keypad_platform_data = {
128 .matrix_key_rows = 4, 133 .matrix_key_rows = 4,
129 .matrix_key_cols = 3, 134 .matrix_key_cols = 3,
130 .matrix_key_map = palmt5_matrix_keys, 135 .matrix_keymap_data = &palmt5_matrix_keymap_data,
131 .matrix_key_map_size = ARRAY_SIZE(palmt5_matrix_keys),
132 136
133 .debounce_interval = 30, 137 .debounce_interval = 30,
134}; 138};
diff --git a/arch/arm/mach-pxa/palmtreo.c b/arch/arm/mach-pxa/palmtreo.c
index d82a50b4a803..d8b937c870de 100644
--- a/arch/arm/mach-pxa/palmtreo.c
+++ b/arch/arm/mach-pxa/palmtreo.c
@@ -168,7 +168,7 @@ static unsigned long centro685_pin_config[] __initdata = {
168 * GPIO keyboard 168 * GPIO keyboard
169 ******************************************************************************/ 169 ******************************************************************************/
170#if IS_ENABLED(CONFIG_KEYBOARD_PXA27x) 170#if IS_ENABLED(CONFIG_KEYBOARD_PXA27x)
171static unsigned int treo680_matrix_keys[] = { 171static const unsigned int treo680_matrix_keys[] = {
172 KEY(0, 0, KEY_F8), /* Red/Off/Power */ 172 KEY(0, 0, KEY_F8), /* Red/Off/Power */
173 KEY(0, 1, KEY_LEFT), 173 KEY(0, 1, KEY_LEFT),
174 KEY(0, 2, KEY_LEFTCTRL), /* Alternate */ 174 KEY(0, 2, KEY_LEFTCTRL), /* Alternate */
@@ -227,7 +227,7 @@ static unsigned int treo680_matrix_keys[] = {
227 KEY(7, 5, KEY_I), 227 KEY(7, 5, KEY_I),
228}; 228};
229 229
230static unsigned int centro_matrix_keys[] = { 230static const unsigned int centro_matrix_keys[] = {
231 KEY(0, 0, KEY_F9), /* Home */ 231 KEY(0, 0, KEY_F9), /* Home */
232 KEY(0, 1, KEY_LEFT), 232 KEY(0, 1, KEY_LEFT),
233 KEY(0, 2, KEY_LEFTCTRL), /* Alternate */ 233 KEY(0, 2, KEY_LEFTCTRL), /* Alternate */
@@ -286,11 +286,20 @@ static unsigned int centro_matrix_keys[] = {
286 KEY(7, 5, KEY_I), 286 KEY(7, 5, KEY_I),
287}; 287};
288 288
289static struct matrix_keymap_data treo680_matrix_keymap_data = {
290 .keymap = treo680_matrix_keys,
291 .keymap_size = ARRAY_SIZE(treo680_matrix_keys),
292};
293
294static struct matrix_keymap_data centro_matrix_keymap_data = {
295 .keymap = centro_matrix_keys,
296 .keymap_size = ARRAY_SIZE(centro_matrix_keys),
297};
298
289static struct pxa27x_keypad_platform_data treo680_keypad_pdata = { 299static struct pxa27x_keypad_platform_data treo680_keypad_pdata = {
290 .matrix_key_rows = 8, 300 .matrix_key_rows = 8,
291 .matrix_key_cols = 7, 301 .matrix_key_cols = 7,
292 .matrix_key_map = treo680_matrix_keys, 302 .matrix_keymap_data = &treo680_matrix_keymap_data,
293 .matrix_key_map_size = ARRAY_SIZE(treo680_matrix_keys),
294 .direct_key_map = { KEY_CONNECT }, 303 .direct_key_map = { KEY_CONNECT },
295 .direct_key_num = 1, 304 .direct_key_num = 1,
296 305
@@ -301,10 +310,8 @@ static void __init palmtreo_kpc_init(void)
301{ 310{
302 static struct pxa27x_keypad_platform_data *data = &treo680_keypad_pdata; 311 static struct pxa27x_keypad_platform_data *data = &treo680_keypad_pdata;
303 312
304 if (machine_is_centro()) { 313 if (machine_is_centro())
305 data->matrix_key_map = centro_matrix_keys; 314 data->matrix_keymap_data = &centro_matrix_keymap_data;
306 data->matrix_key_map_size = ARRAY_SIZE(centro_matrix_keys);
307 }
308 315
309 pxa_set_keypad_info(&treo680_keypad_pdata); 316 pxa_set_keypad_info(&treo680_keypad_pdata);
310} 317}
diff --git a/arch/arm/mach-pxa/palmtx.c b/arch/arm/mach-pxa/palmtx.c
index 627c93a7364c..83f830dd8ad8 100644
--- a/arch/arm/mach-pxa/palmtx.c
+++ b/arch/arm/mach-pxa/palmtx.c
@@ -176,7 +176,7 @@ static inline void palmtx_nor_init(void) {}
176 * GPIO keyboard 176 * GPIO keyboard
177 ******************************************************************************/ 177 ******************************************************************************/
178#if defined(CONFIG_KEYBOARD_PXA27x) || defined(CONFIG_KEYBOARD_PXA27x_MODULE) 178#if defined(CONFIG_KEYBOARD_PXA27x) || defined(CONFIG_KEYBOARD_PXA27x_MODULE)
179static unsigned int palmtx_matrix_keys[] = { 179static const unsigned int palmtx_matrix_keys[] = {
180 KEY(0, 0, KEY_POWER), 180 KEY(0, 0, KEY_POWER),
181 KEY(0, 1, KEY_F1), 181 KEY(0, 1, KEY_F1),
182 KEY(0, 2, KEY_ENTER), 182 KEY(0, 2, KEY_ENTER),
@@ -192,11 +192,15 @@ static unsigned int palmtx_matrix_keys[] = {
192 KEY(3, 2, KEY_LEFT), 192 KEY(3, 2, KEY_LEFT),
193}; 193};
194 194
195static struct matrix_keymap_data palmtx_matrix_keymap_data = {
196 .keymap = palmtx_matrix_keys,
197 .keymap_size = ARRAY_SIZE(palmtx_matrix_keys),
198};
199
195static struct pxa27x_keypad_platform_data palmtx_keypad_platform_data = { 200static struct pxa27x_keypad_platform_data palmtx_keypad_platform_data = {
196 .matrix_key_rows = 4, 201 .matrix_key_rows = 4,
197 .matrix_key_cols = 3, 202 .matrix_key_cols = 3,
198 .matrix_key_map = palmtx_matrix_keys, 203 .matrix_keymap_data = &palmtx_matrix_keymap_data,
199 .matrix_key_map_size = ARRAY_SIZE(palmtx_matrix_keys),
200 204
201 .debounce_interval = 30, 205 .debounce_interval = 30,
202}; 206};
diff --git a/arch/arm/mach-pxa/palmz72.c b/arch/arm/mach-pxa/palmz72.c
index 18b7fcd98592..1a35ddf218da 100644
--- a/arch/arm/mach-pxa/palmz72.c
+++ b/arch/arm/mach-pxa/palmz72.c
@@ -140,7 +140,7 @@ static unsigned long palmz72_pin_config[] __initdata = {
140 * GPIO keyboard 140 * GPIO keyboard
141 ******************************************************************************/ 141 ******************************************************************************/
142#if defined(CONFIG_KEYBOARD_PXA27x) || defined(CONFIG_KEYBOARD_PXA27x_MODULE) 142#if defined(CONFIG_KEYBOARD_PXA27x) || defined(CONFIG_KEYBOARD_PXA27x_MODULE)
143static unsigned int palmz72_matrix_keys[] = { 143static const unsigned int palmz72_matrix_keys[] = {
144 KEY(0, 0, KEY_POWER), 144 KEY(0, 0, KEY_POWER),
145 KEY(0, 1, KEY_F1), 145 KEY(0, 1, KEY_F1),
146 KEY(0, 2, KEY_ENTER), 146 KEY(0, 2, KEY_ENTER),
@@ -156,11 +156,15 @@ static unsigned int palmz72_matrix_keys[] = {
156 KEY(3, 2, KEY_LEFT), 156 KEY(3, 2, KEY_LEFT),
157}; 157};
158 158
159static struct matrix_keymap_data almz72_matrix_keymap_data = {
160 .keymap = palmz72_matrix_keys,
161 .keymap_size = ARRAY_SIZE(palmz72_matrix_keys),
162};
163
159static struct pxa27x_keypad_platform_data palmz72_keypad_platform_data = { 164static struct pxa27x_keypad_platform_data palmz72_keypad_platform_data = {
160 .matrix_key_rows = 4, 165 .matrix_key_rows = 4,
161 .matrix_key_cols = 3, 166 .matrix_key_cols = 3,
162 .matrix_key_map = palmz72_matrix_keys, 167 .matrix_keymap_data = &almz72_matrix_keymap_data,
163 .matrix_key_map_size = ARRAY_SIZE(palmz72_matrix_keys),
164 168
165 .debounce_interval = 30, 169 .debounce_interval = 30,
166}; 170};
diff --git a/arch/arm/mach-pxa/tavorevb.c b/arch/arm/mach-pxa/tavorevb.c
index f55979c09a5f..4680efe55345 100644
--- a/arch/arm/mach-pxa/tavorevb.c
+++ b/arch/arm/mach-pxa/tavorevb.c
@@ -106,7 +106,7 @@ static struct platform_device smc91x_device = {
106}; 106};
107 107
108#if defined(CONFIG_KEYBOARD_PXA27x) || defined(CONFIG_KEYBOARD_PXA27x_MODULE) 108#if defined(CONFIG_KEYBOARD_PXA27x) || defined(CONFIG_KEYBOARD_PXA27x_MODULE)
109static unsigned int tavorevb_matrix_key_map[] = { 109static const unsigned int tavorevb_matrix_key_map[] = {
110 /* KEY(row, col, key_code) */ 110 /* KEY(row, col, key_code) */
111 KEY(0, 4, KEY_A), KEY(0, 5, KEY_B), KEY(0, 6, KEY_C), 111 KEY(0, 4, KEY_A), KEY(0, 5, KEY_B), KEY(0, 6, KEY_C),
112 KEY(1, 4, KEY_E), KEY(1, 5, KEY_F), KEY(1, 6, KEY_G), 112 KEY(1, 4, KEY_E), KEY(1, 5, KEY_F), KEY(1, 6, KEY_G),
@@ -147,11 +147,15 @@ static unsigned int tavorevb_matrix_key_map[] = {
147 KEY(3, 3, KEY_F23), /* soft2 */ 147 KEY(3, 3, KEY_F23), /* soft2 */
148}; 148};
149 149
150static struct matrix_keymap_data tavorevb_matrix_keymap_data = {
151 .keymap = tavorevb_matrix_key_map,
152 .keymap_size = ARRAY_SIZE(tavorevb_matrix_key_map),
153};
154
150static struct pxa27x_keypad_platform_data tavorevb_keypad_info = { 155static struct pxa27x_keypad_platform_data tavorevb_keypad_info = {
151 .matrix_key_rows = 7, 156 .matrix_key_rows = 7,
152 .matrix_key_cols = 7, 157 .matrix_key_cols = 7,
153 .matrix_key_map = tavorevb_matrix_key_map, 158 .matrix_keymap_data = &tavorevb_matrix_keymap_data,
154 .matrix_key_map_size = ARRAY_SIZE(tavorevb_matrix_key_map),
155 .debounce_interval = 30, 159 .debounce_interval = 30,
156}; 160};
157 161
diff --git a/arch/arm/mach-pxa/z2.c b/arch/arm/mach-pxa/z2.c
index 989903a7e467..2513d8f4931f 100644
--- a/arch/arm/mach-pxa/z2.c
+++ b/arch/arm/mach-pxa/z2.c
@@ -345,7 +345,7 @@ static inline void z2_leds_init(void) {}
345 * GPIO keyboard 345 * GPIO keyboard
346 ******************************************************************************/ 346 ******************************************************************************/
347#if defined(CONFIG_KEYBOARD_PXA27x) || defined(CONFIG_KEYBOARD_PXA27x_MODULE) 347#if defined(CONFIG_KEYBOARD_PXA27x) || defined(CONFIG_KEYBOARD_PXA27x_MODULE)
348static unsigned int z2_matrix_keys[] = { 348static const unsigned int z2_matrix_keys[] = {
349 KEY(0, 0, KEY_OPTION), 349 KEY(0, 0, KEY_OPTION),
350 KEY(1, 0, KEY_UP), 350 KEY(1, 0, KEY_UP),
351 KEY(2, 0, KEY_DOWN), 351 KEY(2, 0, KEY_DOWN),
@@ -405,11 +405,15 @@ static unsigned int z2_matrix_keys[] = {
405 KEY(5, 7, KEY_DOT), 405 KEY(5, 7, KEY_DOT),
406}; 406};
407 407
408static struct matrix_keymap_data z2_matrix_keymap_data = {
409 .keymap = z2_matrix_keys,
410 .keymap_size = ARRAY_SIZE(z2_matrix_keys),
411};
412
408static struct pxa27x_keypad_platform_data z2_keypad_platform_data = { 413static struct pxa27x_keypad_platform_data z2_keypad_platform_data = {
409 .matrix_key_rows = 7, 414 .matrix_key_rows = 7,
410 .matrix_key_cols = 8, 415 .matrix_key_cols = 8,
411 .matrix_key_map = z2_matrix_keys, 416 .matrix_keymap_data = &z2_matrix_keymap_data,
412 .matrix_key_map_size = ARRAY_SIZE(z2_matrix_keys),
413 417
414 .debounce_interval = 30, 418 .debounce_interval = 30,
415}; 419};
diff --git a/arch/arm/mach-pxa/zylonite.c b/arch/arm/mach-pxa/zylonite.c
index 1f00d650ac27..36cf7cf95ec1 100644
--- a/arch/arm/mach-pxa/zylonite.c
+++ b/arch/arm/mach-pxa/zylonite.c
@@ -263,7 +263,7 @@ static inline void zylonite_init_mmc(void) {}
263#endif 263#endif
264 264
265#if defined(CONFIG_KEYBOARD_PXA27x) || defined(CONFIG_KEYBOARD_PXA27x_MODULE) 265#if defined(CONFIG_KEYBOARD_PXA27x) || defined(CONFIG_KEYBOARD_PXA27x_MODULE)
266static unsigned int zylonite_matrix_key_map[] = { 266static const unsigned int zylonite_matrix_key_map[] = {
267 /* KEY(row, col, key_code) */ 267 /* KEY(row, col, key_code) */
268 KEY(0, 0, KEY_A), KEY(0, 1, KEY_B), KEY(0, 2, KEY_C), KEY(0, 5, KEY_D), 268 KEY(0, 0, KEY_A), KEY(0, 1, KEY_B), KEY(0, 2, KEY_C), KEY(0, 5, KEY_D),
269 KEY(1, 0, KEY_E), KEY(1, 1, KEY_F), KEY(1, 2, KEY_G), KEY(1, 5, KEY_H), 269 KEY(1, 0, KEY_E), KEY(1, 1, KEY_F), KEY(1, 2, KEY_G), KEY(1, 5, KEY_H),
@@ -306,11 +306,15 @@ static unsigned int zylonite_matrix_key_map[] = {
306 KEY(0, 3, KEY_AUX), /* contact */ 306 KEY(0, 3, KEY_AUX), /* contact */
307}; 307};
308 308
309static struct matrix_keymap_data zylonite_matrix_keymap_data = {
310 .keymap = zylonite_matrix_key_map,
311 .keymap_size = ARRAY_SIZE(zylonite_matrix_key_map),
312};
313
309static struct pxa27x_keypad_platform_data zylonite_keypad_info = { 314static struct pxa27x_keypad_platform_data zylonite_keypad_info = {
310 .matrix_key_rows = 8, 315 .matrix_key_rows = 8,
311 .matrix_key_cols = 8, 316 .matrix_key_cols = 8,
312 .matrix_key_map = zylonite_matrix_key_map, 317 .matrix_keymap_data = &zylonite_matrix_keymap_data,
313 .matrix_key_map_size = ARRAY_SIZE(zylonite_matrix_key_map),
314 318
315 .enable_rotary0 = 1, 319 .enable_rotary0 = 1,
316 .rotary0_up_key = KEY_UP, 320 .rotary0_up_key = KEY_UP,