Re: [PATCH 6/6] Input: elantech - add v3 hardware support
From: Wanlong Gao <hidden>
Date: 2011-08-18 03:31:37
Also in:
lkml
On 08/18/2011 09:57 AM, JJ Ding wrote:
v3 hardware's packet format is almost identical to v2 (one/three finger touch), except when sensing two finger touch, the hardware sends 12 bytes of data. Signed-off-by: JJ Ding<redacted> --- Documentation/input/elantech.txt | 104 ++++++++++++++++-- drivers/input/mouse/elantech.c | 218 ++++++++++++++++++++++++++++++++++--- drivers/input/mouse/elantech.h | 11 ++ 3 files changed, 303 insertions(+), 30 deletions(-)
quoted hunk ↗ jump to hunk
+The packet format is exactly the same for two finger touch, except the hardware +sends two 6 byte packets. The first packet contains data for the first finger, +the second packet has data for the second finger. So for two finger touch a +total of 12 bytes are sent.diff --git a/drivers/input/mouse/elantech.c b/drivers/input/mouse/elantech.c index ddd40eb..e13a719 100644 --- a/drivers/input/mouse/elantech.c +++ b/drivers/input/mouse/elantech.c@@ -108,6 +108,16 @@ static int elantech_read_reg(struct psmouse *psmouse, unsigned char reg, rc = -1; } break; + + case 3: + 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; + }
Prefer to remove these big brace ? also with "case 1, case 2 "?
quoted hunk ↗ jump to hunk
+ break; } if (rc)@@ -154,6 +164,18 @@ static int elantech_write_reg(struct psmouse *psmouse, unsigned char reg, rc = -1; } break; + + case 3: + 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, NULL, ETP_PS2_CUSTOM_COMMAND) || + elantech_ps2_command(psmouse, NULL, val) || + elantech_ps2_command(psmouse, NULL, PSMOUSE_CMD_SETSCALE11)) { + rc = -1; + }
ditto -- Thanks Wanlong Gao