[GIT PULL] pwm: Changes for v6.8-rc1

From: Thierry Reding
Date: Fri Jan 12 2024 - 10:59:23 EST


Hi Linus,

The following changes since commit 4e7a8dbd2bc0aec4605a5069df7a779bd9e64db1:

pwm: bcm2835: Fix NPD in suspend/resume (2023-11-21 11:09:32 +0100)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm.git tags/pwm/for-6.8-rc1

for you to fetch changes up to 7afc0e7f681e6efd6b826f003fc14c17b5093643:

MAINTAINERS: pwm: Thierry steps down, Uwe takes over (2024-01-12 16:40:34 +0100)

Thanks,
Thierry

----------------------------------------------------------------
pwm: Changes for v6.8-rc1

This contains a bunch of cleanups and simplifications across the board,
as well as a number of small fixes.

Perhaps the most notable change here is the addition of an API that
allows PWMs to be used in atomic contexts, which is useful when time-
critical operations are involved, such as using a PWM to generate IR
signals.

Finally, I have decided to step down as PWM subsystem maintainer. Due to
other responsibilities I have lately not been able to find the time that
the subsystem deserves and Uwe, who has been helping out a lot for the
past few years and has many things planned for the future, has kindly
volunteered to take over. I have no doubt that he will be a suitable
replacement.

----------------------------------------------------------------
Michael Walle (1):
dt-bindings: pwm: remove Xinlei's mail

Philipp Zabel (5):
pwm: stm32: Replace write_ccrx with regmap_write
pwm: stm32: Make ch parameter unsigned
pwm: stm32: Use hweight32 in stm32_pwm_detect_channels
pwm: stm32: Implement .get_state()
pwm: stm32: Fix enable count for clk in .probe()

Randy Dunlap (1):
pwm: linux/pwm.h: fix Excess kernel-doc description warning

Rob Herring (1):
pwm: Use device_get_match_data()

Sean Young (6):
pwm: Rename pwm_apply_state() to pwm_apply_might_sleep()
pwm: Replace ENOTSUPP with EOPNOTSUPP
pwm: renesas: Remove unused include
pwm: Make it possible to apply PWM changes in atomic context
pwm: bcm2835: Allow PWM driver to be used in atomic context
media: pwm-ir-tx: Trigger edges from hrtimer interrupt context

Thierry Reding (2):
pwm: Stop referencing pwm->chip
pwm: Add pwm_apply_state() compatibility stub

Tony Lindgren (1):
dt-bindings: pwm: ti,pwm-omap-dmtimer: Update binding for yaml

Uwe Kleine-König (27):
pwm: Drop unused member "pwm" from struct pwm_device
pwm: Replace PWM chip unique base by unique ID
pwm: Mention PWM chip ID in /sys/kernel/debug/pwm
pwm: cros-ec: Drop unused member from driver private data
pwm: atmel-hlcdc: Use DEFINE_SIMPLE_DEV_PM_OPS for PM functions
pwm: atmel-tcb: Use DEFINE_SIMPLE_DEV_PM_OPS for PM functions
pwm: berlin: Use DEFINE_SIMPLE_DEV_PM_OPS for PM functions
pwm: brcmstb: Use DEFINE_SIMPLE_DEV_PM_OPS for PM functions
pwm: dwc: Use DEFINE_SIMPLE_DEV_PM_OPS for PM functions
pwm: imx-tpm: Use DEFINE_SIMPLE_DEV_PM_OPS for PM functions
pwm: samsung: Use DEFINE_SIMPLE_DEV_PM_OPS for PM functions
pwm: stm32-lp: Use DEFINE_SIMPLE_DEV_PM_OPS for PM functions
pwm: stm32: Use DEFINE_SIMPLE_DEV_PM_OPS for PM functions
pwm: tiecap: Use DEFINE_SIMPLE_DEV_PM_OPS for PM functions
pwm: tiehrpwm: Use DEFINE_SIMPLE_DEV_PM_OPS for PM functions
pwm: jz4740: Add trailing \n to error messages
pwm: Narrow scope of struct pwm_device pointer
pwm: Update kernel doc for struct pwm_chip
pwm: omap-dmtimer: Drop locking
pwm: crc: Use consistent variable naming for driver data
pwm: Reduce number of pointer dereferences in pwm_device_request()
pwm: stmpe: Silence duplicate error messages
pwm: meson: Simplify using dev_err_probe()
pwm: lpc18xx-sct: Don't modify the cached period of other PWM outputs
pwm: Drop two unused API functions
pwm: cros-ec: Drop documentation for dropped struct member
MAINTAINERS: pwm: Thierry steps down, Uwe takes over

