Skip to content

Commit

Permalink
Input: st1232 - do not read more bytes than needed
Browse files Browse the repository at this point in the history
st1232_ts_read_data() already reads ts->read_buf_len bytes (8 or 20
bytes) from the touchscreen controller.  This was fine when it was used
to read touch point coordinates only, but is overkill for reading the
touchscreen resolution, which just needs 3 bytes.

Optimize transfers by passing the wanted number of bytes.

Fixes: 3a54a21 ("Input: st1232 - add support resolution reading")
Signed-off-by: Geert Uytterhoeven <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Dmitry Torokhov <[email protected]>
  • Loading branch information
geertu authored and dtor committed Jan 2, 2021
1 parent 928eedf commit b999dbe
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions drivers/input/touchscreen/st1232.c
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,8 @@ struct st1232_ts_data {
u8 *read_buf;
};

static int st1232_ts_read_data(struct st1232_ts_data *ts, u8 reg)
static int st1232_ts_read_data(struct st1232_ts_data *ts, u8 reg,
unsigned int n)
{
struct i2c_client *client = ts->client;
struct i2c_msg msg[] = {
Expand All @@ -59,7 +60,7 @@ static int st1232_ts_read_data(struct st1232_ts_data *ts, u8 reg)
{
.addr = client->addr,
.flags = I2C_M_RD | I2C_M_DMA_SAFE,
.len = ts->read_buf_len,
.len = n,
.buf = ts->read_buf,
}
};
Expand All @@ -79,7 +80,7 @@ static int st1232_ts_read_resolution(struct st1232_ts_data *ts, u16 *max_x,
int error;

/* select resolution register */
error = st1232_ts_read_data(ts, REG_XY_RESOLUTION);
error = st1232_ts_read_data(ts, REG_XY_RESOLUTION, 3);
if (error)
return error;

Expand Down Expand Up @@ -140,7 +141,7 @@ static irqreturn_t st1232_ts_irq_handler(int irq, void *dev_id)
int count;
int error;

error = st1232_ts_read_data(ts, REG_XY_COORDINATES);
error = st1232_ts_read_data(ts, REG_XY_COORDINATES, ts->read_buf_len);
if (error)
goto out;

Expand Down

0 comments on commit b999dbe

Please sign in to comment.