@@ -40,13 +40,18 @@ struct led_pwm_priv {
static void __led_pwm_set(struct led_pwm_data *led_dat)
{
int new_duty = led_dat->duty;
+ struct pwm_state pstate;
- pwm_config(led_dat->pwm, new_duty, led_dat->period);
+ pwm_get_state(led_dat->pwm, &pstate);
+ pstate.duty_cycle = new_duty;
+ pstate.period = led_dat->period;
if (new_duty == 0)
- pwm_disable(led_dat->pwm);
+ pstate.enabled = false;
else
- pwm_enable(led_dat->pwm);
+ pstate.enabled = true;
+
+ pwm_apply_state(led_dat->pwm, &pstate);
}
static void led_pwm_set(struct led_classdev *led_cdev,
pwm_config/enable/disable() have been deprecated and should be replaced by pwm_apply_state(). Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com> --- drivers/leds/leds-pwm.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-)