From: Boris Brezillon <boris.brezillon@free-electrons.com>
To: Thierry Reding <thierry.reding@gmail.com>, linux-pwm@vger.kernel.org
Cc: Mike Turquette <mturquette@baylibre.com>,
Stephen Boyd <sboyd@codeaurora.org>,
linux-clk@vger.kernel.org, Mark Brown <broonie@kernel.org>,
Liam Girdwood <lgirdwood@gmail.com>,
Kamil Debski <k.debski@samsung.com>,
lm-sensors@lm-sensors.org, Jean Delvare <jdelvare@suse.com>,
Guenter Roeck <linux@roeck-us.net>,
Dmitry Torokhov <dmitry.torokhov@gmail.com>,
linux-input@vger.kernel.org, Bryan Wu <cooloney@gmail.com>,
Richard Purdie <rpurdie@rpsys.net>,
Jacek Anaszewski <j.anaszewski@samsung.com>,
linux-leds@vger.kernel.org,
Maxime Ripard <maxime.ripard@free-electrons.com>,
Chen-Yu Tsai <wens@csie.org>,
linux-sunxi@googlegroups.com,
Joachim Eastwood <manabian@gmail.com>,
Thomas Petazzoni <thomas.petazzoni@free-electrons.com>,
Heiko Stuebner <heiko@sntech.de>,
linux-rockchip@lists.infradead.org,
Jingoo Han <jingoohan1@gmail.com>,
Lee Jones <lee.jones@linaro.org>,
linux-fbdev@vger.kernel.org,
Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>,
Tomi Valkeinen <tomi.valkeinen@ti.com>,
Robert Jarzmik <robert.jarzmik@free.fr>,
Alexandre Belloni <alexandre.belloni@free-electrons.com>,
Kukjin Kim <kgene@kernel.org>,
Krzysztof Kozlowski <k.kozlowski@samsung.com>,
linux-samsung-soc@vger.kernel.org,
intel-gfx@lists.freedesktop.org,
Daniel Vetter <daniel.vetter@intel.com>,
Jani Nikula <jani.nikula@linux.intel.com>,
Jonathan Corbet <corbet@lwn.net>,
linux-doc@vger.kernel.org, David Airlie <airlied@linux.ie>,
Daniel Vetter <daniel@ffwll.ch>,
dri-devel@lists.freedesktop.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org,
Hartley Sweeten <hsweeten@visionengravers.com>,
Ryan Mallon <rmallon@gmail.com>,
Alexander Shiyan <shc_work@mail.ru>, Milo Kim <milo.kim@ti.com>,
Boris Brezillon <boris.brezillon@free-electrons.com>
Subject: [PATCH v5 00/46] pwm: add support for atomic update
Date: Wed, 30 Mar 2016 22:03:23 +0200 [thread overview]
Message-ID: <1459368249-13241-1-git-send-email-boris.brezillon@free-electrons.com> (raw)
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.
It also adds support for initial PWM state retrieval (or hardware readout),
which should allow smooth handover between the bootloader and Linux. For
example, critical PWM users (like critical regulators controlled by a PWM)
can query the current PWM state, and adapt the PWM config without having
to disable/enable the PWM, or abruptly change the period/dutycyle/polarity
config.
Thierry, I hope this version meets your expectations, if that's not the
case, could you let me know quickly so I can adjust the implementation
accordingly (I'd really like to get most of those changes in 4.7).
Best Regards,
Boris
Changes since v4:
- introduce pwm_args to expose per-board/platform config
- deprecate non-atomic APIs
- implement non-atomic functions as wrappers around atomic ones
- patch all PWM users to use the atomic API
- rename the ->reset_state() hook into ->get_state()
- drop most acks
- rework PWM config in the pwm-regulator driver
- patch sun4i and sti PWM drivers to support HW readout
Changes since v3:
- rebased on pwm/for-next after pulling 4.4-rc1
- replace direct access to pwm fields by pwm_get/set_xxx() helpers, thus
fixing some build errors
- split changes to allow each maintainer to review/ack or take the
modification through its subsystem
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)
*** BLURB HERE ***
Boris Brezillon (45):
pwm: rcar: make use of pwm_is_enabled()
backlight: pwm_bl: remove useless call to pwm_set_period()
backlight: lm3630a_bl: stop messing with the pwm->period field
pwm: get rid of pwm->lock
pwm: introduce the pwm_args concept
pwm: use pwm_get/set_xxx() helpers where appropriate
clk: pwm: use pwm_get_args() where appropriate
hwmon: pwm-fan: use pwm_get_args() where appropriate
misc: max77693-haptic: use pwm_get_args() where appropriate
leds: pwm: use pwm_get_args() where appropriate
regulator: pwm: use pwm_get_args() where appropriate
fbdev: ssd1307fb: use pwm_get_args() where appropriate
backlight: pwm_bl: use pwm_get_args() where appropriate
pwm: keep PWM state in sync with hardware state
pwm: introduce the pwm_state concept
pwm: move the enabled/disabled info into pwm_state
pwm: add the PWM initial state retrieval infra
pwm: add the core infrastructure to allow atomic update
pwm: switch to the atomic API
pwm: rockchip: add initial state retrieval
pwm: rockchip: avoid glitches on already running PWMs
pwm: rockchip: add support for atomic update
pwm: sti: add support for initial state retrieval
pwm: sti: avoid glitches on already running PWMs
pwm: sun4i: implement hardware readout
regulator: pwm: adjust PWM config at probe time
regulator: pwm: swith to the atomic PWM API
regulator: pwm: properly initialize the ->state field
regulator: pwm: retrieve correct voltage
pwm: update documentation
pwm: deprecate pwm_config(), pwm_enable() and pwm_disable()
pwm: replace pwm_disable() by pwm_apply_state()
clk: pwm: switch to the atomic API
hwmon: pwm-fan: switch to the atomic API
input: misc: max77693: switch to the atomic API
input: misc: max8997: switch to the atomic PWM API
input: misc: pwm-beeper: switch to the atomic PWM API
leds: pwm: switch to the atomic PWM API
backlight: lm3630a: switch to the atomic PWM API
backlight: lp855x: switch to the atomic PWM API
backlight: lp8788: switch to the atomic PWM API
backlight: pwm_bl: switch to the atomic PWM API
video: ssd1307fb: switch to the atomic PWM API
drm: i915: switch to the atomic PWM API
ARM: s3c24xx: rx1950: switch to the atomic PWM API
Heiko Stübner (1):
pwm: add information about polarity, duty cycle and period to debugfs
Documentation/pwm.txt | 27 +++-
arch/arm/mach-s3c24xx/mach-rx1950.c | 17 +-
drivers/clk/clk-pwm.c | 36 ++++-
drivers/gpu/drm/i915/intel_panel.c | 39 +++--
drivers/hwmon/pwm-fan.c | 88 ++++++----
drivers/input/misc/max77693-haptic.c | 28 +++-
drivers/input/misc/max8997_haptic.c | 23 ++-
drivers/input/misc/pwm-beeper.c | 46 ++++--
drivers/leds/leds-pwm.c | 15 +-
drivers/pwm/core.c | 186 ++++++++++-----------
drivers/pwm/pwm-clps711x.c | 2 +-
drivers/pwm/pwm-crc.c | 2 +-
drivers/pwm/pwm-lpc18xx-sct.c | 9 +-
drivers/pwm/pwm-lpc32xx.c | 9 +-
drivers/pwm/pwm-omap-dmtimer.c | 2 +-
drivers/pwm/pwm-pxa.c | 2 +-
drivers/pwm/pwm-rcar.c | 2 +-
drivers/pwm/pwm-rockchip.c | 156 +++++++++++++++---
drivers/pwm/pwm-spear.c | 9 +-
drivers/pwm/pwm-sti.c | 67 +++++++-
drivers/pwm/pwm-sun4i.c | 73 ++++++---
drivers/pwm/sysfs.c | 98 ++++++++---
drivers/regulator/pwm-regulator.c | 151 ++++++++++++++---
drivers/video/backlight/lm3630a_bl.c | 15 +-
drivers/video/backlight/lp855x_bl.c | 15 +-
drivers/video/backlight/lp8788_bl.c | 17 +-
drivers/video/backlight/pwm_bl.c | 51 +++---
drivers/video/fbdev/ssd1307fb.c | 28 +++-
include/linux/pwm.h | 303 ++++++++++++++++++++++++++---------
29 files changed, 1096 insertions(+), 420 deletions(-)
--
2.5.0
next reply other threads:[~2016-03-30 20:04 UTC|newest]
Thread overview: 105+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-30 20:03 Boris Brezillon [this message]
2016-03-30 20:03 ` [PATCH v5 01/46] pwm: rcar: make use of pwm_is_enabled() Boris Brezillon
2016-04-12 11:01 ` Thierry Reding
2016-04-14 11:05 ` Boris Brezillon
2016-03-30 20:03 ` [PATCH v5 02/46] backlight: pwm_bl: remove useless call to pwm_set_period() Boris Brezillon
2016-04-12 11:03 ` Thierry Reding
2016-04-12 14:16 ` Lee Jones
2016-04-12 14:25 ` Thierry Reding
2016-03-30 20:03 ` [PATCH v5 03/46] backlight: lm3630a_bl: stop messing with the pwm->period field Boris Brezillon
2016-04-12 11:08 ` Thierry Reding
2016-04-12 14:16 ` Lee Jones
2016-04-12 14:26 ` Thierry Reding
2016-04-13 8:25 ` Lee Jones
2016-04-13 8:26 ` Lee Jones
2016-03-30 20:03 ` [PATCH v5 04/46] pwm: get rid of pwm->lock Boris Brezillon
2016-04-12 11:22 ` Thierry Reding
2016-04-12 11:32 ` Boris Brezillon
2016-04-12 11:46 ` Thierry Reding
2016-03-30 20:03 ` [PATCH v5 05/46] pwm: introduce the pwm_args concept Boris Brezillon
2016-03-30 21:55 ` Stephen Boyd
2016-03-31 7:09 ` Boris Brezillon
2016-03-31 7:57 ` Boris Brezillon
2016-04-12 11:39 ` Thierry Reding
2016-04-12 12:04 ` Boris Brezillon
2016-04-12 12:20 ` Thierry Reding
2016-04-12 12:55 ` Boris Brezillon
2016-04-12 13:06 ` Boris Brezillon
2016-04-12 13:15 ` Thierry Reding
2016-03-30 20:03 ` [PATCH v5 06/46] pwm: use pwm_get/set_xxx() helpers where appropriate Boris Brezillon
2016-03-30 20:03 ` [PATCH v5 07/46] clk: pwm: use pwm_get_args() " Boris Brezillon
2016-03-30 21:58 ` Stephen Boyd
2016-03-30 20:03 ` [PATCH v5 08/46] hwmon: pwm-fan: " Boris Brezillon
2016-03-30 22:52 ` Guenter Roeck
2016-03-31 7:07 ` Boris Brezillon
2016-04-04 15:20 ` Thierry Reding
2016-04-01 8:29 ` Kamil Debski
2016-03-30 20:03 ` [PATCH v5 09/46] misc: max77693-haptic: " Boris Brezillon
2016-03-30 20:03 ` [PATCH v5 10/46] leds: pwm: " Boris Brezillon
2016-03-31 7:13 ` Jacek Anaszewski
2016-03-30 20:03 ` [PATCH v5 11/46] regulator: " Boris Brezillon
2016-03-30 20:03 ` [PATCH v5 12/46] fbdev: ssd1307fb: " Boris Brezillon
2016-03-30 20:03 ` [PATCH v5 13/46] backlight: pwm_bl: " Boris Brezillon
2016-03-30 20:03 ` [PATCH v5 14/46] pwm: keep PWM state in sync with hardware state Boris Brezillon
2016-03-30 20:03 ` [PATCH v5 15/46] pwm: introduce the pwm_state concept Boris Brezillon
2016-04-12 11:49 ` Thierry Reding
2016-04-12 12:17 ` Boris Brezillon
2016-04-12 12:21 ` Thierry Reding
2016-04-12 12:45 ` Boris Brezillon
2016-04-12 13:11 ` Thierry Reding
2016-04-12 13:26 ` Boris Brezillon
2016-04-12 14:05 ` Thierry Reding
2016-04-12 14:13 ` Boris Brezillon
2016-03-30 20:03 ` [PATCH v5 16/46] pwm: move the enabled/disabled info into pwm_state Boris Brezillon
2016-04-12 11:51 ` Thierry Reding
2016-03-30 20:03 ` [PATCH v5 17/46] pwm: add the PWM initial state retrieval infra Boris Brezillon
2016-03-30 20:03 ` [PATCH v5 18/46] pwm: add the core infrastructure to allow atomic update Boris Brezillon
2016-03-30 20:03 ` [PATCH v5 19/46] pwm: switch to the atomic API Boris Brezillon
2016-03-30 20:03 ` [PATCH v5 20/46] pwm: add information about polarity, duty cycle and period to debugfs Boris Brezillon
2016-03-30 20:03 ` [PATCH v5 21/46] pwm: rockchip: add initial state retrieval Boris Brezillon
2016-03-30 20:03 ` [PATCH v5 22/46] pwm: rockchip: avoid glitches on already running PWMs Boris Brezillon
2016-03-30 20:03 ` [PATCH v5 23/46] pwm: rockchip: add support for atomic update Boris Brezillon
2016-03-30 20:03 ` [PATCH v5 24/46] pwm: sti: add support for initial state retrieval Boris Brezillon
2016-03-30 20:03 ` [PATCH v5 25/46] pwm: sti: avoid glitches on already running PWMs Boris Brezillon
2016-03-30 20:03 ` [PATCH v5 26/46] pwm: sun4i: implement hardware readout Boris Brezillon
2016-03-31 8:00 ` Alexandre Belloni
2016-03-30 20:03 ` [PATCH v5 27/46] regulator: pwm: adjust PWM config at probe time Boris Brezillon
2016-03-30 21:22 ` Mark Brown
2016-03-30 20:03 ` [PATCH v5 28/46] regulator: pwm: swith to the atomic PWM API Boris Brezillon
2016-03-30 21:23 ` Mark Brown
2016-03-30 20:03 ` [PATCH v5 29/46] regulator: pwm: properly initialize the ->state field Boris Brezillon
2016-03-30 20:03 ` [PATCH v5 30/46] regulator: pwm: retrieve correct voltage Boris Brezillon
2016-03-30 21:24 ` Mark Brown
2016-04-07 21:54 ` Boris Brezillon
2016-04-12 4:42 ` Mark Brown
2016-04-12 8:37 ` Boris Brezillon
2016-04-12 10:09 ` Mark Brown
2016-04-12 10:31 ` Boris Brezillon
2016-03-30 20:03 ` [PATCH v5 31/46] pwm: update documentation Boris Brezillon
2016-03-30 20:03 ` [PATCH v5 32/46] pwm: deprecate pwm_config(), pwm_enable() and pwm_disable() Boris Brezillon
2016-03-31 17:38 ` Dmitry Torokhov
2016-03-31 18:54 ` Boris Brezillon
2016-04-04 15:22 ` Thierry Reding
2016-03-30 20:03 ` [PATCH v5 33/46] pwm: replace pwm_disable() by pwm_apply_state() Boris Brezillon
2016-03-30 20:03 ` [PATCH v5 34/46] clk: pwm: switch to the atomic API Boris Brezillon
2016-03-30 22:01 ` Stephen Boyd
2016-03-31 6:57 ` Boris Brezillon
2016-04-04 15:30 ` Thierry Reding
2016-03-30 20:03 ` [PATCH v5 35/46] hwmon: pwm-fan: " Boris Brezillon
2016-04-01 8:29 ` Kamil Debski
2016-03-30 20:03 ` [PATCH v5 36/46] input: misc: max77693: " Boris Brezillon
2016-03-31 17:48 ` Dmitry Torokhov
2016-03-31 18:57 ` Boris Brezillon
2016-04-04 15:34 ` Thierry Reding
2016-03-30 20:04 ` [PATCH v5 37/46] input: misc: max8997: switch to the atomic PWM API Boris Brezillon
2016-03-30 20:04 ` [PATCH v5 38/46] input: misc: pwm-beeper: " Boris Brezillon
2016-03-30 20:04 ` [PATCH v5 39/46] leds: pwm: " Boris Brezillon
2016-03-30 20:04 ` [PATCH v5 40/46] backlight: lm3630a: " Boris Brezillon
2016-03-30 20:04 ` [PATCH v5 41/46] backlight: lp855x: " Boris Brezillon
2016-03-30 20:04 ` [PATCH v5 42/46] backlight: lp8788: " Boris Brezillon
2016-03-30 20:04 ` [PATCH v5 43/46] backlight: pwm_bl: " Boris Brezillon
2016-03-30 20:04 ` [PATCH v5 44/46] video: ssd1307fb: " Boris Brezillon
2016-03-30 20:04 ` [PATCH v5 45/46] drm: i915: " Boris Brezillon
2016-03-30 20:04 ` [PATCH v5 46/46] ARM: s3c24xx: rx1950: " Boris Brezillon
2016-03-30 20:18 ` [PATCH v5 00/46] pwm: add support for atomic update Boris Brezillon
2016-04-11 22:42 ` Boris Brezillon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1459368249-13241-1-git-send-email-boris.brezillon@free-electrons.com \
--to=boris.brezillon@free-electrons.com \
--cc=airlied@linux.ie \
--cc=alexandre.belloni@free-electrons.com \
--cc=broonie@kernel.org \
--cc=cooloney@gmail.com \
--cc=corbet@lwn.net \
--cc=daniel.vetter@intel.com \
--cc=daniel@ffwll.ch \
--cc=dmitry.torokhov@gmail.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=heiko@sntech.de \
--cc=hsweeten@visionengravers.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=j.anaszewski@samsung.com \
--cc=jani.nikula@linux.intel.com \
--cc=jdelvare@suse.com \
--cc=jingoohan1@gmail.com \
--cc=k.debski@samsung.com \
--cc=k.kozlowski@samsung.com \
--cc=kgene@kernel.org \
--cc=lee.jones@linaro.org \
--cc=lgirdwood@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-fbdev@vger.kernel.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-leds@vger.kernel.org \
--cc=linux-pwm@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=linux-sunxi@googlegroups.com \
--cc=linux@roeck-us.net \
--cc=lm-sensors@lm-sensors.org \
--cc=manabian@gmail.com \
--cc=maxime.ripard@free-electrons.com \
--cc=milo.kim@ti.com \
--cc=mturquette@baylibre.com \
--cc=plagnioj@jcrosoft.com \
--cc=rmallon@gmail.com \
--cc=robert.jarzmik@free.fr \
--cc=rpurdie@rpsys.net \
--cc=sboyd@codeaurora.org \
--cc=shc_work@mail.ru \
--cc=thierry.reding@gmail.com \
--cc=thomas.petazzoni@free-electrons.com \
--cc=tomi.valkeinen@ti.com \
--cc=wens@csie.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).