pwm: lpc18xx-sct: Free resources only after pwmchip_remove()
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 <u.kleine-koenig@pengutronix.de> Acked-by: Vladimir Zapolskiy <vz@mleia.com> Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
This commit is contained in:
		
							parent
							
								
									819e82460a
								
							
						
					
					
						commit
						d58a484e7c
					
				| @ -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 = { | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user