Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1367551 > unrolled thread

[PATCH v5 39/46] leds: pwm: switch to the atomic PWM API

Started byBoris Brezillon <boris.brezillon@free-electrons.com>
First post2016-03-30 22:10 +0200
Last post2016-03-30 22:10 +0200
Articles 1 — 1 participant

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH v5 39/46] leds: pwm: switch to the atomic PWM API Boris Brezillon <boris.brezillon@free-electrons.com> - 2016-03-30 22:10 +0200

#1367551 — [PATCH v5 39/46] leds: pwm: switch to the atomic PWM API

FromBoris Brezillon <boris.brezillon@free-electrons.com>
Date2016-03-30 22:10 +0200
Subject[PATCH v5 39/46] leds: pwm: switch to the atomic PWM API
Message-ID<riuBd-28V-29@gated-at.bofh.it>
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(-)

diff --git a/drivers/leds/leds-pwm.c b/drivers/leds/leds-pwm.c
index b48231c..f69b222 100644
--- a/drivers/leds/leds-pwm.c
+++ b/drivers/leds/leds-pwm.c
@@ -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,
-- 
2.5.0

[toc] | [standalone]


Back to top | Article view | linux.kernel


csiph-web