Re: [PATCH v2] Input: ili210x - Set the device name according to the device model

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 9/3/21 6:54 PM, Rogerio Pimentel wrote:
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@xxxxxxxxx>
---

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

Have a look at the following patch for the extra register names:
[PATCH v3 2/3] Input: ili210x - export ili251x version details via sysfs

  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);

Please check return value of ^ that function.

+	snprintf(model_name, ILI_NAME_LEN, input->name, buf[1], buf[0]);
  	input->id.bustype = BUS_I2C;

This was still tested only on ili2511, right ?



[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux