pwm: imx27: Don't disable clocks at device remove time
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Mon, 10 Feb 2020 21:22:39 +0000 (22:22 +0100)
committerThierry Reding <thierry.reding@gmail.com>
Mon, 30 Mar 2020 14:55:25 +0000 (16:55 +0200)
The .remove() callback is not supposed to modify hardware state. This is
in the responsibility of the PWM consumer.

After the PWM was disabled the clocks are off (apart from a bug that is
fixed in the next patch), so unbinding the driver either stops the PWM
(which it should not) or disables already disabled clocks yielding
warnings from the clk core.

So just drop the call to disable the clocks. (Which BTW was also in the
wrong order because the call makes the PWM unfunctional and so should
have come only after pwmchip_remove()).

Fixes: 9f4c8f9607c3 ("pwm: imx: Add ipg clock operation")
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
drivers/pwm/pwm-imx27.c

index e04ae56..fb14281 100644 (file)
@@ -358,8 +358,6 @@ static int pwm_imx27_remove(struct platform_device *pdev)
 
        imx = platform_get_drvdata(pdev);
 
-       pwm_imx27_clk_disable_unprepare(imx);
-
        return pwmchip_remove(&imx->chip);
 }