Thread (105 messages) 105 messages, 10 authors, 2016-04-14

Re: [PATCH v5 15/46] pwm: introduce the pwm_state concept

From: Thierry Reding <hidden>
Date: 2016-04-12 12:21:49
Also in: dri-devel, intel-gfx, linux-arm-kernel, linux-clk, linux-fbdev, linux-leds, linux-pwm, linux-rockchip, linux-samsung-soc, lkml

On Tue, Apr 12, 2016 at 02:17:18PM +0200, Boris Brezillon wrote:
On Tue, 12 Apr 2016 13:49:04 +0200
Thierry Reding [off-list ref] wrote:
quoted
On Wed, Mar 30, 2016 at 10:03:38PM +0200, Boris Brezillon wrote:
quoted
The PWM state, represented by its period, duty_cycle and polarity,
is currently directly stored in the PWM device.
Declare a pwm_state structure embedding those field so that we can later
use this struct to atomically update all the PWM parameters at once.

All pwm_get_xxx() helpers are now implemented as wrappers around
pwm_get_state().

Signed-off-by: Boris Brezillon <boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
---
 drivers/pwm/core.c  |  8 ++++----
 include/linux/pwm.h | 54 +++++++++++++++++++++++++++++++++++++++++------------
 2 files changed, 46 insertions(+), 16 deletions(-)
diff --git a/drivers/pwm/core.c b/drivers/pwm/core.c
index 6433059..f3f91e7 100644
--- a/drivers/pwm/core.c
+++ b/drivers/pwm/core.c
@@ -268,7 +268,7 @@ int pwmchip_add_with_polarity(struct pwm_chip *chip,
 		pwm->chip = chip;
 		pwm->pwm = chip->base + i;
 		pwm->hwpwm = i;
-		pwm->polarity = polarity;
+		pwm->state.polarity = polarity;
Would this not more correctly be assigned to pwm->args.polarity? After
all this is setting up the "initial" state, much like DT or the lookup
tables would for duty cycle and period.
Yes, I wasn't sure about the pwm_add_with_polarity() meaning. To me,
all the reference info should be extracted from DT, PWM lookup table or
driver specific ->request() implementation, but I can definitely
initialize the args.polarity here too.

Should I keep the pwm->state.polarity assignment (to set the initial
polarity when the driver does not support hardware readout)?
Wouldn't this work automatically as part of the pwm_apply_args() helper
if we extended it with this setting?

Thierry
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help