Re: [PATCH v2] Input: ili210x - Set the device name according to the device model
flat view
From: Rogerio Pimentel <hidden>
Date: 2021-09-03 17:53:21
Also in:
lkml
On Fri, Sep 3, 2021 at 2:05 PM Marek Vasut [off-list ref] wrote:
On 9/3/21 6:54 PM, Rogerio Pimentel wrote:quoted
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 <redacted> --- 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 0x61Have a look at the following patch for the extra register names: [PATCH v3 2/3] Input: ili210x - export ili251x version details via sysfs
Ok, I will.
quoted
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.
Ok, I will make the changes.
quoted
+ 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 ?
Yes, by now I have only tested ili2511.