]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
pwm: stm32: Pass breakinput instead of its values
authorThierry Reding <thierry.reding@gmail.com>
Wed, 16 Oct 2019 07:30:33 +0000 (09:30 +0200)
committerThierry Reding <thierry.reding@gmail.com>
Mon, 21 Oct 2019 14:50:05 +0000 (16:50 +0200)
Instead of passing the individual values of the breakpoint, pass a
pointer to the breakpoint.

Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
drivers/pwm/pwm-stm32.c

index 7a2be04538248c1581b940c4c131d3b121697ee4..7ff48c14fae806f4ae8f003a35f1ba6797021203 100644 (file)
@@ -491,18 +491,18 @@ static const struct pwm_ops stm32pwm_ops = {
 };
 
 static int stm32_pwm_set_breakinput(struct stm32_pwm *priv,
-                                   int index, int level, int filter)
+                                   const struct stm32_breakinput *bi)
 {
-       u32 shift = TIM_BDTR_BKF_SHIFT(index);
-       u32 bke = TIM_BDTR_BKE(index);
-       u32 bkp = TIM_BDTR_BKP(index);
-       u32 bkf = TIM_BDTR_BKF(index);
+       u32 shift = TIM_BDTR_BKF_SHIFT(bi->index);
+       u32 bke = TIM_BDTR_BKE(bi->index);
+       u32 bkp = TIM_BDTR_BKP(bi->index);
+       u32 bkf = TIM_BDTR_BKF(bi->index);
        u32 mask = bkf | bkp | bke;
        u32 bdtr;
 
-       bdtr = (filter & TIM_BDTR_BKF_MASK) << shift | bke;
+       bdtr = (bi->filter & TIM_BDTR_BKF_MASK) << shift | bke;
 
-       if (level)
+       if (bi->level)
                bdtr |= bkp;
 
        regmap_update_bits(priv->regmap, TIM_BDTR, mask, bdtr);
@@ -518,10 +518,7 @@ static int stm32_pwm_apply_breakinputs(struct stm32_pwm *priv)
        int ret;
 
        for (i = 0; i < priv->num_breakinputs; i++) {
-               ret = stm32_pwm_set_breakinput(priv,
-                                              priv->breakinputs[i].index,
-                                              priv->breakinputs[i].level,
-                                              priv->breakinputs[i].filter);
+               ret = stm32_pwm_set_breakinput(priv, &priv->breakinputs[i]);
                if (ret < 0)
                        return ret;
        }