diff mbox series

[2/6] Input: elantech - Add the function to get more bytes from register

Message ID 000f01d5abe5$170f8050$452e80f0$@emc.com.tw
State New
Headers show
Series None | expand

Commit Message

Dave.Wang Dec. 6, 2019, 3:27 a.m. UTC
Send an Elantech style special command to read three bytes from
register.

Signed-off-by: Dave Wang <dave.wang@emc.com.tw>
---
drivers/input/mouse/elantech.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)

  */
diff mbox series

Patch

diff --git a/drivers/input/mouse/elantech.c b/drivers/input/mouse/elantech.c
index 1f0d914acd78..afb87122b766 100644
--- a/drivers/input/mouse/elantech.c
+++ b/drivers/input/mouse/elantech.c
@@ -89,6 +89,24 @@  static int elantech_ps2_command(struct psmouse *psmouse,
      return rc;
}

+/*
+ * Send an Elantech style special command to read 3 bytes from a register
+ */
+static int elantech_read_reg_params(struct psmouse *psmouse, unsigned char
reg,
+                              unsigned char *param)
+{
+      int rc = 0;
+
+      if (elantech_ps2_command(psmouse, NULL, ETP_PS2_CUSTOM_COMMAND) ||
+          elantech_ps2_command(psmouse, NULL, ETP_REGISTER_READWRITE) ||
+          elantech_ps2_command(psmouse, NULL, ETP_PS2_CUSTOM_COMMAND) ||
+          elantech_ps2_command(psmouse, NULL, reg) ||
+          elantech_ps2_command(psmouse, param, PSMOUSE_CMD_GETINFO))
+              rc = -1;
+
+      return rc;
+}
+
/*
  * Send an Elantech style special command to read a value from a register