Input: edt-ft5x06 - don't recalculate the CRC

There is no need to recalculate the CRC when the data has not changed.

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Link: https://lore.kernel.org/r/20230402200951.1032513-5-dario.binacchi@amarulasolutions.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
This commit is contained in:
Dario Binacchi 2023-04-02 21:27:34 -07:00 committed by Dmitry Torokhov
parent f8a2257056
commit 38e8cf7b97

View file

@ -319,7 +319,7 @@ static int edt_ft5x06_register_write(struct edt_ft5x06_ts_data *tsdata,
static int edt_ft5x06_register_read(struct edt_ft5x06_ts_data *tsdata, static int edt_ft5x06_register_read(struct edt_ft5x06_ts_data *tsdata,
u8 addr) u8 addr)
{ {
u8 wrbuf[2], rdbuf[2]; u8 wrbuf[2], rdbuf[2], crc;
int error; int error;
switch (tsdata->version) { switch (tsdata->version) {
@ -333,11 +333,11 @@ static int edt_ft5x06_register_read(struct edt_ft5x06_ts_data *tsdata,
if (error) if (error)
return error; return error;
if ((wrbuf[0] ^ wrbuf[1] ^ rdbuf[0]) != rdbuf[1]) { crc = wrbuf[0] ^ wrbuf[1] ^ rdbuf[0];
if (crc != rdbuf[1]) {
dev_err(&tsdata->client->dev, dev_err(&tsdata->client->dev,
"crc error: 0x%02x expected, got 0x%02x\n", "crc error: 0x%02x expected, got 0x%02x\n",
wrbuf[0] ^ wrbuf[1] ^ rdbuf[0], crc, rdbuf[1]);
rdbuf[1]);
return -EIO; return -EIO;
} }
break; break;