Re: [PATCH v2] Input: ili210x - Set the device name according to the device model
flat view
From: Rogerio Pimentel <hidden>
Date: 2021-09-08 15:18:45
Also in:
lkml
On Sat, Sep 4, 2021 at 3:17 AM Dmitry Torokhov [off-list ref] wrote:
Hi Rogerio, On Fri, Sep 03, 2021 at 01:54:48PM -0300, 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.Typically model would go into input->id.product and optionally input->id.version.quoted
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 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;Umm, no. Smashing RO data is not nice.quoted
+ 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.1Thanks.
I agree with the comments. Please, discard this patch. Rogerio
-- Dmitry