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

Commit fb054bf2 authored by Chao Xie's avatar Chao Xie Committed by Haojian Zhuang
Browse files

Input: pxa27x_keypad add choice to set direct_key_mask



Direct keys usage may not start from KP_DKIN0, add a msk option
to configure the specifics for platforms that can skip some keys.

Signed-off-by: default avatarChao Xie <chao.xie@marvell.com>
Signed-off-by: default avatarHaojian Zhuang <haojian.zhuang@gmail.com>
parent ee1d8040
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -46,6 +46,8 @@ struct pxa27x_keypad_platform_data {
	unsigned int	direct_key_map[MAX_DIRECT_KEY_NUM];
	/* the key output may be low active */
	int		direct_key_low_active;
	/* give board a chance to choose the start direct key */
	unsigned int	direct_key_mask;

	/* rotary encoders 0 */
	int		enable_rotary0;
+8 −1
Original line number Diff line number Diff line
@@ -391,6 +391,13 @@ static void pxa27x_keypad_config(struct pxa27x_keypad *keypad)
	if (pdata->direct_key_num > direct_key_num)
		direct_key_num = pdata->direct_key_num;

	/*
	 * Direct keys usage may not start from KP_DKIN0, check the platfrom
	 * mask data to config the specific.
	 */
	if (pdata->direct_key_mask)
		keypad->direct_key_mask = pdata->direct_key_mask;
	else
		keypad->direct_key_mask = ((1 << direct_key_num) - 1) & ~mask;

	/* enable direct key */