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? > kp->clk = NULL; -- With Best Regards, Andy Shevchenko