[PATCH 1/2] pwm: atmel-hlcdc: Fix clock imbalance related to suspend support
claudiu beznea
claudiu.beznea at tuxon.dev
Sat Feb 3 07:47:21 PST 2024
On 26.01.2024 14:04, Uwe Kleine-König wrote:
> The suspend callback disables the periph clock when the PWM is enabled
> and resume reenables this clock if the PWM was disabled before. Judging
> from the code comment it's suspend that is wrong here. Fix accordingly.
>
> Fixes: f9bb9da7c09d ("pwm: atmel-hlcdc: Implement the suspend/resume hooks")
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>
I don't have the HW to check it but it looks good to me:
Reviewed-by: Claudiu Beznea <claudiu.beznea at tuxon.dev>
> ---
> drivers/pwm/pwm-atmel-hlcdc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/pwm/pwm-atmel-hlcdc.c b/drivers/pwm/pwm-atmel-hlcdc.c
> index 3f2c5031a3ba..1f6fc9a9fcf3 100644
> --- a/drivers/pwm/pwm-atmel-hlcdc.c
> +++ b/drivers/pwm/pwm-atmel-hlcdc.c
> @@ -185,7 +185,7 @@ static int atmel_hlcdc_pwm_suspend(struct device *dev)
> struct atmel_hlcdc_pwm *atmel = dev_get_drvdata(dev);
>
> /* Keep the periph clock enabled if the PWM is still running. */
> - if (pwm_is_enabled(&atmel->chip.pwms[0]))
> + if (!pwm_is_enabled(&atmel->chip.pwms[0]))
> clk_disable_unprepare(atmel->hlcdc->periph_clk);
>
> return 0;
More information about the linux-arm-kernel
mailing list