Commit efce8a41 authored by Dmitry Torokhov's avatar Dmitry Torokhov

Input: tca8418_keypad - use a temporary variable for parent device

Use a temporary variable for our parent device (coming from I2C client
structure); we'll be also using it during conversion to managed resources.
Reviewed-by: default avatarAlban Bedel <alban.bedel@avionic-design.de>
Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent bf7f5316
...@@ -281,6 +281,7 @@ static int tca8418_configure(struct tca8418_keypad *keypad_data, ...@@ -281,6 +281,7 @@ static int tca8418_configure(struct tca8418_keypad *keypad_data,
static int tca8418_keypad_probe(struct i2c_client *client, static int tca8418_keypad_probe(struct i2c_client *client,
const struct i2c_device_id *id) const struct i2c_device_id *id)
{ {
struct device *dev = &client->dev;
const struct tca8418_keypad_platform_data *pdata = const struct tca8418_keypad_platform_data *pdata =
client->dev.platform_data; client->dev.platform_data;
struct tca8418_keypad *keypad_data; struct tca8418_keypad *keypad_data;
...@@ -294,7 +295,7 @@ static int tca8418_keypad_probe(struct i2c_client *client, ...@@ -294,7 +295,7 @@ static int tca8418_keypad_probe(struct i2c_client *client,
/* Copy the platform data */ /* Copy the platform data */
if (pdata) { if (pdata) {
if (!pdata->keymap_data) { if (!pdata->keymap_data) {
dev_err(&client->dev, "no keymap data defined\n"); dev_err(dev, "no keymap data defined\n");
return -EINVAL; return -EINVAL;
} }
keymap_data = pdata->keymap_data; keymap_data = pdata->keymap_data;
...@@ -303,25 +304,25 @@ static int tca8418_keypad_probe(struct i2c_client *client, ...@@ -303,25 +304,25 @@ static int tca8418_keypad_probe(struct i2c_client *client,
rep = pdata->rep; rep = pdata->rep;
irq_is_gpio = pdata->irq_is_gpio; irq_is_gpio = pdata->irq_is_gpio;
} else { } else {
struct device_node *np = client->dev.of_node; struct device_node *np = dev->of_node;
of_property_read_u32(np, "keypad,num-rows", &rows); of_property_read_u32(np, "keypad,num-rows", &rows);
of_property_read_u32(np, "keypad,num-columns", &cols); of_property_read_u32(np, "keypad,num-columns", &cols);
rep = of_property_read_bool(np, "keypad,autorepeat"); rep = of_property_read_bool(np, "keypad,autorepeat");
} }
if (!rows || rows > TCA8418_MAX_ROWS) { if (!rows || rows > TCA8418_MAX_ROWS) {
dev_err(&client->dev, "invalid rows\n"); dev_err(dev, "invalid rows\n");
return -EINVAL; return -EINVAL;
} }
if (!cols || cols > TCA8418_MAX_COLS) { if (!cols || cols > TCA8418_MAX_COLS) {
dev_err(&client->dev, "invalid columns\n"); dev_err(dev, "invalid columns\n");
return -EINVAL; return -EINVAL;
} }
/* Check i2c driver capabilities */ /* Check i2c driver capabilities */
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE)) { if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE)) {
dev_err(&client->dev, "%s adapter not supported\n", dev_err(dev, "%s adapter not supported\n",
dev_driver_string(&client->adapter->dev)); dev_driver_string(&client->adapter->dev));
return -ENODEV; return -ENODEV;
} }
...@@ -362,7 +363,7 @@ static int tca8418_keypad_probe(struct i2c_client *client, ...@@ -362,7 +363,7 @@ static int tca8418_keypad_probe(struct i2c_client *client,
error = matrix_keypad_build_keymap(keymap_data, NULL, rows, cols, error = matrix_keypad_build_keymap(keymap_data, NULL, rows, cols,
keypad_data->keymap, input); keypad_data->keymap, input);
if (error) { if (error) {
dev_dbg(&client->dev, "Failed to build keymap\n"); dev_dbg(dev, "Failed to build keymap\n");
goto fail2; goto fail2;
} }
...@@ -381,16 +382,15 @@ static int tca8418_keypad_probe(struct i2c_client *client, ...@@ -381,16 +382,15 @@ static int tca8418_keypad_probe(struct i2c_client *client,
IRQF_ONESHOT, IRQF_ONESHOT,
client->name, keypad_data); client->name, keypad_data);
if (error) { if (error) {
dev_dbg(&client->dev, dev_dbg(dev, "Unable to claim irq %d; error %d\n",
"Unable to claim irq %d; error %d\n",
client->irq, error); client->irq, error);
goto fail2; goto fail2;
} }
error = input_register_device(input); error = input_register_device(input);
if (error) { if (error) {
dev_dbg(&client->dev, dev_dbg(dev, "Unable to register input device, error: %d\n",
"Unable to register input device, error: %d\n", error); error);
goto fail3; goto fail3;
} }
......
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