linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 00/12] pwm: add support for atomic update
@ 2015-09-21  9:33 Boris Brezillon
  2015-09-21  9:33 ` [PATCH v3 01/12] pwm: introduce default period and polarity concepts Boris Brezillon
                   ` (15 more replies)
  0 siblings, 16 replies; 50+ messages in thread
From: Boris Brezillon @ 2015-09-21  9:33 UTC (permalink / raw)
  To: Thierry Reding, linux-pwm, Mark Brown, Liam Girdwood, Jingoo Han,
	Lee Jones, linux-fbdev, Bryan Wu, Richard Purdie,
	Jacek Anaszewski, linux-leds, Maxime Ripard, linux-sunxi,
	Heiko Stuebner, linux-rockchip, Jean-Christophe Plagniol-Villard,
	Tomi Valkeinen, Daniel Mack, Haojian Zhuang, Robert Jarzmik
  Cc: linux-arm-kernel, linux-kernel, Doug Anderson,
	Uwe Kleine-König, Boris Brezillon

Hello,

This series adds support for atomic PWM update, or IOW, the capability
to update all the parameters of a PWM device (enabled/disabled, period,
duty and polarity) in one go.

Best Regards,

Boris

Changes since v2:
- rebased on top of 4.3-rc2
- reintroduced pwm-regulator patches

Changes since v1:
- dropped applied patches
- squashed Heiko's fixes into the rockchip driver changes
- made a few cosmetic changes
- added kerneldoc comments
- added Heiko's patch to display more information in debugfs
- dropped pwm-regulator patches (should be submitted separately)

Boris Brezillon (11):
  pwm: introduce default period and polarity concepts
  pwm: define a new pwm_state struct
  pwm: move the enabled/disabled info to pwm_state struct
  backlight: pwm_bl: remove useless call to pwm_set_period
  pwm: declare a default PWM state
  pwm: add the PWM initial state retrieval infra
  pwm: add the core infrastructure to allow atomic update
  pwm: rockchip: add initial state retrieval
  pwm: rockchip: add support for atomic update
  regulator: pwm: implement ->enable(), ->disable() and ->is_enabled
    methods
  regulator: pwm: properly initialize the ->state field

Heiko Stübner (1):
  pwm: add information about polarity, duty cycle and period to debugfs

 drivers/leds/leds-pwm.c              |   2 +-
 drivers/pwm/core.c                   | 169 +++++++++++++++++++++++++++++++----
 drivers/pwm/pwm-pxa.c                |   2 +-
 drivers/pwm/pwm-rockchip.c           | 119 +++++++++++++++++++-----
 drivers/pwm/pwm-sun4i.c              |   3 +-
 drivers/regulator/pwm-regulator.c    |  65 ++++++++++++--
 drivers/video/backlight/lm3630a_bl.c |   4 +-
 drivers/video/backlight/pwm_bl.c     |  10 ++-
 drivers/video/fbdev/ssd1307fb.c      |   2 +-
 include/linux/pwm.h                  |  89 +++++++++++++++---
 10 files changed, 392 insertions(+), 73 deletions(-)

-- 
1.9.1


