mirror of https://gitee.com/openkylin/linux.git
Input: ili210x - reorder probe
Perform the register access only after the I2C client data are set, this is only done in preparation for the subsequent patch which uses the I2C client data in the register IO function. Signed-off-by: Marek Vasut <marex@denx.de> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
This commit is contained in:
parent
e3559442af
commit
1229457762
|
@ -223,6 +223,22 @@ static int ili210x_i2c_probe(struct i2c_client *client,
|
|||
msleep(100);
|
||||
}
|
||||
|
||||
priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);
|
||||
if (!priv)
|
||||
return -ENOMEM;
|
||||
|
||||
input = devm_input_allocate_device(dev);
|
||||
if (!input)
|
||||
return -ENOMEM;
|
||||
|
||||
priv->client = client;
|
||||
priv->input = input;
|
||||
priv->poll_period = DEFAULT_POLL_PERIOD;
|
||||
INIT_DELAYED_WORK(&priv->dwork, ili210x_work);
|
||||
priv->reset_gpio = reset_gpio;
|
||||
|
||||
i2c_set_clientdata(client, priv);
|
||||
|
||||
/* Get firmware version */
|
||||
error = ili210x_read_reg(client, REG_FIRMWARE_VERSION,
|
||||
&firmware, sizeof(firmware));
|
||||
|
@ -243,20 +259,6 @@ static int ili210x_i2c_probe(struct i2c_client *client,
|
|||
xmax = panel.x_low | (panel.x_high << 8);
|
||||
ymax = panel.y_low | (panel.y_high << 8);
|
||||
|
||||
priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);
|
||||
if (!priv)
|
||||
return -ENOMEM;
|
||||
|
||||
input = devm_input_allocate_device(dev);
|
||||
if (!input)
|
||||
return -ENOMEM;
|
||||
|
||||
priv->client = client;
|
||||
priv->input = input;
|
||||
priv->poll_period = DEFAULT_POLL_PERIOD;
|
||||
INIT_DELAYED_WORK(&priv->dwork, ili210x_work);
|
||||
priv->reset_gpio = reset_gpio;
|
||||
|
||||
/* Setup input device */
|
||||
input->name = "ILI210x Touchscreen";
|
||||
input->id.bustype = BUS_I2C;
|
||||
|
@ -276,8 +278,6 @@ static int ili210x_i2c_probe(struct i2c_client *client,
|
|||
input_set_abs_params(input, ABS_MT_POSITION_X, 0, xmax, 0, 0);
|
||||
input_set_abs_params(input, ABS_MT_POSITION_Y, 0, ymax, 0, 0);
|
||||
|
||||
i2c_set_clientdata(client, priv);
|
||||
|
||||
error = devm_add_action(dev, ili210x_cancel_work, priv);
|
||||
if (error)
|
||||
return error;
|
||||
|
|
Loading…
Reference in New Issue