pwm: vt8500: Only unprepare the clock after the pwmchip was removed
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Mon, 21 Jun 2021 13:04:58 +0000 (15:04 +0200)
committerThierry Reding <thierry.reding@gmail.com>
Wed, 30 Jun 2021 17:12:20 +0000 (19:12 +0200)
Until pwmchip_remove() returns the PWM is supposed to work, so
pwmchip_remove() must be called before the clock is stopped.

The return value of pwmchip_remove doesn't need to be checked because
it returns zero anyhow and I plan to make it return void soon.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
drivers/pwm/pwm-vt8500.c

index 7164df2..ea2aa15 100644 (file)
@@ -240,10 +240,11 @@ static int vt8500_pwm_remove(struct platform_device *pdev)
 {
        struct vt8500_chip *chip = platform_get_drvdata(pdev);
 
+       pwmchip_remove(&chip->chip);
 
        clk_unprepare(chip->clk);
 
-       return pwmchip_remove(&chip->chip);
+       return 0;
 }
 
 static struct platform_driver vt8500_pwm_driver = {