Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Input: wacom_i2c - clean up the query device fields

Improve the query device fields to be more verbose.

Signed-off-by: Alistair Francis <alistair@alistair23.me>
Link: https://lore.kernel.org/r/20211118123545.102872-1-alistair@alistair23.me
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

authored by

Alistair Francis and committed by
Dmitry Torokhov
fafc6638 b7b2b49e

+26 -18
+26 -18
drivers/input/touchscreen/wacom_i2c.c
··· 24 24 #define WACOM_IN_PROXIMITY BIT(5) 25 25 26 26 /* Registers */ 27 - #define WACOM_CMD_QUERY0 0x04 28 - #define WACOM_CMD_QUERY1 0x00 29 - #define WACOM_CMD_QUERY2 0x33 30 - #define WACOM_CMD_QUERY3 0x02 31 - #define WACOM_CMD_THROW0 0x05 32 - #define WACOM_CMD_THROW1 0x00 27 + #define WACOM_COMMAND_LSB 0x04 28 + #define WACOM_COMMAND_MSB 0x00 29 + 30 + #define WACOM_DATA_LSB 0x05 31 + #define WACOM_DATA_MSB 0x00 32 + 33 + /* Report types */ 34 + #define REPORT_FEATURE 0x30 35 + 36 + /* Requests / operations */ 37 + #define OPCODE_GET_REPORT 0x02 38 + 39 + #define WACOM_QUERY_REPORT 3 33 40 #define WACOM_QUERY_SIZE 19 34 41 35 42 struct wacom_features { ··· 57 50 static int wacom_query_device(struct i2c_client *client, 58 51 struct wacom_features *features) 59 52 { 60 - int ret; 61 - u8 cmd1[] = { WACOM_CMD_QUERY0, WACOM_CMD_QUERY1, 62 - WACOM_CMD_QUERY2, WACOM_CMD_QUERY3 }; 63 - u8 cmd2[] = { WACOM_CMD_THROW0, WACOM_CMD_THROW1 }; 53 + u8 get_query_data_cmd[] = { 54 + WACOM_COMMAND_LSB, 55 + WACOM_COMMAND_MSB, 56 + REPORT_FEATURE | WACOM_QUERY_REPORT, 57 + OPCODE_GET_REPORT, 58 + WACOM_DATA_LSB, 59 + WACOM_DATA_MSB, 60 + }; 64 61 u8 data[WACOM_QUERY_SIZE]; 62 + int ret; 63 + 65 64 struct i2c_msg msgs[] = { 65 + /* Request reading of feature ReportID: 3 (Pen Query Data) */ 66 66 { 67 67 .addr = client->addr, 68 68 .flags = 0, 69 - .len = sizeof(cmd1), 70 - .buf = cmd1, 71 - }, 72 - { 73 - .addr = client->addr, 74 - .flags = 0, 75 - .len = sizeof(cmd2), 76 - .buf = cmd2, 69 + .len = sizeof(get_query_data_cmd), 70 + .buf = get_query_data_cmd, 77 71 }, 78 72 { 79 73 .addr = client->addr,