]> git.baikalelectronics.ru Git - kernel.git/commitdiff
pwm: sifive: Fold pwm_sifive_enable() into its only caller
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Thu, 21 Jul 2022 10:31:24 +0000 (12:31 +0200)
committerThierry Reding <thierry.reding@gmail.com>
Fri, 29 Jul 2022 11:40:45 +0000 (13:40 +0200)
There is only a single caller of pwm_sifive_enable() which only enables
or disables the clk. Put this implementation directly into
pwm_sifive_apply() which allows further simplification in the next
change.

There is no change in behaviour.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Tested-by: Emil Renner Berthing <emil.renner.berthing@canonical.com>
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
drivers/pwm/pwm-sifive.c

index b7fc33b08d82f8754bccdbddb848d6444c8de2ec..91cf90bd4083205b17a9e9bfc19f01172be94646 100644 (file)
@@ -124,24 +124,6 @@ static void pwm_sifive_get_state(struct pwm_chip *chip, struct pwm_device *pwm,
        state->polarity = PWM_POLARITY_INVERSED;
 }
 
-static int pwm_sifive_enable(struct pwm_chip *chip, bool enable)
-{
-       struct pwm_sifive_ddata *ddata = pwm_sifive_chip_to_ddata(chip);
-       int ret;
-
-       if (enable) {
-               ret = clk_enable(ddata->clk);
-               if (ret) {
-                       dev_err(ddata->chip.dev, "Enable clk failed\n");
-                       return ret;
-               }
-       } else {
-               clk_disable(ddata->clk);
-       }
-
-       return 0;
-}
-
 static int pwm_sifive_apply(struct pwm_chip *chip, struct pwm_device *pwm,
                            const struct pwm_state *state)
 {
@@ -192,8 +174,14 @@ static int pwm_sifive_apply(struct pwm_chip *chip, struct pwm_device *pwm,
 
        writel(frac, ddata->regs + PWM_SIFIVE_PWMCMP(pwm->hwpwm));
 
-       if (state->enabled != enabled)
-               pwm_sifive_enable(chip, state->enabled);
+       if (state->enabled != enabled) {
+               if (state->enabled) {
+                       if (clk_enable(ddata->clk))
+                               dev_err(ddata->chip.dev, "Enable clk failed\n");
+               } else {
+                       clk_disable(ddata->clk);
+               }
+       }
 
 exit:
        clk_disable(ddata->clk);