Message ID | 20200826200436.30669-1-krzk@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] Input: bcm-keypad - Simplify with dev_err_probe() | expand |
On Wed, Aug 26, 2020 at 11:04 PM Krzysztof Kozlowski <krzk@kernel.org> 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@gmail.com> > Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> > Reviewed-by: Hans de Goede <hdegoede@redhat.com> > > --- > > 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 >
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;