pwm: stm32: Use the right CCxNP bit in stm32_pwm_enable()
authorUwe Kleine-König <u.kleine-koenig@baylibre.com>
Thu, 5 Sep 2024 09:06:24 +0000 (11:06 +0200)
committerUwe Kleine-König <ukleinek@kernel.org>
Thu, 5 Sep 2024 09:12:01 +0000 (11:12 +0200)
The pwm devices for a pwm_chip are numbered starting at 0, the first hw
channel however has the number 1. While introducing a parametrised macro
to simplify register bit usage and making that offset explicit, one of
the usages was converted wrongly. This is fixed here.

Fixes: 7cea05ae1d4e ("pwm-stm32: Make use of parametrised register definitions")
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
Link: https://lore.kernel.org/r/20240905090627.197536-2-u.kleine-koenig@baylibre.com
Signed-off-by: Uwe Kleine-König <ukleinek@kernel.org>
drivers/pwm/pwm-stm32.c

index fd754a99cf2ed1182a6b5c52c7e4712eae5a7f29..f85eb41cb084820a49010673f28e52afc233b475 100644 (file)
@@ -412,7 +412,7 @@ static int stm32_pwm_enable(struct stm32_pwm *priv, unsigned int ch)
        /* Enable channel */
        mask = TIM_CCER_CCxE(ch + 1);
        if (priv->have_complementary_output)
-               mask |= TIM_CCER_CCxNE(ch);
+               mask |= TIM_CCER_CCxNE(ch + 1);
 
        regmap_set_bits(priv->regmap, TIM_CCER, mask);