On Wed, Aug 26, 2020 at 11:04 PM Krzysztof Kozlowski <krzk@xxxxxxxxxx> wrote: > > Common pattern of handling deferred probe can be simplified with > dev_err_probe() and devm_clk_get_optional(). Less code and the error > value gets printed. Reviewed-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> > Signed-off-by: Krzysztof Kozlowski <krzk@xxxxxxxxxx> > Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> > > --- > > Changes since v1: > 1. Use also devm_clk_get_optional() > --- > drivers/input/keyboard/bcm-keypad.c | 14 ++++---------- > 1 file changed, 4 insertions(+), 10 deletions(-) > > diff --git a/drivers/input/keyboard/bcm-keypad.c b/drivers/input/keyboard/bcm-keypad.c > index 2b771c3a5578..23e11b4efd13 100644 > --- a/drivers/input/keyboard/bcm-keypad.c > +++ b/drivers/input/keyboard/bcm-keypad.c > @@ -376,17 +376,11 @@ static int bcm_kp_probe(struct platform_device *pdev) > return PTR_ERR(kp->base); > > /* Enable clock */ > - kp->clk = devm_clk_get(&pdev->dev, "peri_clk"); > + kp->clk = devm_clk_get_optional(&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; > - } > - dev_dbg(&pdev->dev, > - "No clock specified. Assuming it's enabled\n"); > - kp->clk = NULL; > + return dev_err_probe(&pdev->dev, error, "Failed to get clock\n"); > + } else if (!kp->clk) { > + dev_dbg(&pdev->dev, "No clock specified. Assuming it's enabled\n"); > } else { > unsigned int desired_rate; > long actual_rate; > -- > 2.17.1 > -- With Best Regards, Andy Shevchenko