Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0a085a94 authored by Chao Xie's avatar Chao Xie Committed by Dmitry Torokhov
Browse files

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: default avatarChao Xie <chao.xie@marvell.com>
Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent 48318028
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -205,7 +205,7 @@ struct pxa168fb_mach_info aspenite_lcd_info = {
	.invert_pixclock	= 0,
};

static unsigned int aspenite_matrix_key_map[] = {
static const unsigned int aspenite_matrix_key_map[] = {
	KEY(0, 6, KEY_UP),	/* SW 4 */
	KEY(0, 7, KEY_DOWN),	/* SW 5 */
	KEY(1, 6, KEY_LEFT),	/* SW 6 */
@@ -214,11 +214,15 @@ static unsigned int aspenite_matrix_key_map[] = {
	KEY(4, 7, KEY_ESC),	/* SW 9 */
};

static struct matrix_keymap_data aspenite_matrix_keymap_data = {
	.keymap			= aspenite_matrix_key_map,
	.keymap_size		= ARRAY_SIZE(aspenite_matrix_key_map),
};

static struct pxa27x_keypad_platform_data aspenite_keypad_info __initdata = {
	.matrix_key_rows	= 5,
	.matrix_key_cols	= 8,
	.matrix_key_map		= aspenite_matrix_key_map,
	.matrix_key_map_size	= ARRAY_SIZE(aspenite_matrix_key_map),
	.matrix_keymap_data	= &aspenite_matrix_keymap_data,
	.debounce_interval	= 30,
};

+6 −2
Original line number Diff line number Diff line
@@ -56,11 +56,15 @@ static unsigned int teton_bga_matrix_key_map[] = {
	KEY(1, 7, KEY_RIGHT),
};

static struct matrix_keymap_data teton_bga_matrix_keymap_data = {
	.keymap			= teton_bga_matrix_key_map,
	.keymap_size		= ARRAY_SIZE(teton_bga_matrix_key_map),
};

static struct pxa27x_keypad_platform_data teton_bga_keypad_info __initdata = {
	.matrix_key_rows        = 2,
	.matrix_key_cols        = 8,
	.matrix_key_map         = teton_bga_matrix_key_map,
	.matrix_key_map_size    = ARRAY_SIZE(teton_bga_matrix_key_map),
	.matrix_keymap_data	= &teton_bga_matrix_keymap_data,
	.debounce_interval      = 30,
};

+14 −6
Original line number Diff line number Diff line
@@ -833,21 +833,25 @@ static inline void em_x270_init_ac97(void) {}
#endif

#if defined(CONFIG_KEYBOARD_PXA27x) || defined(CONFIG_KEYBOARD_PXA27x_MODULE)
static unsigned int em_x270_module_matrix_keys[] = {
static const unsigned int em_x270_module_matrix_keys[] = {
	KEY(0, 0, KEY_A), KEY(1, 0, KEY_UP), KEY(2, 1, KEY_B),
	KEY(0, 2, KEY_LEFT), KEY(1, 1, KEY_ENTER), KEY(2, 0, KEY_RIGHT),
	KEY(0, 1, KEY_C), KEY(1, 2, KEY_DOWN), KEY(2, 2, KEY_D),
};

static struct matrix_keymap_data em_x270_matrix_keymap_data = {
	.keymap			= em_x270_module_matrix_keys,
	.keymap_size		= ARRAY_SIZE(em_x270_module_matrix_keys),
};

struct pxa27x_keypad_platform_data em_x270_module_keypad_info = {
	/* code map for the matrix keys */
	.matrix_key_rows	= 3,
	.matrix_key_cols	= 3,
	.matrix_key_map		= em_x270_module_matrix_keys,
	.matrix_key_map_size	= ARRAY_SIZE(em_x270_module_matrix_keys),
	.matrix_keymap_data	= &em_x270_matrix_keymap_data,
};

static unsigned int em_x270_exeda_matrix_keys[] = {
static const unsigned int em_x270_exeda_matrix_keys[] = {
	KEY(0, 0, KEY_RIGHTSHIFT), KEY(0, 1, KEY_RIGHTCTRL),
	KEY(0, 2, KEY_RIGHTALT), KEY(0, 3, KEY_SPACE),
	KEY(0, 4, KEY_LEFTALT), KEY(0, 5, KEY_LEFTCTRL),
@@ -889,12 +893,16 @@ static unsigned int em_x270_exeda_matrix_keys[] = {
	KEY(7, 6, 0), KEY(7, 7, 0),
};

static struct matrix_keymap_data em_x270_exeda_matrix_keymap_data = {
	.keymap			= em_x270_exeda_matrix_keys,
	.keymap_size		= ARRAY_SIZE(em_x270_exeda_matrix_keys),
};

struct pxa27x_keypad_platform_data em_x270_exeda_keypad_info = {
	/* code map for the matrix keys */
	.matrix_key_rows	= 8,
	.matrix_key_cols	= 8,
	.matrix_key_map		= em_x270_exeda_matrix_keys,
	.matrix_key_map_size	= ARRAY_SIZE(em_x270_exeda_matrix_keys),
	.matrix_keymap_data	= &em_x270_exeda_matrix_keymap_data,
};

static void __init em_x270_init_keypad(void)
+42 −18
Original line number Diff line number Diff line
@@ -392,7 +392,7 @@ static unsigned long e6_pin_config[] __initdata = {

/* KEYPAD */
#ifdef CONFIG_MACH_EZX_A780
static unsigned int a780_key_map[] = {
static const unsigned int a780_key_map[] = {
	KEY(0, 0, KEY_SEND),
	KEY(0, 1, KEY_BACK),
	KEY(0, 2, KEY_END),
@@ -424,11 +424,15 @@ static unsigned int a780_key_map[] = {
	KEY(4, 4, KEY_DOWN),
};

static struct matrix_keymap_data a780_matrix_keymap_data = {
	.keymap			= a780_key_map,
	.keymap_size		= ARRAY_SIZE(a780_key_map),
};

static struct pxa27x_keypad_platform_data a780_keypad_platform_data = {
	.matrix_key_rows = 5,
	.matrix_key_cols = 5,
	.matrix_key_map = a780_key_map,
	.matrix_key_map_size = ARRAY_SIZE(a780_key_map),
	.matrix_keymap_data = &a780_matrix_keymap_data,

	.direct_key_map = { KEY_CAMERA },
	.direct_key_num = 1,
@@ -438,7 +442,7 @@ static struct pxa27x_keypad_platform_data a780_keypad_platform_data = {
#endif /* CONFIG_MACH_EZX_A780 */

#ifdef CONFIG_MACH_EZX_E680
static unsigned int e680_key_map[] = {
static const unsigned int e680_key_map[] = {
	KEY(0, 0, KEY_UP),
	KEY(0, 1, KEY_RIGHT),
	KEY(0, 2, KEY_RESERVED),
@@ -455,11 +459,15 @@ static unsigned int e680_key_map[] = {
	KEY(2, 3, KEY_KPENTER),
};

static struct matrix_keymap_data e680_matrix_keymap_data = {
	.keymap			= e680_key_map,
	.keymap_size		= ARRAY_SIZE(e680_key_map),
};

static struct pxa27x_keypad_platform_data e680_keypad_platform_data = {
	.matrix_key_rows = 3,
	.matrix_key_cols = 4,
	.matrix_key_map = e680_key_map,
	.matrix_key_map_size = ARRAY_SIZE(e680_key_map),
	.matrix_keymap_data = &e680_matrix_keymap_data,

	.direct_key_map = {
		KEY_CAMERA,
@@ -476,7 +484,7 @@ static struct pxa27x_keypad_platform_data e680_keypad_platform_data = {
#endif /* CONFIG_MACH_EZX_E680 */

#ifdef CONFIG_MACH_EZX_A1200
static unsigned int a1200_key_map[] = {
static const unsigned int a1200_key_map[] = {
	KEY(0, 0, KEY_RESERVED),
	KEY(0, 1, KEY_RIGHT),
	KEY(0, 2, KEY_PAGEDOWN),
@@ -513,18 +521,22 @@ static unsigned int a1200_key_map[] = {
	KEY(4, 5, KEY_RESERVED),
};

static struct matrix_keymap_data a1200_matrix_keymap_data = {
	.keymap			= a1200_key_map,
	.keymap_size		= ARRAY_SIZE(a1200_key_map),
};

static struct pxa27x_keypad_platform_data a1200_keypad_platform_data = {
	.matrix_key_rows = 5,
	.matrix_key_cols = 6,
	.matrix_key_map = a1200_key_map,
	.matrix_key_map_size = ARRAY_SIZE(a1200_key_map),
	.matrix_keymap_data = &a1200_matrix_keymap_data,

	.debounce_interval = 30,
};
#endif /* CONFIG_MACH_EZX_A1200 */

#ifdef CONFIG_MACH_EZX_E6
static unsigned int e6_key_map[] = {
static const unsigned int e6_key_map[] = {
	KEY(0, 0, KEY_RESERVED),
	KEY(0, 1, KEY_RIGHT),
	KEY(0, 2, KEY_PAGEDOWN),
@@ -561,18 +573,22 @@ static unsigned int e6_key_map[] = {
	KEY(4, 5, KEY_PREVIOUSSONG),
};

static struct matrix_keymap_data e6_keymap_data = {
	.keymap			= e6_key_map,
	.keymap_size		= ARRAY_SIZE(e6_key_map),
};

static struct pxa27x_keypad_platform_data e6_keypad_platform_data = {
	.matrix_key_rows = 5,
	.matrix_key_cols = 6,
	.matrix_key_map = e6_key_map,
	.matrix_key_map_size = ARRAY_SIZE(e6_key_map),
	.matrix_keymap_data = &e6_keymap_data,

	.debounce_interval = 30,
};
#endif /* CONFIG_MACH_EZX_E6 */

#ifdef CONFIG_MACH_EZX_A910
static unsigned int a910_key_map[] = {
static const unsigned int a910_key_map[] = {
	KEY(0, 0, KEY_NUMERIC_6),
	KEY(0, 1, KEY_RIGHT),
	KEY(0, 2, KEY_PAGEDOWN),
@@ -609,18 +625,22 @@ static unsigned int a910_key_map[] = {
	KEY(4, 5, KEY_RESERVED),
};

static struct matrix_keymap_data a910_matrix_keymap_data = {
	.keymap			= a910_key_map,
	.keymap_size		= ARRAY_SIZE(a910_key_map),
};

static struct pxa27x_keypad_platform_data a910_keypad_platform_data = {
	.matrix_key_rows = 5,
	.matrix_key_cols = 6,
	.matrix_key_map = a910_key_map,
	.matrix_key_map_size = ARRAY_SIZE(a910_key_map),
	.matrix_keymap_data = &a910_matrix_keymap_data,

	.debounce_interval = 30,
};
#endif /* CONFIG_MACH_EZX_A910 */

#ifdef CONFIG_MACH_EZX_E2
static unsigned int e2_key_map[] = {
static const unsigned int e2_key_map[] = {
	KEY(0, 0, KEY_NUMERIC_6),
	KEY(0, 1, KEY_RIGHT),
	KEY(0, 2, KEY_NUMERIC_9),
@@ -657,11 +677,15 @@ static unsigned int e2_key_map[] = {
	KEY(4, 5, KEY_RESERVED),
};

static struct matrix_keymap_data e2_matrix_keymap_data = {
	.keymap			= e2_key_map,
	.keymap_size		= ARRAY_SIZE(e2_key_map),
};

static struct pxa27x_keypad_platform_data e2_keypad_platform_data = {
	.matrix_key_rows = 5,
	.matrix_key_cols = 6,
	.matrix_key_map = e2_key_map,
	.matrix_key_map_size = ARRAY_SIZE(e2_key_map),
	.matrix_keymap_data = &e2_matrix_keymap_data,

	.debounce_interval = 30,
};
+7 −3
Original line number Diff line number Diff line
@@ -222,7 +222,7 @@ static inline void littleton_init_spi(void) {}
#endif

#if defined(CONFIG_KEYBOARD_PXA27x) || defined(CONFIG_KEYBOARD_PXA27x_MODULE)
static unsigned int littleton_matrix_key_map[] = {
static const unsigned int littleton_matrix_key_map[] = {
	/* KEY(row, col, key_code) */
	KEY(1, 3, KEY_0), KEY(0, 0, KEY_1), KEY(1, 0, KEY_2), KEY(2, 0, KEY_3),
	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[] = {
	KEY(3, 1, KEY_F23),	/* soft2 */
};

static struct matrix_keymap_data littleton_matrix_keymap_data = {
	.keymap			= littleton_matrix_key_map,
	.keymap_size		= ARRAY_SIZE(littleton_matrix_key_map),
};

static struct pxa27x_keypad_platform_data littleton_keypad_info = {
	.matrix_key_rows	= 6,
	.matrix_key_cols	= 5,
	.matrix_key_map		= littleton_matrix_key_map,
	.matrix_key_map_size	= ARRAY_SIZE(littleton_matrix_key_map),
	.matrix_keymap_data	= &littleton_matrix_keymap_data,

	.enable_rotary0		= 1,
	.rotary0_up_key		= KEY_UP,
Loading