aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input
diff options
context:
space:
mode:
authorChao Xie <chao.xie@marvell.com>2012-03-31 22:08:04 -0400
committerHaojian Zhuang <haojian.zhuang@gmail.com>2012-04-27 04:50:05 -0400
commitfb054bf26914ee4c55cf149bc5b2a8e2c89fb81f (patch)
treed36d61e3953e096efa1094442aee5ef1d2fab1d3 /drivers/input
parentee1d8040a6b0a8106c7d9e80b9193077224493ba (diff)
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: Chao Xie <chao.xie@marvell.com> Signed-off-by: Haojian Zhuang <haojian.zhuang@gmail.com>
Diffstat (limited to 'drivers/input')
-rw-r--r--drivers/input/keyboard/pxa27x_keypad.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/input/keyboard/pxa27x_keypad.c b/drivers/input/keyboard/pxa27x_keypad.c
index a60f14e7983e..7f7b72464a37 100644
--- a/drivers/input/keyboard/pxa27x_keypad.c
+++ b/drivers/input/keyboard/pxa27x_keypad.c
@@ -391,7 +391,14 @@ static void pxa27x_keypad_config(struct pxa27x_keypad *keypad)
391 if (pdata->direct_key_num > direct_key_num) 391 if (pdata->direct_key_num > direct_key_num)
392 direct_key_num = pdata->direct_key_num; 392 direct_key_num = pdata->direct_key_num;
393 393
394 keypad->direct_key_mask = ((1 << direct_key_num) - 1) & ~mask; 394 /*
395 * Direct keys usage may not start from KP_DKIN0, check the platfrom
396 * mask data to config the specific.
397 */
398 if (pdata->direct_key_mask)
399 keypad->direct_key_mask = pdata->direct_key_mask;
400 else
401 keypad->direct_key_mask = ((1 << direct_key_num) - 1) & ~mask;
395 402
396 /* enable direct key */ 403 /* enable direct key */
397 if (direct_key_num) 404 if (direct_key_num)