Skip to content

Commit 65c6798

Browse files
passgatdtor
authored andcommitted
Input: edt-ft5x06 - remove code duplication
The use of the macros M06_REG_ADDR and M06_REG_CMD avoids code duplication without impacting the application load, and reduces the chances of errors or mistakes. Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> Link: https://lore.kernel.org/r/20230402200951.1032513-6-dario.binacchi@amarulasolutions.com Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
1 parent 38e8cf7 commit 65c6798

1 file changed

Lines changed: 7 additions & 4 deletions

File tree

drivers/input/touchscreen/edt-ft5x06.c

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,9 @@
7575
#define EDT_DEFAULT_NUM_X 1024
7676
#define EDT_DEFAULT_NUM_Y 1024
7777

78+
#define M06_REG_CMD(factory) ((factory) ? 0xf3 : 0xfc)
79+
#define M06_REG_ADDR(factory, addr) ((factory) ? (addr) & 0x7f : (addr) & 0x3f)
80+
7881
enum edt_pmode {
7982
EDT_PMODE_NOT_SUPPORTED,
8083
EDT_PMODE_HIBERNATE,
@@ -294,8 +297,8 @@ static int edt_ft5x06_register_write(struct edt_ft5x06_ts_data *tsdata,
294297

295298
switch (tsdata->version) {
296299
case EDT_M06:
297-
wrbuf[0] = tsdata->factory_mode ? 0xf3 : 0xfc;
298-
wrbuf[1] = tsdata->factory_mode ? addr & 0x7f : addr & 0x3f;
300+
wrbuf[0] = M06_REG_CMD(tsdata->factory_mode);
301+
wrbuf[1] = M06_REG_ADDR(tsdata->factory_mode, addr);
299302
wrbuf[2] = value;
300303
wrbuf[3] = wrbuf[0] ^ wrbuf[1] ^ wrbuf[2];
301304
return edt_ft5x06_ts_readwrite(tsdata->client, 4,
@@ -324,8 +327,8 @@ static int edt_ft5x06_register_read(struct edt_ft5x06_ts_data *tsdata,
324327

325328
switch (tsdata->version) {
326329
case EDT_M06:
327-
wrbuf[0] = tsdata->factory_mode ? 0xf3 : 0xfc;
328-
wrbuf[1] = tsdata->factory_mode ? addr & 0x7f : addr & 0x3f;
330+
wrbuf[0] = M06_REG_CMD(tsdata->factory_mode);
331+
wrbuf[1] = M06_REG_ADDR(tsdata->factory_mode, addr);
329332
wrbuf[1] |= tsdata->factory_mode ? 0x80 : 0x40;
330333

331334
error = edt_ft5x06_ts_readwrite(tsdata->client, 2, wrbuf, 2,

0 commit comments

Comments
 (0)