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/sc27xx-vibra.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/input/misc/sc27xx-vibra.c b/drivers/input/misc/sc27xx-vibra.c index 1478017f0968..7cf0a1354320 100644 --- a/drivers/input/misc/sc27xx-vibra.c +++ b/drivers/input/misc/sc27xx-vibra.c @@ -135,10 +135,9 @@ static int sc27xx_vibra_probe(struct platform_device *pdev) } error = device_property_read_u32(&pdev->dev, "reg", &info->base); - if (error) { - dev_err(&pdev->dev, "failed to get vibrator base address.\n"); - return error; - } + if (error) + return dev_err_probe(&pdev->dev, error, + "failed to get vibrator base address.\n"); info->input_dev = devm_input_allocate_device(&pdev->dev); if (!info->input_dev) { -- 2.25.1