On Wed, Aug 26, 2020 at 7:19 PM Krzysztof Kozlowski <krzk@xxxxxxxxxx> 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