linux/drivers/pwm
Uwe Kleine-König 384461abca pwm: Manage owner assignment implicitly for drivers
Instead of requiring each driver to care for assigning the owner member
of struct pwm_ops, handle that implicitly using a macro. Note that the
owner member has to be moved to struct pwm_chip, as the ops structure
usually lives in read-only memory and so cannot be modified.

The upside is that new low level drivers cannot forget the assignment and
save one line each. The pwm-crc driver didn't assign .owner, that's not
a problem in practice though as the driver cannot be compiled as a
module.

Acked-by: Andy Shevchenko <andy.shevchenko@gmail.com> # Intel LPSS
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com> # pwm-{bcm,brcm}*.c
Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com> # sun4i
Acked-by: Andi Shyti <andi.shyti@kernel.org>
Acked-by: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp> # pwm-visconti
Acked-by: Heiko Stuebner <heiko@sntech.de> # pwm-rockchip
Acked-by: Michael Walle <michael@walle.cc> # pwm-sl28cpld
Acked-by: Neil Armstrong <neil.armstrong@linaro.org> # pwm-meson
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20230804142707.412137-2-u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
2023-10-13 10:07:17 +02:00
..
core.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
Kconfig pwm: microchip-core: Convert SOC_MICROCHIP_POLARFIRE to ARCH_MICROCHIP_POLARFIRE 2023-10-06 11:04:25 +02:00
Makefile pwm: Add Renesas RZ/G2L MTU3a PWM driver 2023-06-23 15:46:29 +02:00
pwm-ab8500.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-apple.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-atmel-hlcdc.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-atmel-tcb.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-atmel.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-bcm2835.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-bcm-iproc.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-bcm-kona.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-berlin.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-brcmstb.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-clk.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-clps711x.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-crc.c pwm: crc: Consistently name pwm_chip variables "chip" 2023-07-21 20:23:31 +02:00
pwm-cros-ec.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-dwc.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-ep93xx.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-fsl-ftm.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-hibvt.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-img.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-imx1.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-imx27.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-imx-tpm.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-intel-lgm.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-iqs620a.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-jz4740.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-keembay.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-lp3943.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-lpc18xx-sct.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-lpc32xx.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-lpss-pci.c pwm: lpss: Rename pwm_lpss_probe() --> devm_pwm_lpss_probe() 2022-11-22 16:36:27 +02:00
pwm-lpss-platform.c pwm: lpss-platform: Convert to platform remove callback returning void 2023-03-30 16:26:32 +02:00
pwm-lpss.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-lpss.h pwm: lpss: Allow other drivers to enable PWM LPSS 2022-11-22 16:36:27 +02:00
pwm-mediatek.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-meson.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-microchip-core.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-mtk-disp.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-mxs.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-ntxec.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-omap-dmtimer.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-pca9685.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-pxa.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-raspberrypi-poe.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-rcar.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-renesas-tpu.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-rockchip.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-rz-mtu3.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-samsung.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-sifive.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-sl28cpld.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-spear.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-sprd.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-sti.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-stm32-lp.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-stm32.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-stmpe.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-sun4i.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-sunplus.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-tegra.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-tiecap.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-tiehrpwm.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-twl-led.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-twl.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-visconti.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-vt8500.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
pwm-xilinx.c pwm: Manage owner assignment implicitly for drivers 2023-10-13 10:07:17 +02:00
sysfs.c pwm: sysfs: Do not apply state to already disabled PWMs 2023-06-23 15:42:58 +02:00