Commit 9e1b4999 authored by Thierry Reding's avatar Thierry Reding

pwm: stm32: Pass breakinput instead of its values

Instead of passing the individual values of the breakpoint, pass a
pointer to the breakpoint.
Signed-off-by: default avatarThierry Reding <thierry.reding@gmail.com>
parent 8e536225
...@@ -491,18 +491,18 @@ static const struct pwm_ops stm32pwm_ops = { ...@@ -491,18 +491,18 @@ static const struct pwm_ops stm32pwm_ops = {
}; };
static int stm32_pwm_set_breakinput(struct stm32_pwm *priv, 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 shift = TIM_BDTR_BKF_SHIFT(bi->index);
u32 bke = TIM_BDTR_BKE(index); u32 bke = TIM_BDTR_BKE(bi->index);
u32 bkp = TIM_BDTR_BKP(index); u32 bkp = TIM_BDTR_BKP(bi->index);
u32 bkf = TIM_BDTR_BKF(index); u32 bkf = TIM_BDTR_BKF(bi->index);
u32 mask = bkf | bkp | bke; u32 mask = bkf | bkp | bke;
u32 bdtr; 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; bdtr |= bkp;
regmap_update_bits(priv->regmap, TIM_BDTR, mask, bdtr); regmap_update_bits(priv->regmap, TIM_BDTR, mask, bdtr);
...@@ -518,10 +518,7 @@ static int stm32_pwm_apply_breakinputs(struct stm32_pwm *priv) ...@@ -518,10 +518,7 @@ static int stm32_pwm_apply_breakinputs(struct stm32_pwm *priv)
int ret; int ret;
for (i = 0; i < priv->num_breakinputs; i++) { for (i = 0; i < priv->num_breakinputs; i++) {
ret = stm32_pwm_set_breakinput(priv, ret = stm32_pwm_set_breakinput(priv, &priv->breakinputs[i]);
priv->breakinputs[i].index,
priv->breakinputs[i].level,
priv->breakinputs[i].filter);
if (ret < 0) if (ret < 0)
return ret; return ret;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment