On Wed, Aug 26, 2020 at 10:12:17PM +0300, Andy Shevchenko wrote: > On Wed, Aug 26, 2020 at 08:16:43PM +0200, Krzysztof Kozlowski wrote: > > Common pattern of handling deferred probe can be simplified with > > dev_err_probe(). Less code and also it prints the error value. > > > +++ b/drivers/input/keyboard/bcm-keypad.c > > @@ -379,11 +379,9 @@ static int bcm_kp_probe(struct platform_device *pdev) > > kp->clk = devm_clk_get(&pdev->dev, "peri_clk"); > > if (IS_ERR(kp->clk)) { > > error = PTR_ERR(kp->clk); > > - if (error != -ENOENT) { > > - if (error != -EPROBE_DEFER) > > - dev_err(&pdev->dev, "Failed to get clock\n"); > > - return error; > > - } > > + if (error != -ENOENT) > > + return dev_err_probe(&pdev->dev, error, "Failed to get clock\n"); > > + > > dev_dbg(&pdev->dev, > > "No clock specified. Assuming it's enabled\n"); > > Shouldn't be this rather switch to devm_clk_get_optional() + dev_err_probe? Indeed, it could be simplified even more. I'll send v2. Best regards, Krzysztof