aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhang Jiejing <jiejing.zhang@freescale.com>2011-01-17 20:16:40 +0800
committerZhang Jiejing <jiejing.zhang@freescale.com>2011-01-17 20:19:25 +0800
commit7e496527b906d544620d002a91a2176631a2ea33 (patch)
tree5f959076b3c7235d5d4af4d3a1a6281d3837fc97
parent92b43e6ca45a276dccede53abb70e27e2ed771f8 (diff)
ENGR00138071-2 input: mpr121: change input type from EV_MSC to EV_KEY
EV_MSC will ignore by some system, so change this device to a EV_KEY device. Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
-rw-r--r--drivers/input/keyboard/mpr121.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/drivers/input/keyboard/mpr121.c b/drivers/input/keyboard/mpr121.c
index 7aae302758c..6a723235805 100644
--- a/drivers/input/keyboard/mpr121.c
+++ b/drivers/input/keyboard/mpr121.c
@@ -30,7 +30,6 @@
#include <linux/delay.h>
#include <linux/bitops.h>
-
struct mpr121_touchkey_data {
struct i2c_client *client;
struct input_dev *input_dev;
@@ -88,7 +87,6 @@ static irqreturn_t mpr_touchkey_interrupt(int irq, void *dev_id)
data->statusbits = reg;
data->key_val = data->keycodes[key_num];
- input_event(input, EV_MSC, MSC_SCAN, data->key_val);
input_report_key(input, data->key_val, pressed);
input_sync(input);
@@ -205,9 +203,8 @@ static int __devinit mpr_touchkey_probe(struct i2c_client *client,
for (i = 0; i < input_dev->keycodemax; i++) {
__set_bit(pdata->matrix[i], input_dev->keybit);
data->keycodes[i] = pdata->matrix[i];
+ input_set_capability(input_dev, EV_KEY, pdata->matrix[i]);
}
-
- input_set_capability(input_dev, EV_MSC, MSC_SCAN);
input_set_drvdata(input_dev, data);
error = request_threaded_irq(client->irq, NULL,