diff options
author | Chao Xie <chao.xie@marvell.com> | 2012-03-31 22:08:04 -0400 |
---|---|---|
committer | Haojian Zhuang <haojian.zhuang@gmail.com> | 2012-04-27 04:50:05 -0400 |
commit | fb054bf26914ee4c55cf149bc5b2a8e2c89fb81f (patch) | |
tree | d36d61e3953e096efa1094442aee5ef1d2fab1d3 /drivers/input | |
parent | ee1d8040a6b0a8106c7d9e80b9193077224493ba (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.c | 9 |
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) |