^ permalink raw reply	[flat|nested] 50+ messages in thread
* [PATCH v3 pre-03/12] pwm: rcar: make use of pwm_is_enabled()
@ 2015-10-10 15:10 Boris Brezillon
  2015-10-10 15:14 ` Boris Brezillon
  0 siblings, 1 reply; 50+ messages in thread
From: Boris Brezillon @ 2015-10-10 15:10 UTC (permalink / raw)
  To: Thierry Reding, linux-pwm
  Cc: Yoshihiro Shimoda, Doug Anderson, linux-arm-kernel, linux-kernel,
	Uwe Kleine-König, Boris Brezillon

Commit 5c31252c4a86 ("pwm: Add the pwm_is_enabled() helper") introduced a
new function to test whether a PWM device is enabled or not without
manipulating PWM internal fields.
Hiding this is necessary if we want to smoothly move to the atomic PWM
config approach without impacting PWM drivers.
Fix this driver to use pwm_is_enabled() instead of directly accessing the
->flags field.

Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
---
Hi Thierry,

I noticed you applied a few patches adding new PWM drivers in your
pwm-next tree, and one of them is directly testing the PWMF_ENABLED
flag which is removed by patch 3 of this series, which means you have to
apply this patch before patch 3.

I can resend the whole series if you want, but, unless you have a strong
reason to refuse it, I'd really like to get those changes in, so that I
don't have to rebase and fix the series each time a new driver is added.

Best Regards,

Boris

 drivers/pwm/pwm-rcar.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pwm/pwm-rcar.c b/drivers/pwm/pwm-rcar.c
index 6e99a63..70899c9 100644
--- a/drivers/pwm/pwm-rcar.c
+++ b/drivers/pwm/pwm-rcar.c
@@ -157,7 +157,7 @@ static int rcar_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm,
 		return div;
 
 	/* Let the core driver set pwm->period if disabled and duty_ns == 0 */
-	if (!test_bit(PWMF_ENABLED, &pwm->flags) && !duty_ns)
+	if (!pwm_is_enabled(pwm) && !duty_ns)
 		return 0;
 
 	rcar_pwm_update(rp, RCAR_PWMCR_SYNC, RCAR_PWMCR_SYNC, RCAR_PWMCR);
-- 
2.1.4


^ permalink raw reply related	[flat|nested] 50+ messages in thread

end of thread, other threads:[~2016-03-11  9:52 UTC | newest]

Thread overview: 50+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-09-21  9:33 [PATCH v3 00/12] pwm: add support for atomic update Boris Brezillon
2015-09-21  9:33 ` [PATCH v3 01/12] pwm: introduce default period and polarity concepts Boris Brezillon
2015-09-21 18:20   ` Robert Jarzmik
2015-09-22  6:36   ` Jacek Anaszewski
2015-09-22 21:49   ` Lee Jones
2015-11-07  2:35   ` Alexandre Belloni
2015-09-21  9:33 ` [PATCH v3 02/12] pwm: define a new pwm_state struct Boris Brezillon
2015-09-21  9:33 ` [PATCH v3 03/12] pwm: move the enabled/disabled info to " Boris Brezillon
2015-09-21  9:33 ` [PATCH v3 04/12] backlight: pwm_bl: remove useless call to pwm_set_period Boris Brezillon
2015-09-22 22:12   ` Lee Jones
2015-09-21  9:33 ` [PATCH v3 05/12] pwm: declare a default PWM state Boris Brezillon
2015-09-21  9:33 ` [PATCH v3 06/12] pwm: add the PWM initial state retrieval infra Boris Brezillon
2015-09-21  9:33 ` [PATCH v3 07/12] pwm: add the core infrastructure to allow atomic update Boris Brezillon
2015-09-21  9:33 ` [PATCH v3 08/12] pwm: add information about polarity, duty cycle and period to debugfs Boris Brezillon
2015-09-21  9:33 ` [PATCH v3 09/12] pwm: rockchip: add initial state retrieval Boris Brezillon
2015-09-21  9:33 ` [PATCH v3 10/12] pwm: rockchip: add support for atomic update Boris Brezillon
2015-09-21  9:33 ` [PATCH v3 11/12] regulator: pwm: implement ->enable(), ->disable() and ->is_enabled methods Boris Brezillon
2015-09-21 21:13   ` Mark Brown
2015-09-21  9:33 ` [PATCH v3 12/12] regulator: pwm: properly initialize the ->state field Boris Brezillon
2015-09-21 21:10   ` Mark Brown
2015-09-21 22:30 ` [PATCH v3 00/12] pwm: add support for atomic update Heiko Stübner
2015-10-09 21:02 ` Boris Brezillon
2015-10-10 15:11 ` [PATCH v3 pre-03/12] pwm: rcar: make use of pwm_is_enabled() Boris Brezillon
2015-10-19 10:12 ` [PATCH v3 00/12] pwm: add support for atomic update Heiko Stübner
2015-11-10 17:34   ` Thierry Reding
2015-11-10 18:26     ` Boris Brezillon
2016-01-25 16:28     ` Doug Anderson
2016-01-25 17:08       ` Thierry Reding
2016-01-25 17:55         ` Boris Brezillon
2016-01-25 18:51         ` Doug Anderson
2016-02-03 14:53           ` Thierry Reding
2016-02-03 19:04             ` Doug Anderson
2016-02-04 11:02               ` Mark Brown
2016-02-04 14:01                 ` Boris Brezillon
2016-02-23 14:57                   ` Thierry Reding
2016-02-22 16:27               ` Doug Anderson
2016-02-22 17:59               ` Thierry Reding
2016-02-22 19:15                 ` Doug Anderson
2016-02-22 21:24                   ` Mark Brown
2016-02-23  3:03                     ` Doug Anderson
2016-02-23 14:38                   ` Thierry Reding
2016-02-23 17:35                     ` Doug Anderson
2016-02-23 18:14                       ` Thierry Reding
2016-02-23 18:42                         ` Doug Anderson
2016-02-25 23:14                           ` Doug Anderson
2016-03-07 16:34                             ` Doug Anderson
2016-03-10 17:54                               ` Thierry Reding
2016-03-11  9:51                                 ` Boris Brezillon
2015-10-10 15:10 [PATCH v3 pre-03/12] pwm: rcar: make use of pwm_is_enabled() Boris Brezillon
2015-10-10 15:14 ` Boris Brezillon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).