pwm: clk: Use the devm_clk_get_prepared() helper function
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Sun, 16 Apr 2023 09:02:13 +0000 (11:02 +0200)
committerThierry Reding <thierry.reding@gmail.com>
Fri, 23 Jun 2023 13:34:33 +0000 (15:34 +0200)
Use the devm_clk_get_prepared() helper function instead of hand-writing it.
It saves some line of codes.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
drivers/pwm/pwm-clk.c

index f1da998..0ee4d2a 100644 (file)
@@ -89,7 +89,7 @@ static int pwm_clk_probe(struct platform_device *pdev)
        if (!pcchip)
                return -ENOMEM;
 
-       pcchip->clk = devm_clk_get(&pdev->dev, NULL);
+       pcchip->clk = devm_clk_get_prepared(&pdev->dev, NULL);
        if (IS_ERR(pcchip->clk))
                return dev_err_probe(&pdev->dev, PTR_ERR(pcchip->clk),
                                     "Failed to get clock\n");
@@ -98,15 +98,9 @@ static int pwm_clk_probe(struct platform_device *pdev)
        pcchip->chip.ops = &pwm_clk_ops;
        pcchip->chip.npwm = 1;
 
-       ret = clk_prepare(pcchip->clk);
-       if (ret < 0)
-               return dev_err_probe(&pdev->dev, ret, "Failed to prepare clock\n");
-
        ret = pwmchip_add(&pcchip->chip);
-       if (ret < 0) {
-               clk_unprepare(pcchip->clk);
+       if (ret < 0)
                return dev_err_probe(&pdev->dev, ret, "Failed to add pwm chip\n");
-       }
 
        platform_set_drvdata(pdev, pcchip);
        return 0;
@@ -120,8 +114,6 @@ static void pwm_clk_remove(struct platform_device *pdev)
 
        if (pcchip->clk_enabled)
                clk_disable(pcchip->clk);
-
-       clk_unprepare(pcchip->clk);
 }
 
 static const struct of_device_id pwm_clk_dt_ids[] = {