lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210903165448.26545-1-rpimentel.silva@gmail.com>
Date:   Fri,  3 Sep 2021 13:54:48 -0300
From:   Rogerio Pimentel <rpimentel.silva@...il.com>
To:     dmitry.torokhov@...il.com, rpimentel.silva@...il.com,
        hansemro@...look.com, marex@...x.de, linux-input@...r.kernel.org,
        linux-kernel@...r.kernel.org
Subject: [PATCH v2] Input: ili210x - Set the device name according to the device model

Adding the device model into the device name is useful when
applications need to set different parameters according to the
touchscreen being used, e.g. X11 calibration points.

Signed-off-by: Rogerio Pimentel <rpimentel.silva@...il.com>
---

Changes since v1: Get the device ID from touchscreen controller
instead of driver's device list.

 drivers/input/touchscreen/ili210x.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/drivers/input/touchscreen/ili210x.c b/drivers/input/touchscreen/ili210x.c
index 199cf3daec10..7a897a03ed70 100644
--- a/drivers/input/touchscreen/ili210x.c
+++ b/drivers/input/touchscreen/ili210x.c
@@ -19,10 +19,14 @@
 #define ILI251X_DATA_SIZE1	31
 #define ILI251X_DATA_SIZE2	20
 
+#define ILI_NAME_LEN		27
+#define ILITEK_TS_NAME "Ilitek ILI%x%x Touchscreen"
+
 /* Touchscreen commands */
 #define REG_TOUCHDATA		0x10
 #define REG_PANEL_INFO		0x20
 #define REG_CALIBRATE		0xcc
+#define REG_TS_MODEL		0x61
 
 struct ili2xxx_chip {
 	int (*read_reg)(struct i2c_client *client, u8 reg,
@@ -384,6 +388,8 @@ static int ili210x_i2c_probe(struct i2c_client *client,
 	struct input_dev *input;
 	int error;
 	unsigned int max_xy;
+	unsigned char buf[2];
+	char *model_name;
 
 	dev_dbg(dev, "Probing for ILI210X I2C Touschreen driver");
 
@@ -430,7 +436,10 @@ static int ili210x_i2c_probe(struct i2c_client *client,
 	i2c_set_clientdata(client, priv);
 
 	/* Setup input device */
-	input->name = "ILI210x Touchscreen";
+	input->name = ILITEK_TS_NAME;
+	model_name = (char *)input->name;
+	priv->chip->read_reg(priv->client, REG_TS_MODEL, buf, 2);
+	snprintf(model_name, ILI_NAME_LEN, input->name, buf[1], buf[0]);
 	input->id.bustype = BUS_I2C;
 
 	/* Multi touch */
-- 
2.17.1

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