On Wed, Aug 26, 2020 at 9:20 PM Krzysztof Kozlowski <k...@kernel.org> wrote:
>
> Common pattern of handling deferred probe can be simplified with
> dev_err_probe().  Less code and also it prints the error value.

>         vibrator->vcc = devm_regulator_get(&pdev->dev, "vcc");
>         err = PTR_ERR_OR_ZERO(vibrator->vcc);
> -       if (err) {
> -               if (err != -EPROBE_DEFER)
> -                       dev_err(&pdev->dev, "Failed to request regulator: 
> %d\n",
> -                               err);
> -               return err;
> -       }
> +       if (err)
> +               return dev_err_probe(&pdev->dev, err, "Failed to request 
> regulator\n");

Can it be rather
  if (IS_ERR())
    return dev_err_probe(dev, PTR_ERR());
w/o err be involved?

>         vibrator->gpio = devm_gpiod_get(&pdev->dev, "enable", GPIOD_OUT_LOW);
>         err = PTR_ERR_OR_ZERO(vibrator->gpio);
> -       if (err) {
> -               if (err != -EPROBE_DEFER)
> -                       dev_err(&pdev->dev, "Failed to request main gpio: 
> %d\n",
> -                               err);
> -               return err;
> -       }
> +       if (err)
> +               return dev_err_probe(&pdev->dev, err, "Failed to request main 
> gpio\n");

Ditto.


-- 
With Best Regards,
Andy Shevchenko

Reply via email to