When possible use dev_err_probe help to properly deal with the PROBE_DEFER error, the benefit is that DEFER issue will be logged in the devices_deferred debugfs file. Using dev_err_probe() can reduce code size, and the error value gets printed. Signed-off-by: Cai Huoqing <caihuoqing@xxxxxxxxx> --- drivers/input/misc/drv2665.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/drivers/input/misc/drv2665.c b/drivers/input/misc/drv2665.c index 21913e8085d7..5f66cfdd9908 100644 --- a/drivers/input/misc/drv2665.c +++ b/drivers/input/misc/drv2665.c @@ -167,12 +167,9 @@ static int drv2665_probe(struct i2c_client *client, return -ENOMEM; haptics->regulator = devm_regulator_get(&client->dev, "vbat"); - if (IS_ERR(haptics->regulator)) { - error = PTR_ERR(haptics->regulator); - dev_err(&client->dev, - "unable to get regulator, error: %d\n", error); - return error; - } + if (IS_ERR(haptics->regulator)) + return dev_err_probe(&client->dev, PTR_ERR(haptics->regulator), + "unable to get regulator\n"); haptics->input_dev = devm_input_allocate_device(&client->dev); if (!haptics->input_dev) { -- 2.25.1