.../devicetree/bindings/pwm/mediatek,pwm-disp.yaml | 1 -
.../devicetree/bindings/pwm/pwm-omap-dmtimer.txt | 22 ---
.../bindings/pwm/ti,omap-dmtimer-pwm.yaml | 59 ++++++++
Documentation/driver-api/pwm.rst | 17 ++-
MAINTAINERS | 7 +-
drivers/gpu/drm/i915/display/intel_backlight.c | 6 +-
drivers/gpu/drm/solomon/ssd130x.c | 2 +-
drivers/hwmon/pwm-fan.c | 8 +-
drivers/input/misc/da7280.c | 4 +-
drivers/input/misc/pwm-beeper.c | 4 +-
drivers/input/misc/pwm-vibra.c | 8 +-
drivers/leds/leds-pwm.c | 2 +-
drivers/leds/rgb/leds-pwm-multicolor.c | 4 +-
drivers/media/rc/pwm-ir-tx.c | 87 ++++++++++-
drivers/platform/x86/lenovo-yogabook.c | 2 +-
drivers/pwm/core.c | 164 ++++++++++++---------
drivers/pwm/pwm-atmel-hlcdc.c | 8 +-
drivers/pwm/pwm-atmel-tcb.c | 8 +-
drivers/pwm/pwm-bcm-kona.c | 2 +-
drivers/pwm/pwm-bcm2835.c | 38 +++--
drivers/pwm/pwm-berlin.c | 8 +-
drivers/pwm/pwm-brcmstb.c | 8 +-
drivers/pwm/pwm-crc.c | 16 +-
drivers/pwm/pwm-cros-ec.c | 2 -
drivers/pwm/pwm-dwc.c | 6 +-
drivers/pwm/pwm-img.c | 10 +-
drivers/pwm/pwm-imx-tpm.c | 10 +-
drivers/pwm/pwm-jz4740.c | 6 +-
drivers/pwm/pwm-lpc18xx-sct.c | 6 +-
drivers/pwm/pwm-lpc32xx.c | 2 +-
drivers/pwm/pwm-mediatek.c | 2 +-
drivers/pwm/pwm-meson.c | 35 ++---
drivers/pwm/pwm-omap-dmtimer.c | 20 +--
drivers/pwm/pwm-renesas-tpu.c | 3 +-
drivers/pwm/pwm-rockchip.c | 9 +-
drivers/pwm/pwm-samsung.c | 6 +-
drivers/pwm/pwm-sti.c | 2 +-
drivers/pwm/pwm-stm32-lp.c | 10 +-
drivers/pwm/pwm-stm32.c | 106 +++++++------
drivers/pwm/pwm-stmpe.c | 14 +-
drivers/pwm/pwm-tegra.c | 2 +-
drivers/pwm/pwm-tiecap.c | 6 +-
drivers/pwm/pwm-tiehrpwm.c | 8 +-
drivers/pwm/pwm-twl-led.c | 6 +-
drivers/pwm/pwm-twl.c | 4 +-
drivers/pwm/pwm-vt8500.c | 4 +-
drivers/pwm/sysfs.c | 12 +-
drivers/regulator/pwm-regulator.c | 4 +-
drivers/video/backlight/lm3630a_bl.c | 2 +-
drivers/video/backlight/lp855x_bl.c | 2 +-
drivers/video/backlight/pwm_bl.c | 12 +-
drivers/video/fbdev/ssd1307fb.c | 2 +-
include/linux/pwm.h | 84 ++++++-----
53 files changed, 517 insertions(+), 365 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/pwm/pwm-omap-dmtimer.txt
create mode 100644 Documentation/devicetree/bindings/pwm/ti,omap-dmtimer-pwm.yaml