Hello Vladimir, On Wed, Mar 31, 2021 at 11:37:37PM +0300, Vladimir Zapolskiy wrote: > On 3/27/21 11:24 PM, Uwe Kleine-König wrote: > > Before pwmchip_remove() returns the PWM is expected to be functional. So > > remove the pwmchip before disabling the clock. > > > > Signed-off-by: Uwe Kleine-König > > --- > > drivers/pwm/pwm-lpc18xx-sct.c | 4 +++- > > 1 file changed, 3 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/pwm/pwm-lpc18xx-sct.c b/drivers/pwm/pwm-lpc18xx-sct.c > > index 3f8e54ec28c6..b643ac61a2e7 100644 > > --- a/drivers/pwm/pwm-lpc18xx-sct.c > > +++ b/drivers/pwm/pwm-lpc18xx-sct.c > > @@ -441,13 +441,15 @@ static int lpc18xx_pwm_remove(struct platform_device *pdev) > > struct lpc18xx_pwm_chip *lpc18xx_pwm = platform_get_drvdata(pdev); > > u32 val; > > + pwmchip_remove(&lpc18xx_pwm->chip); > > + > > val = lpc18xx_pwm_readl(lpc18xx_pwm, LPC18XX_PWM_CTRL); > > lpc18xx_pwm_writel(lpc18xx_pwm, LPC18XX_PWM_CTRL, > > val | LPC18XX_PWM_CTRL_HALT); > > clk_disable_unprepare(lpc18xx_pwm->pwm_clk); > > - return pwmchip_remove(&lpc18xx_pwm->chip); > > + return 0; > > } > > static struct platform_driver lpc18xx_pwm_driver = { > > Acked-by: Vladimir Zapolskiy Thanks. > A horde of PWM drivers does not satisfy the condition, please check > at least quite popular pwm-rockchip.c, pwm-sti.c, pwm-vt8500.c, > pwm-bcm2835.c etc., again, it would be preferable to see all the > drivers fixed in a single series, thank you. I'm aware that there are more drivers that need fixing and I will come to them eventually. But I work on this on an on-and-off basis because PWM driver fixing isn't the only thing I live for. So I send out a patch whenever I finished one, I don't see a benefit to delay them just to send them out in a series. If you want to work at fixing all drivers, tell me, I have several other things to polish on my list. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | https://www.pengutronix.de/ |