]> Git Repo - J-linux.git/blobdiff - drivers/pwm/pwm-stm32-lp.c
Merge tag 'amd-drm-next-6.3-2023-01-27' of https://gitlab.freedesktop.org/agd5f/linux...
[J-linux.git] / drivers / pwm / pwm-stm32-lp.c
index 3115abb3f52abebc0d400bab5d2dbb095abed0ff..514ff58a4471d664701243c203183260c551142d 100644 (file)
@@ -140,9 +140,8 @@ static int stm32_pwm_lp_apply(struct pwm_chip *chip, struct pwm_device *pwm,
 
        if (reenable) {
                /* Start LP timer in continuous mode */
-               ret = regmap_update_bits(priv->regmap, STM32_LPTIM_CR,
-                                        STM32_LPTIM_CNTSTRT,
-                                        STM32_LPTIM_CNTSTRT);
+               ret = regmap_set_bits(priv->regmap, STM32_LPTIM_CR,
+                                     STM32_LPTIM_CNTSTRT);
                if (ret) {
                        regmap_write(priv->regmap, STM32_LPTIM_CR, 0);
                        goto err;
@@ -157,9 +156,9 @@ err:
        return ret;
 }
 
-static void stm32_pwm_lp_get_state(struct pwm_chip *chip,
-                                  struct pwm_device *pwm,
-                                  struct pwm_state *state)
+static int stm32_pwm_lp_get_state(struct pwm_chip *chip,
+                                 struct pwm_device *pwm,
+                                 struct pwm_state *state)
 {
        struct stm32_pwm_lp *priv = to_stm32_pwm_lp(chip);
        unsigned long rate = clk_get_rate(priv->clk);
@@ -185,6 +184,8 @@ static void stm32_pwm_lp_get_state(struct pwm_chip *chip,
        tmp = prd - val;
        tmp = (tmp << presc) * NSEC_PER_SEC;
        state->duty_cycle = DIV_ROUND_CLOSEST_ULL(tmp, rate);
+
+       return 0;
 }
 
 static const struct pwm_ops stm32_pwm_lp_ops = {
This page took 0.032612 seconds and 4 git commands to generate.