[<prev] [next>] [day] [month] [year] [list]
Message-ID: <000001d5abdb$618632f0$249298d0$@emc.com.tw>
Date: Fri, 6 Dec 2019 10:17:59 +0800
From: "Dave.Wang" <dave.wang@....com.tw>
To: <Linux-kernel@...r.kernel.org>, <Linux-input@...r.kernel.org>,
"'Benjamin Tissoires'" <benjamin.tissoires@...hat.com>
Cc: "'Josh.Chen'" <josh.chen@....com.tw>, <jingle.wu@....com.tw>,
"'phoenix'" <phoenix@....com.tw>
Subject: [PATCH 1/6] Input: elantech - Add the pattern for firmware into elantech_device_info structure
Add the conditional expression to distinguish different patterns
regarding 0, 1, 2. Different pattern has its own location
for device information.
Signed-off-by: Dave Wang <dave.wang@....com.tw>
---
drivers/input/mouse/elantech.c | 11 +++++++++++
drivers/input/mouse/elantech.h | 1 +
2 files changed, 12 insertions(+)
diff --git a/drivers/input/mouse/elantech.c b/drivers/input/mouse/elantech.c
index 2d8434b7b623..1f0d914acd78 100644
--- a/drivers/input/mouse/elantech.c
+++ b/drivers/input/mouse/elantech.c
@@ -1557,6 +1557,17 @@ static int elantech_set_properties(struct
elantech_device_info *info)
}
}
+ /* Get information pattern for hw_version 4 */
+ if (ver == 15) {
+ if ((info->fw_version & 0x0000ff) == 0x01)
+ info->pattern = 0x01;
+ else if ((info->fw_version & 0x0000ff) == 0x02)
+ info->pattern = 0x02;
+ else
+ info->pattern = 0x00;
+ } else
+ info->pattern = 0x00;
+
/* decide which send_cmd we're gonna use early */
info->send_cmd = info->hw_version >= 3 ? elantech_send_cmd :
synaptics_send_cmd;
diff --git a/drivers/input/mouse/elantech.h b/drivers/input/mouse/elantech.h
index e0a3e59d4f1b..0aae6a9de8f0 100644
--- a/drivers/input/mouse/elantech.h
+++ b/drivers/input/mouse/elantech.h
@@ -140,6 +140,7 @@ struct elantech_device_info {
unsigned char samples[3];
unsigned char debug;
unsigned char hw_version;
+ unsigned char pattern;
unsigned int fw_version;
unsigned int x_min;
unsigned int y_min;
--
2.17.1
Powered by blists - more mailing lists