| From cc90cd5d57bd4600498f35bb657e93381b5d0b7e Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Wed, 7 Jul 2021 18:27:52 +0200 |
| Subject: pwm: rockchip: Don't modify HW state in .remove() callback |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| From: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> |
| |
| [ Upstream commit 9d768cd7fd42bb0be16f36aec48548fca5260759 ] |
| |
| A consumer is expected to disable a PWM before calling pwm_put(). And if |
| they didn't there is hopefully a good reason (or the consumer needs |
| fixing). Also if disabling an enabled PWM was the right thing to do, |
| this should better be done in the framework instead of in each low level |
| driver. |
| |
| Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> |
| Signed-off-by: Thierry Reding <thierry.reding@gmail.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/pwm/pwm-rockchip.c | 14 -------------- |
| 1 file changed, 14 deletions(-) |
| |
| diff --git a/drivers/pwm/pwm-rockchip.c b/drivers/pwm/pwm-rockchip.c |
| index cbe900877724..8fcef29948d7 100644 |
| --- a/drivers/pwm/pwm-rockchip.c |
| +++ b/drivers/pwm/pwm-rockchip.c |
| @@ -384,20 +384,6 @@ static int rockchip_pwm_remove(struct platform_device *pdev) |
| { |
| struct rockchip_pwm_chip *pc = platform_get_drvdata(pdev); |
| |
| - /* |
| - * Disable the PWM clk before unpreparing it if the PWM device is still |
| - * running. This should only happen when the last PWM user left it |
| - * enabled, or when nobody requested a PWM that was previously enabled |
| - * by the bootloader. |
| - * |
| - * FIXME: Maybe the core should disable all PWM devices in |
| - * pwmchip_remove(). In this case we'd only have to call |
| - * clk_unprepare() after pwmchip_remove(). |
| - * |
| - */ |
| - if (pwm_is_enabled(pc->chip.pwms)) |
| - clk_disable(pc->clk); |
| - |
| clk_unprepare(pc->pclk); |
| clk_unprepare(pc->clk); |
| |
| -- |
| 2.33.0 |
| |