Hi, On Thu, Sep 16, 2021 at 11:34 PM Cai Huoqing <caihuoqing@xxxxxxxxx> wrote: > > 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"); The device_property_read_u32() never returns an EPROBE_DEFER error, so how can this function help? IMO, I did not see any benefits in this case. -- Baolin Wang