Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

pwm: tiehrpwm: Unprepare clock only after the PWM was unregistered

The driver is supposed to stay functional until pwmchip_remove()
returns. So disable clocks only after that.

pwmchip_remove() always returns 0, so the return code can be ignored
which keeps ehrpwm_pwm_remove() a bit simpler and eventually allows to
make pwmchip_remove() return void.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>

authored by

Uwe Kleine-König and committed by
Thierry Reding
1a0c97b6 84ea61f6

+3 -1
+3 -1
drivers/pwm/pwm-tiehrpwm.c
··· 485 485 { 486 486 struct ehrpwm_pwm_chip *pc = platform_get_drvdata(pdev); 487 487 488 + pwmchip_remove(&pc->chip); 489 + 488 490 clk_unprepare(pc->tbclk); 489 491 490 492 pm_runtime_disable(&pdev->dev); 491 493 492 - return pwmchip_remove(&pc->chip); 494 + return 0; 493 495 } 494 496 495 497 #ifdef CONFIG_PM_SLEEP