diff options
Diffstat (limited to 'drivers/mfd/ucb1x00-ts.c')
-rw-r--r-- | drivers/mfd/ucb1x00-ts.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/mfd/ucb1x00-ts.c b/drivers/mfd/ucb1x00-ts.c index 92b85e28a15e..38ffbd50a0d2 100644 --- a/drivers/mfd/ucb1x00-ts.c +++ b/drivers/mfd/ucb1x00-ts.c | |||
@@ -60,6 +60,7 @@ static inline void ucb1x00_ts_evt_add(struct ucb1x00_ts *ts, u16 pressure, u16 x | |||
60 | input_report_abs(idev, ABS_X, x); | 60 | input_report_abs(idev, ABS_X, x); |
61 | input_report_abs(idev, ABS_Y, y); | 61 | input_report_abs(idev, ABS_Y, y); |
62 | input_report_abs(idev, ABS_PRESSURE, pressure); | 62 | input_report_abs(idev, ABS_PRESSURE, pressure); |
63 | input_report_key(idev, BTN_TOUCH, 1); | ||
63 | input_sync(idev); | 64 | input_sync(idev); |
64 | } | 65 | } |
65 | 66 | ||
@@ -68,6 +69,7 @@ static inline void ucb1x00_ts_event_release(struct ucb1x00_ts *ts) | |||
68 | struct input_dev *idev = ts->idev; | 69 | struct input_dev *idev = ts->idev; |
69 | 70 | ||
70 | input_report_abs(idev, ABS_PRESSURE, 0); | 71 | input_report_abs(idev, ABS_PRESSURE, 0); |
72 | input_report_key(idev, BTN_TOUCH, 0); | ||
71 | input_sync(idev); | 73 | input_sync(idev); |
72 | } | 74 | } |
73 | 75 | ||
@@ -384,7 +386,8 @@ static int ucb1x00_ts_add(struct ucb1x00_dev *dev) | |||
384 | idev->open = ucb1x00_ts_open; | 386 | idev->open = ucb1x00_ts_open; |
385 | idev->close = ucb1x00_ts_close; | 387 | idev->close = ucb1x00_ts_close; |
386 | 388 | ||
387 | __set_bit(EV_ABS, idev->evbit); | 389 | idev->evbit[0] = BIT_MASK(EV_ABS) | BIT_MASK(EV_KEY); |
390 | idev->keybit[BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH); | ||
388 | 391 | ||
389 | input_set_drvdata(idev, ts); | 392 | input_set_drvdata(idev, ts); |
390 | 393 | ||