@@ -491,11 +491,11 @@ 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 bke, bkp, shift, mask, bdtr;
- if (index == 0) {
+ if (bi->index == 0) {
bke = TIM_BDTR_BKE;
bkp = TIM_BDTR_BKP;
shift = TIM_BDTR_BKF_SHIFT;
@@ -509,10 +509,10 @@ static int stm32_pwm_set_breakinput(struct stm32_pwm *priv,
bdtr = bke;
- if (level)
+ if (bi->level)
bdtr |= bkp;
- bdtr |= (filter & TIM_BDTR_BKF_MASK) << shift;
+ bdtr |= (bi->filter & TIM_BDTR_BKF_MASK) << shift;
regmap_update_bits(priv->regmap, TIM_BDTR, mask, bdtr);
@@ -527,10 +527,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;
}
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 | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-)