Input: wacom_i2c - clean up the query device fields
authorAlistair Francis <alistair@alistair23.me>
Thu, 18 Nov 2021 19:27:12 +0000 (11:27 -0800)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Mon, 29 Nov 2021 08:15:39 +0000 (00:15 -0800)
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>
drivers/input/touchscreen/wacom_i2c.c

index fe4ea62..141754b 100644 (file)
 #define WACOM_IN_PROXIMITY     BIT(5)
 
 /* Registers */
-#define WACOM_CMD_QUERY0       0x04
-#define WACOM_CMD_QUERY1       0x00
-#define WACOM_CMD_QUERY2       0x33
-#define WACOM_CMD_QUERY3       0x02
-#define WACOM_CMD_THROW0       0x05
-#define WACOM_CMD_THROW1       0x00
+#define WACOM_COMMAND_LSB      0x04
+#define WACOM_COMMAND_MSB      0x00
+
+#define WACOM_DATA_LSB         0x05
+#define WACOM_DATA_MSB         0x00
+
+/* Report types */
+#define REPORT_FEATURE         0x30
+
+/* Requests / operations */
+#define OPCODE_GET_REPORT      0x02
+
+#define WACOM_QUERY_REPORT     3
 #define WACOM_QUERY_SIZE       19
 
 struct wacom_features {
@@ -50,23 +57,24 @@ struct wacom_i2c {
 static int wacom_query_device(struct i2c_client *client,
                              struct wacom_features *features)
 {
-       int ret;
-       u8 cmd1[] = { WACOM_CMD_QUERY0, WACOM_CMD_QUERY1,
-                       WACOM_CMD_QUERY2, WACOM_CMD_QUERY3 };
-       u8 cmd2[] = { WACOM_CMD_THROW0, WACOM_CMD_THROW1 };
+       u8 get_query_data_cmd[] = {
+               WACOM_COMMAND_LSB,
+               WACOM_COMMAND_MSB,
+               REPORT_FEATURE | WACOM_QUERY_REPORT,
+               OPCODE_GET_REPORT,
+               WACOM_DATA_LSB,
+               WACOM_DATA_MSB,
+       };
        u8 data[WACOM_QUERY_SIZE];
+       int ret;
+
        struct i2c_msg msgs[] = {
+               /* Request reading of feature ReportID: 3 (Pen Query Data) */
                {
                        .addr = client->addr,
                        .flags = 0,
-                       .len = sizeof(cmd1),
-                       .buf = cmd1,
-               },
-               {
-                       .addr = client->addr,
-                       .flags = 0,
-                       .len = sizeof(cmd2),
-                       .buf = cmd2,
+                       .len = sizeof(get_query_data_cmd),
+                       .buf = get_query_data_cmd,
                },
                {
                        .addr = client->addr,