Both variables are used mostly in the same way in the probe function. Having both means that we need to copy 'ret' to 'error' before exiting, so just use 'ret' everywhere. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Alexandru Ardelean <alexandru.ardelean@xxxxxxxxxx> --- drivers/input/keyboard/adp5589-keys.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/drivers/input/keyboard/adp5589-keys.c b/drivers/input/keyboard/adp5589-keys.c index 56f4ff7fa9c3..1fd36c581a91 100644 --- a/drivers/input/keyboard/adp5589-keys.c +++ b/drivers/input/keyboard/adp5589-keys.c @@ -1034,7 +1034,7 @@ static int adp5589_probe(struct i2c_client *client, const struct adp5589_kpad_platform_data *pdata = adp5589_kpad_pdata_get(&client->dev); unsigned int revid; - int error, ret; + int ret; if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA)) { @@ -1067,28 +1067,26 @@ static int adp5589_probe(struct i2c_client *client, } ret = adp5589_read(client, ADP5589_5_ID); - if (ret < 0) { - error = ret; + if (ret < 0) goto err_free_mem; - } revid = (u8) ret & ADP5589_5_DEVICE_ID_MASK; if (pdata->keymapsize) { - error = adp5589_keypad_add(kpad, revid); - if (error) + ret = adp5589_keypad_add(kpad, revid); + if (ret) goto err_free_mem; } - error = adp5589_setup(kpad); - if (error) + ret = adp5589_setup(kpad); + if (ret) goto err_keypad_remove; if (kpad->gpimapsize) adp5589_report_switch_state(kpad); - error = adp5589_gpio_add(kpad); - if (error) + ret = adp5589_gpio_add(kpad); + if (ret) goto err_keypad_remove; i2c_set_clientdata(client, kpad); @@ -1101,7 +1099,7 @@ static int adp5589_probe(struct i2c_client *client, err_free_mem: kfree(kpad); - return error; + return ret; } static int adp5589_remove(struct i2c_client *client) -- 2.20.1