pwm: rcar: Use "atomic" API on rcar_pwm_resume()
authorYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Wed, 9 Jan 2019 08:19:06 +0000 (17:19 +0900)
committerThierry Reding <thierry.reding@gmail.com>
Mon, 4 Mar 2019 11:14:06 +0000 (12:14 +0100)
To remove legacy API related functions in the future, this patch
uses "atomic" related function instead. No change in behavior.

Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
drivers/pwm/pwm-rcar.c

index e3ab663ff3a7783bc9446905e9cbe4c1dbfb61d5..652a937ef8b08d5a9380199b3dbbed55ff597a7a 100644 (file)
@@ -316,18 +316,16 @@ static int rcar_pwm_suspend(struct device *dev)
 static int rcar_pwm_resume(struct device *dev)
 {
        struct pwm_device *pwm = rcar_pwm_dev_to_pwm_dev(dev);
+       struct pwm_state state;
 
        if (!test_bit(PWMF_REQUESTED, &pwm->flags))
                return 0;
 
        pm_runtime_get_sync(dev);
 
-       rcar_pwm_config(pwm->chip, pwm, pwm->state.duty_cycle,
-                       pwm->state.period);
-       if (pwm_is_enabled(pwm))
-               rcar_pwm_enable(pwm->chip, pwm);
+       pwm_get_state(pwm, &state);
 
-       return 0;
+       return rcar_pwm_apply(pwm->chip, pwm, &state);
 }
 #endif /* CONFIG_PM_SLEEP */
 static SIMPLE_DEV_PM_OPS(rcar_pwm_pm_ops, rcar_pwm_suspend, rcar_pwm_resume);