Commit 12294577 authored by Marek Vasut's avatar Marek Vasut Committed by Dmitry Torokhov

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: default avatarMarek Vasut <marex@denx.de>
Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent e3559442
...@@ -223,6 +223,22 @@ static int ili210x_i2c_probe(struct i2c_client *client, ...@@ -223,6 +223,22 @@ static int ili210x_i2c_probe(struct i2c_client *client,
msleep(100); 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 */ /* Get firmware version */
error = ili210x_read_reg(client, REG_FIRMWARE_VERSION, error = ili210x_read_reg(client, REG_FIRMWARE_VERSION,
&firmware, sizeof(firmware)); &firmware, sizeof(firmware));
...@@ -243,20 +259,6 @@ static int ili210x_i2c_probe(struct i2c_client *client, ...@@ -243,20 +259,6 @@ static int ili210x_i2c_probe(struct i2c_client *client,
xmax = panel.x_low | (panel.x_high << 8); xmax = panel.x_low | (panel.x_high << 8);
ymax = panel.y_low | (panel.y_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 */ /* Setup input device */
input->name = "ILI210x Touchscreen"; input->name = "ILI210x Touchscreen";
input->id.bustype = BUS_I2C; input->id.bustype = BUS_I2C;
...@@ -276,8 +278,6 @@ static int ili210x_i2c_probe(struct i2c_client *client, ...@@ -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_X, 0, xmax, 0, 0);
input_set_abs_params(input, ABS_MT_POSITION_Y, 0, ymax, 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); error = devm_add_action(dev, ili210x_cancel_work, priv);
if (error) if (error)
return error; return error;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment