Skip to content

Commit

Permalink
Input: edt-ft5x06 - use max support points to determine how much to read
Browse files Browse the repository at this point in the history
Calculate the amount of data that needs to be read for the specified max
number of support points. If the maximum number of support points changes
then the amount that is read from the touch screen controller should
reflect this.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
  • Loading branch information
Franklin S Cooper Jr authored and Dmitry Torokhov committed Oct 16, 2015
1 parent 3a341a4 commit c789f1f
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions drivers/input/touchscreen/edt-ft5x06.c
Original file line number Diff line number Diff line change
Expand Up @@ -168,31 +168,32 @@ static irqreturn_t edt_ft5x06_ts_isr(int irq, void *dev_id)
struct edt_ft5x06_ts_data *tsdata = dev_id;
struct device *dev = &tsdata->client->dev;
u8 cmd;
u8 rdbuf[29];
u8 rdbuf[31];
int i, type, x, y, id;
int offset, tplen, datalen;
int offset, tplen, datalen, crclen;
int error;

switch (tsdata->version) {
case M06:
cmd = 0xf9; /* tell the controller to send touch data */
offset = 5; /* where the actual touch data starts */
tplen = 4; /* data comes in so called frames */
datalen = 26; /* how much bytes to listen for */
crclen = 1; /* length of the crc data */
break;

case M09:
cmd = 0x02;
offset = 1;
tplen = 6;
datalen = 29;
crclen = 0;
break;

default:
goto out;
}

memset(rdbuf, 0, sizeof(rdbuf));
datalen = tplen * MAX_SUPPORT_POINTS + offset + crclen;

error = edt_ft5x06_ts_readwrite(tsdata->client,
sizeof(cmd), &cmd,
Expand Down

0 comments on commit c789f1f

Please sign in to comment.