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

pwm: rockchip: Unprepare clocks 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 rockchip_pwm_remove() a bit simpler and allows to eventually
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
84ea61f6 04d77521

+3 -1
+3 -1
drivers/pwm/pwm-rockchip.c
··· 384 384 { 385 385 struct rockchip_pwm_chip *pc = platform_get_drvdata(pdev); 386 386 387 + pwmchip_remove(&pc->chip); 388 + 387 389 clk_unprepare(pc->pclk); 388 390 clk_unprepare(pc->clk); 389 391 390 - return pwmchip_remove(&pc->chip); 392 + return 0; 391 393 } 392 394 393 395 static struct platform_driver rockchip_pwm_driver = {