summaryrefslogtreecommitdiff
path: root/drivers/input/touchscreen/atmel_mxt_ts.c
diff options
context:
space:
mode:
authorIiro Valkonen <iiro.valkonen@atmel.com>2011-02-04 00:51:05 -0800
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2011-02-21 01:02:27 -0800
commit26cdb1ae76f842e895ef4d09796a9101a7f8746b (patch)
tree378573f3b687c47f8368d8f8a1e96d94ca9b8d5e /drivers/input/touchscreen/atmel_mxt_ts.c
parent7686b108d8ef5c32f429d5228798636f3a1caf5a (diff)
Input: atmel_mxt_ts - read whole message to make CHG low
Read the whole message, as reading just the first byte isn't always guaranteed to clear the message. Signed-off-by: Iiro Valkonen <iiro.valkonen@atmel.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Diffstat (limited to 'drivers/input/touchscreen/atmel_mxt_ts.c')
-rw-r--r--drivers/input/touchscreen/atmel_mxt_ts.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/input/touchscreen/atmel_mxt_ts.c b/drivers/input/touchscreen/atmel_mxt_ts.c
index 5dca78a00c94..162a3bf019e4 100644
--- a/drivers/input/touchscreen/atmel_mxt_ts.c
+++ b/drivers/input/touchscreen/atmel_mxt_ts.c
@@ -823,16 +823,16 @@ static int mxt_check_matrix_size(struct mxt_data *data)
static int mxt_make_highchg(struct mxt_data *data)
{
struct device *dev = &data->client->dev;
+ struct mxt_message message;
int count = 10;
int error;
- u8 val;
/* Read dummy message to make high CHG pin */
do {
- error = mxt_read_object(data, MXT_GEN_MESSAGE, 0, &val);
+ error = mxt_read_message(data, &message);
if (error)
return error;
- } while ((val != 0xff) && --count);
+ } while (message.reportid != 0xff && --count);
if (!count) {
dev_err(dev, "CHG pin isn't cleared\n");