On Wed, Aug 26, 2020 at 7:19 PM Krzysztof Kozlowski <[email protected]> wrote:
>
> Common pattern of handling deferred probe can be simplified with
> dev_err_probe(). Less code and also it prints the error value.
> priv->aclk = devm_clk_get(&pdev->dev, "adc");
> if (IS_ERR(priv->aclk)) {
> ret = PTR_ERR(priv->aclk);
> - if (ret != -ENOENT) {
> - if (ret != -EPROBE_DEFER)
> - dev_err(&pdev->dev, "Can't get 'adc'
> clock\n");
> - return ret;
> - }
> + if (ret != -ENOENT)
> + return dev_err_probe(&pdev->dev, ret, "Can't get
> 'adc' clock\n");
> +
> priv->aclk = NULL;
> }
>
> priv->bclk = devm_clk_get(&pdev->dev, "bus");
> if (IS_ERR(priv->bclk)) {
> ret = PTR_ERR(priv->bclk);
> - if (ret != -ENOENT) {
> - if (ret != -EPROBE_DEFER)
> - dev_err(&pdev->dev, "Can't get 'bus'
> clock\n");
> - return ret;
> - }
> + if (ret != -ENOENT)
> + return dev_err_probe(&pdev->dev, ret, "Can't get
> 'bus' clock\n");
> +
> priv->bclk = NULL;
> }
Again, devm_clk_get_optional() and even, if it exists,
devm_clk_bulk_get_optional().
Please, revisit all patches on this topic.
--
With Best Regards,
Andy Shevchenko