Re: [PATCH v2 1/2] pwm: Manage owner assignment implicitly for drivers
On 04/08/2023 16:27, Uwe Kleine-König wrote: 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 lowlevel drivers cannot forget the assignment and save one line each. The pwm-crc driver didn't assign .owner, that's not a problem in practise though as the driver cannot be compiled as a module. Signed-off-by: Uwe Kleine-König --- drivers/gpio/gpio-mvebu.c | 1 - drivers/gpu/drm/bridge/ti-sn65dsi86.c | 1 - drivers/leds/rgb/leds-qcom-lpg.c | 1 - drivers/pwm/core.c| 24 ++-- drivers/pwm/pwm-ab8500.c | 1 - drivers/pwm/pwm-apple.c | 1 - drivers/pwm/pwm-atmel-hlcdc.c | 1 - drivers/pwm/pwm-atmel-tcb.c | 1 - drivers/pwm/pwm-atmel.c | 1 - drivers/pwm/pwm-bcm-iproc.c | 1 - drivers/pwm/pwm-bcm-kona.c| 1 - drivers/pwm/pwm-bcm2835.c | 1 - drivers/pwm/pwm-berlin.c | 1 - drivers/pwm/pwm-brcmstb.c | 1 - drivers/pwm/pwm-clk.c | 1 - drivers/pwm/pwm-clps711x.c| 1 - drivers/pwm/pwm-cros-ec.c | 1 - drivers/pwm/pwm-dwc.c | 1 - drivers/pwm/pwm-ep93xx.c | 1 - drivers/pwm/pwm-fsl-ftm.c | 1 - drivers/pwm/pwm-hibvt.c | 1 - drivers/pwm/pwm-img.c | 1 - drivers/pwm/pwm-imx-tpm.c | 1 - drivers/pwm/pwm-imx1.c| 1 - drivers/pwm/pwm-imx27.c | 1 - drivers/pwm/pwm-intel-lgm.c | 1 - drivers/pwm/pwm-iqs620a.c | 1 - drivers/pwm/pwm-jz4740.c | 1 - drivers/pwm/pwm-keembay.c | 1 - drivers/pwm/pwm-lp3943.c | 1 - drivers/pwm/pwm-lpc18xx-sct.c | 1 - drivers/pwm/pwm-lpc32xx.c | 1 - drivers/pwm/pwm-lpss.c| 1 - drivers/pwm/pwm-mediatek.c| 1 - drivers/pwm/pwm-meson.c | 1 - Acked-by: Neil Armstrong # pwm-meson drivers/pwm/pwm-microchip-core.c | 1 - drivers/pwm/pwm-mtk-disp.c| 1 - drivers/pwm/pwm-mxs.c | 1 - drivers/pwm/pwm-ntxec.c | 1 - drivers/pwm/pwm-omap-dmtimer.c| 1 - drivers/pwm/pwm-pca9685.c | 1 - drivers/pwm/pwm-pxa.c | 1 - drivers/pwm/pwm-raspberrypi-poe.c | 1 - drivers/pwm/pwm-rcar.c| 1 - drivers/pwm/pwm-renesas-tpu.c | 1 - drivers/pwm/pwm-rockchip.c| 1 - drivers/pwm/pwm-rz-mtu3.c | 1 - drivers/pwm/pwm-samsung.c | 1 - drivers/pwm/pwm-sifive.c | 1 - drivers/pwm/pwm-sl28cpld.c| 1 - drivers/pwm/pwm-spear.c | 1 - drivers/pwm/pwm-sprd.c| 1 - drivers/pwm/pwm-sti.c | 1 - drivers/pwm/pwm-stm32-lp.c| 1 - drivers/pwm/pwm-stm32.c | 1 - drivers/pwm/pwm-stmpe.c | 1 - drivers/pwm/pwm-sun4i.c | 1 - drivers/pwm/pwm-sunplus.c | 1 - drivers/pwm/pwm-tegra.c | 1 - drivers/pwm/pwm-tiecap.c | 1 - drivers/pwm/pwm-tiehrpwm.c| 1 - drivers/pwm/pwm-twl-led.c | 2 -- drivers/pwm/pwm-twl.c | 2 -- drivers/pwm/pwm-visconti.c| 1 - drivers/pwm/pwm-vt8500.c | 1 - drivers/pwm/pwm-xilinx.c | 1 - drivers/staging/greybus/pwm.c | 1 - include/linux/pwm.h | 10 ++ 68 files changed, 20 insertions(+), 82 deletions(-) diff --git a/drivers/pwm/pwm-meson.c b/drivers/pwm/pwm-meson.c index 25519cddc2a9..5bea53243ed2 100644 --- a/drivers/pwm/pwm-meson.c +++ b/drivers/pwm/pwm-meson.c @@ -335,7 +335,6 @@ static const struct pwm_ops meson_pwm_ops = { .free = meson_pwm_free, .apply = meson_pwm_apply, .get_state = meson_pwm_get_state, - .owner = THIS_MODULE, }; static const char * const pwm_meson8b_parent_names[] = {
Re: [PATCH v2 1/2] pwm: Manage owner assignment implicitly for drivers
Hi, 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 lowlevel drivers cannot forget the assignment and save one line each. The pwm-crc driver didn't assign .owner, that's not a problem in practise though as the driver cannot be compiled as a module. Signed-off-by: Uwe Kleine-König ... drivers/pwm/pwm-sl28cpld.c| 1 - Acked-by: Michael Walle
Re: [PATCH v2 1/2] pwm: Manage owner assignment implicitly for drivers
Am Freitag, 4. August 2023, 16:27:06 CEST schrieb Uwe Kleine-König: > 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 lowlevel drivers cannot forget the assignment and > save one line each. The pwm-crc driver didn't assign .owner, that's not > a problem in practise though as the driver cannot be compiled as a > module. > > Signed-off-by: Uwe Kleine-König > --- > drivers/pwm/pwm-rockchip.c| 1 - Acked-by: Heiko Stuebner #pwm-rockchip
RE: [PATCH v2 1/2] pwm: Manage owner assignment implicitly for drivers
Hi Uwe, > -Original Message- > From: Uwe Kleine-König > Sent: Friday, August 4, 2023 11:27 PM > To: Thierry Reding ; Laurent Pinchart > > Cc: Linus Walleij ; Bartosz Golaszewski > ; Andy Shevchenko ; Douglas Anderson > ; Andrzej Hajda ; Neil > Armstrong ; Robert Foss ; > Jonas Karlman ; Jernej Skrabec > ; David Airlie ; Daniel Vetter > ; Pavel Machek ; Lee Jones > ; Hector Martin ; Sven Peter > ; Alyssa Rosenzweig ; Nicolas > Ferre ; Alexandre Belloni > ; Claudiu Beznea > ; Ray Jui ; Scott > Branden ; Broadcom internal kernel review list > ; Florian Fainelli > ; Alexander Shiyan ; > Benson Leung ; Guenter Roeck > ; Shawn Guo ; Sascha > Hauer ; Pengutronix Kernel Team > ; Fabio Estevam ; NXP > Linux Team ; Paul Cercueil ; > Vladimir Zapolskiy ; Kevin Hilman ; > Jerome Brunet ; Martin Blumenstingl > ; Conor Dooley > ; Daire McNamara > ; Matthias Brugger > ; AngeloGioacchino Del Regno > ; Jonathan Neuschäfer > ; Heiko Stuebner ; Krzysztof > Kozlowski ; Alim Akhtar > ; Palmer Dabbelt ; Paul > Walmsley ; Michael Walle ; > Orson Zhai ; Baolin Wang > ; Chunyan Zhang > ; Fabrice Gasnier ; > Maxime Coquelin ; Alexandre Torgue > ; Chen-Yu Tsai ; Samuel > Holland ; Hammer Hsieh > ; Jonathan Hunter ; > iwamatsu nobuhiro(岩松 信洋 ○DITC□DIT○OST) > ; Sean Anderson > ; Michal Simek ; > Johan Hovold ; Alex Elder ; Greg > Kroah-Hartman ; Anjelique Melendez > ; Dmitry Baryshkov > ; Luca Weiss ; Bjorn > Andersson ; linux-...@vger.kernel.org; > linux-g...@vger.kernel.org; dri-devel@lists.freedesktop.org; > linux-l...@vger.kernel.org; as...@lists.linux.dev; > linux-arm-ker...@lists.infradead.org; linux-rpi-ker...@lists.infradead.org; > chrome-platf...@lists.linux.dev; linux-m...@vger.kernel.org; > linux-amlo...@lists.infradead.org; linux-ri...@lists.infradead.org; > linux-media...@lists.infradead.org; linux-rockc...@lists.infradead.org; > linux-samsung-...@vger.kernel.org; > linux-st...@st-md-mailman.stormreply.com; linux-su...@lists.linux.dev; > linux-te...@vger.kernel.org; greybus-...@lists.linaro.org; > linux-stag...@lists.linux.dev > Subject: [PATCH v2 1/2] 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 lowlevel drivers cannot forget the assignment and save > one line each. The pwm-crc driver didn't assign .owner, that's not a problem > in > practise though as the driver cannot be compiled as a module. > > Signed-off-by: Uwe Kleine-König > --- > drivers/gpio/gpio-mvebu.c | 1 - > drivers/gpu/drm/bridge/ti-sn65dsi86.c | 1 - > drivers/leds/rgb/leds-qcom-lpg.c | 1 - > drivers/pwm/core.c| 24 > ++-- > drivers/pwm/pwm-ab8500.c | 1 - > drivers/pwm/pwm-apple.c | 1 - > drivers/pwm/pwm-atmel-hlcdc.c | 1 - > drivers/pwm/pwm-atmel-tcb.c | 1 - > drivers/pwm/pwm-atmel.c | 1 - > drivers/pwm/pwm-bcm-iproc.c | 1 - > drivers/pwm/pwm-bcm-kona.c| 1 - > drivers/pwm/pwm-bcm2835.c | 1 - > drivers/pwm/pwm-berlin.c | 1 - > drivers/pwm/pwm-brcmstb.c | 1 - > drivers/pwm/pwm-clk.c | 1 - > drivers/pwm/pwm-clps711x.c| 1 - > drivers/pwm/pwm-cros-ec.c | 1 - > drivers/pwm/pwm-dwc.c | 1 - > drivers/pwm/pwm-ep93xx.c | 1 - > drivers/pwm/pwm-fsl-ftm.c | 1 - > drivers/pwm/pwm-hibvt.c | 1 - > drivers/pwm/pwm-img.c | 1 - > drivers/pwm/pwm-imx-tpm.c | 1 - > drivers/pwm/pwm-imx1.c| 1 - > drivers/pwm/pwm-imx27.c | 1 - > drivers/pwm/pwm-intel-lgm.c | 1 - > drivers/pwm/pwm-iqs620a.c | 1 - > drivers/pwm/pwm-jz4740.c | 1 - > drivers/pwm/pwm-keembay.c | 1 - > drivers/pwm/pwm-lp3943.c | 1 - > drivers/pwm/pwm-lpc18xx-sct.c | 1 - > drivers/pwm/pwm-lpc32xx.c | 1 - > drivers/pwm/pwm-lpss.c| 1 - > drivers/pwm/pwm-mediatek.c| 1 - > drivers/pwm/pwm-meson.c | 1 - > drivers/pwm/pwm-microchip-core.c | 1 - > drivers/pwm/pwm-mtk-disp.c| 1 - > drivers/pwm/pwm-mxs.c | 1 - > drivers/pwm/pwm-ntxec.c | 1 - > drivers/pwm/pwm-omap-dmtimer.c| 1 - > drivers/pwm/pwm-pca9685.c | 1 - > drivers/pwm/pwm-pxa.c | 1 - > drivers/pwm/pwm-raspberrypi-poe.c | 1 - > drivers/pwm/pwm-rcar.c| 1 - > drivers/pwm/pwm-renesas-tpu.c | 1 - > drivers/pwm/pwm-rockchip.c| 1 - > drivers/pwm/pwm-rz-mtu3.c | 1 - >
Re: [PATCH v2 1/2] pwm: Manage owner assignment implicitly for drivers
Hi Uwe, On Fri, Aug 04, 2023 at 04:27:06PM +0200, Uwe Kleine-König wrote: > 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 lowlevel drivers cannot forget the assignment and > save one line each. The pwm-crc driver didn't assign .owner, that's not > a problem in practise though as the driver cannot be compiled as a /practise/practice/ > module. > > Signed-off-by: Uwe Kleine-König Acked-by: Andi Shyti Thanks, Andi
Re: [PATCH v2 1/2] pwm: Manage owner assignment implicitly for drivers
Dne petek, 04. avgust 2023 ob 16:27:06 CEST je Uwe Kleine-König napisal(a): > 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 lowlevel drivers cannot forget the assignment and > save one line each. The pwm-crc driver didn't assign .owner, that's not > a problem in practise though as the driver cannot be compiled as a > module. > > Signed-off-by: Uwe Kleine-König > --- > drivers/gpio/gpio-mvebu.c | 1 - > drivers/gpu/drm/bridge/ti-sn65dsi86.c | 1 - > drivers/leds/rgb/leds-qcom-lpg.c | 1 - > drivers/pwm/core.c| 24 ++-- > drivers/pwm/pwm-ab8500.c | 1 - > drivers/pwm/pwm-apple.c | 1 - > drivers/pwm/pwm-atmel-hlcdc.c | 1 - > drivers/pwm/pwm-atmel-tcb.c | 1 - > drivers/pwm/pwm-atmel.c | 1 - > drivers/pwm/pwm-bcm-iproc.c | 1 - > drivers/pwm/pwm-bcm-kona.c| 1 - > drivers/pwm/pwm-bcm2835.c | 1 - > drivers/pwm/pwm-berlin.c | 1 - > drivers/pwm/pwm-brcmstb.c | 1 - > drivers/pwm/pwm-clk.c | 1 - > drivers/pwm/pwm-clps711x.c| 1 - > drivers/pwm/pwm-cros-ec.c | 1 - > drivers/pwm/pwm-dwc.c | 1 - > drivers/pwm/pwm-ep93xx.c | 1 - > drivers/pwm/pwm-fsl-ftm.c | 1 - > drivers/pwm/pwm-hibvt.c | 1 - > drivers/pwm/pwm-img.c | 1 - > drivers/pwm/pwm-imx-tpm.c | 1 - > drivers/pwm/pwm-imx1.c| 1 - > drivers/pwm/pwm-imx27.c | 1 - > drivers/pwm/pwm-intel-lgm.c | 1 - > drivers/pwm/pwm-iqs620a.c | 1 - > drivers/pwm/pwm-jz4740.c | 1 - > drivers/pwm/pwm-keembay.c | 1 - > drivers/pwm/pwm-lp3943.c | 1 - > drivers/pwm/pwm-lpc18xx-sct.c | 1 - > drivers/pwm/pwm-lpc32xx.c | 1 - > drivers/pwm/pwm-lpss.c| 1 - > drivers/pwm/pwm-mediatek.c| 1 - > drivers/pwm/pwm-meson.c | 1 - > drivers/pwm/pwm-microchip-core.c | 1 - > drivers/pwm/pwm-mtk-disp.c| 1 - > drivers/pwm/pwm-mxs.c | 1 - > drivers/pwm/pwm-ntxec.c | 1 - > drivers/pwm/pwm-omap-dmtimer.c| 1 - > drivers/pwm/pwm-pca9685.c | 1 - > drivers/pwm/pwm-pxa.c | 1 - > drivers/pwm/pwm-raspberrypi-poe.c | 1 - > drivers/pwm/pwm-rcar.c| 1 - > drivers/pwm/pwm-renesas-tpu.c | 1 - > drivers/pwm/pwm-rockchip.c| 1 - > drivers/pwm/pwm-rz-mtu3.c | 1 - > drivers/pwm/pwm-samsung.c | 1 - > drivers/pwm/pwm-sifive.c | 1 - > drivers/pwm/pwm-sl28cpld.c| 1 - > drivers/pwm/pwm-spear.c | 1 - > drivers/pwm/pwm-sprd.c| 1 - > drivers/pwm/pwm-sti.c | 1 - > drivers/pwm/pwm-stm32-lp.c| 1 - > drivers/pwm/pwm-stm32.c | 1 - > drivers/pwm/pwm-stmpe.c | 1 - > drivers/pwm/pwm-sun4i.c | 1 - For sun4i: Acked-by: Jernej Skrabec Best regards, Jernej > drivers/pwm/pwm-sunplus.c | 1 - > drivers/pwm/pwm-tegra.c | 1 - > drivers/pwm/pwm-tiecap.c | 1 - > drivers/pwm/pwm-tiehrpwm.c| 1 - > drivers/pwm/pwm-twl-led.c | 2 -- > drivers/pwm/pwm-twl.c | 2 -- > drivers/pwm/pwm-visconti.c| 1 - > drivers/pwm/pwm-vt8500.c | 1 - > drivers/pwm/pwm-xilinx.c | 1 - > drivers/staging/greybus/pwm.c | 1 - > include/linux/pwm.h | 10 ++
Re: [PATCH v2 1/2] pwm: Manage owner assignment implicitly for drivers
On 8/4/23 07:27, Uwe Kleine-König wrote: 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 lowlevel drivers cannot forget the assignment and save one line each. The pwm-crc driver didn't assign .owner, that's not a problem in practise though as the driver cannot be compiled as a module. Signed-off-by: Uwe Kleine-König > --- drivers/pwm/pwm-bcm-iproc.c | 1 - drivers/pwm/pwm-bcm-kona.c| 1 - drivers/pwm/pwm-bcm2835.c | 1 - drivers/pwm/pwm-brcmstb.c | 1 - Reviewed-by: Florian Fainelli # pwm-{bcm,brcm}*.c -- Florian smime.p7s Description: S/MIME Cryptographic Signature
Re: [PATCH v2 1/2] pwm: Manage owner assignment implicitly for drivers
On Fri, Aug 4, 2023 at 5:28 PM Uwe Kleine-König wrote: > > 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 lowlevel drivers cannot forget the assignment and low level > save one line each. The pwm-crc driver didn't assign .owner, that's not > a problem in practise though as the driver cannot be compiled as a > module. ... > drivers/pwm/pwm-lpss.c| 1 - Acked-by: Andy Shevchenko # Intel LPSS -- With Best Regards, Andy Shevchenko