iio: adc: lpc18xx: Benefit from devm_clk_get_enabled() to simplify
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Mon, 8 Aug 2022 20:47:32 +0000 (22:47 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Mon, 15 Aug 2022 21:30:02 +0000 (22:30 +0100)
Make use of devm_clk_get_enabled() to replace some code that effectively
open codes this new function.

Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Link: https://lore.kernel.org/r/20220808204740.307667-5-u.kleine-koenig@pengutronix.de
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/adc/lpc18xx_adc.c

index 42e6cd6fa6f722a37e9e3151dc0884a45308f183..450a243d1f7c0111d99364e031e9f95e0797f880 100644 (file)
@@ -121,11 +121,6 @@ static void lpc18xx_clear_cr_reg(void *data)
        writel(0, adc->base + LPC18XX_ADC_CR);
 }
 
-static void lpc18xx_clk_disable(void *clk)
-{
-       clk_disable_unprepare(clk);
-}
-
 static void lpc18xx_regulator_disable(void *vref)
 {
        regulator_disable(vref);
@@ -151,7 +146,7 @@ static int lpc18xx_adc_probe(struct platform_device *pdev)
        if (IS_ERR(adc->base))
                return PTR_ERR(adc->base);
 
-       adc->clk = devm_clk_get(&pdev->dev, NULL);
+       adc->clk = devm_clk_get_enabled(&pdev->dev, NULL);
        if (IS_ERR(adc->clk))
                return dev_err_probe(&pdev->dev, PTR_ERR(adc->clk),
                                     "error getting clock\n");
@@ -177,17 +172,6 @@ static int lpc18xx_adc_probe(struct platform_device *pdev)
        if (ret)
                return ret;
 
-       ret = clk_prepare_enable(adc->clk);
-       if (ret) {
-               dev_err(&pdev->dev, "unable to enable clock\n");
-               return ret;
-       }
-
-       ret = devm_add_action_or_reset(&pdev->dev, lpc18xx_clk_disable,
-                                      adc->clk);
-       if (ret)
-               return ret;
-
        rate = clk_get_rate(adc->clk);
        clkdiv = DIV_ROUND_UP(rate, LPC18XX_ADC_CLK_TARGET);