dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v6 000/164] pwm: Improve lifetime tracking for pwm_chips
@ 2024-02-14  9:30 Uwe Kleine-König
  2024-02-14  9:33 ` [PATCH v6 152/164] drm/bridge: ti-sn65dsi86: Make use of pwmchip_parent() accessor Uwe Kleine-König
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Uwe Kleine-König @ 2024-02-14  9:30 UTC (permalink / raw)
  To: linux-pwm, Jonathan Corbet, Jonathan Cameron, James Clark,
	Andy Shevchenko, Mark Brown, Hector Martin, Sven Peter,
	Claudiu Beznea, Nicolas Ferre, Alexandre Belloni,
	Florian Fainelli, Ray Jui, Scott Branden, Alexander Shiyan,
	Benson Leung, Philipp Zabel, Shawn Guo, Sascha Hauer,
	Paul Cercueil, Vladimir Zapolskiy, Mika Westerberg,
	Andy Shevchenko, Linus Walleij, Hans de Goede,
	Ilpo Järvinen, Matthias Brugger, AngeloGioacchino Del Regno,
	Neil Armstrong, Kevin Hilman, Conor Dooley, Daire McNamara,
	Jonathan Neuschäfer, Heiko Stuebner, Krzysztof Kozlowski,
	Palmer Dabbelt, Paul Walmsley, Michael Walle, Orson Zhai,
	Baolin Wang, Chunyan Zhang, Fabrice Gasnier, Maxime Coquelin,
	Alexandre Torgue, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland,
	Hammer Hsieh, Thierry Reding, Jonathan Hunter, Nobuhiro Iwamatsu,
	Sean Anderson, Michal Simek, Bartosz Golaszewski, Andrzej Hajda,
	Robert Foss, Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	David Airlie, Daniel Vetter, Pavel Machek, Lee Jones,
	Anjelique Melendez, Bjorn Andersson, Kees Cook, Rob Herring,
	Johan Hovold, Alex Elder, Greg Kroah-Hartman
  Cc: kernel, linux-doc, Alyssa Rosenzweig, asahi, linux-arm-kernel,
	Broadcom internal kernel review list, linux-rpi-kernel,
	Guenter Roeck, chrome-platform, Fabio Estevam, NXP Linux Team,
	linux-mips, linux-gpio, platform-driver-x86, linux-mediatek,
	Jerome Brunet, Martin Blumenstingl, linux-amlogic, linux-riscv,
	linux-rockchip, Alim Akhtar, linux-samsung-soc, linux-stm32,
	linux-sunxi, linux-tegra, Douglas Anderson, Laurent Pinchart,
	Jonas Karlman, dri-devel, linux-leds, greybus-dev, linux-staging,
	Gustavo A. R. Silva, linux-hardening

Hello,

this is v6 of the series introducing better lifetime tracking for
pwmchips that addresses (for now theoretic) lifetime issues of pwm
chips. Addressing these is a necessary precondition to introduce chardev
support for PWMs.

Locking got more complicated due to non-sleeping chips, so I dropped
the character device patch because it got still more incomplete now.
Also I'm not yet entirely sure about patches #162 and #163 and I expect
them to change before they can go in. My plan for the next merge window
is to get the patches in up to #160. After that the addition of chardev
support (including correct locking) can continue without having to touch
the lowlevel driver. So the idea of this series is to get the driver
adaptions out of the way as this requires some cross-tree coordination.

The patches that touch files outside of drivers/pwm include:

 - gpio: mvebu: Make use of devm_pwmchip_alloc() function
   It already has an Ack by Linus Walleij.

 - drm/bridge: ti-sn65dsi86: Make use of pwmchip_parent() accessor
 - drm/bridge: ti-sn65dsi86: Make use of devm_pwmchip_alloc() function
   The 2nd already has an Ack by Douglas Anderson which I tend to assume
   good enough to merge this via my pwm tree, too. An Ack for the first
   patch would be nice.

 - leds: qcom-lpg: Make use of devm_pwmchip_alloc() function
   Already has an Ack by Lee Jones.

 - staging: greybus: pwm: Change prototype of helpers to prepare further changes
 - staging: greybus: pwm: Make use of pwmchip_parent() accessor
 - staging: greybus: pwm: Rely on pwm framework to pass a valid hwpwm
 - staging: greybus: pwm: Drop unused gb_connection_set_data()
 - staging: greybus: pwm: Rework how the number of PWM lines is determined
 - staging: greybus: pwm: Make use of devm_pwmchip_alloc() function
   The greybus patches already got an Ack by Greg Kroah-Hartman in an
   earlier series, but I dropped it as the patches changed considerably.

For the patches that already have an Ack by the respective maintainers
I'll assume this is good enough to merge the patches via the pwm tree.
Please object if you don't agree.  For the others an Ack with that
semantic would be nice. If you want to merge via your tree, that would
need some coordination. The adaptions depend on patches #1 - #3, so this
would involve an immutable branch or waiting until these patches reached
your tree via the mainline tree. The series rebases fine on today's
next, so at least for now there are no conflicts that git cannot resolve
automatically.

The biggest changes compared to v5 are:

 - Make pwmchip_parent's parameter const
 - Use pwmchip_parent also in drivers/pwm/sysfs.c and drivers/pwm/core.c
 - Several bug fixes in the conversions I found during the rework
 - Provide a non-devm pwmchip_alloc() function earlier (for the greybus
   pwm driver)
 - Increase alignment of driver private data to ARCH_DMA_MINALIGN bytes
 - Split several patches to make the easier reviewable

The series is available via git at

	https://git.kernel.org/pub/scm/linux/kernel/git/ukleinek/linux.git pwm-lifetime-tracking

if you want to give it a test. I'll keep this branch updated for the
feedback I get here.

Best regards
Uwe

Uwe Kleine-König (164):
  pwm: Provide an inline function to get the parent device of a given
    chip
  pwm: Provide wrappers for storing and getting driver private data
  pwm: Provide pwmchip_alloc() function and a devm variant of it
  pwm: ab8500: Make use of pwmchip_parent() accessor
  pwm: ab8500: Introduce a local pwm_chip variable in .probe()
  pwm: ab8500: Make use of devm_pwmchip_alloc() function
  pwm: apple: Make use of devm_pwmchip_alloc() function
  pwm: atmel: Change prototype of a helper to prepare further changes
  pwm: atmel: Make use of pwmchip_parent() accessor
  pwm: atmel: Make use of devm_pwmchip_alloc() function
  pwm: atmel-hlcdc: Prepare removing pwm_chip from driver data
  pwm: atmel-hlcdc: Make use of devm_pwmchip_alloc() function
  pwm: atmel-tcb: Make use of pwmchip_parent() accessor
  pwm: atmel-tcb: Prepare removing pwm_chip from driver data
  pwm: atmel-tcb: Make use of devm_pwmchip_alloc() function
  pwm: bcm2835: Make use of devm_pwmchip_alloc() function
  pwm: bcm-iproc: Make use of devm_pwmchip_alloc() function
  pwm: bcm-kona: Make use of pwmchip_parent() accessor
  pwm: bcm-kona: Make use of devm_pwmchip_alloc() function
  pwm: berlin: Prepare removing pwm_chip from driver data
  pwm: berlin: Make use of devm_pwmchip_alloc() function
  pwm: brcmstb: Make use of devm_pwmchip_alloc() function
  pwm: clk: Prepare removing pwm_chip from driver data
  pwm: clk: Make use of devm_pwmchip_alloc() function
  pwm: clps711x: Make use of devm_pwmchip_alloc() function
  pwm: crc: Simplify code to determine the pwmchip's parent device
  pwm: crc: Make use of pwmchip_parent() accessor
  pwm: crc: Make use of devm_pwmchip_alloc() function
  pwm: cros-ec: Change prototype of helpers to prepare further changes
  pwm: cros-ec: Make use of pwmchip_parent() accessor
  pwm: cros-ec: Make use of devm_pwmchip_alloc() function
  pwm: dwc: Prepare removing pwm_chip from driver data
  pwm: dwc: Make use of devm_pwmchip_alloc() function
  pwm: dwc-core: Make use of pwmchip_parent() accessor
  pwm: ep93xx: Make use of pwmchip_parent() accessor
  pwm: ep93xx: Make use of devm_pwmchip_alloc() function
  pwm: fsl-ftm: Change prototype of a helper to prepare further changes
  pwm: fsl-ftm: Make use of pwmchip_parent() accessor
  pwm: fsl-ftm: Prepare removing pwm_chip from driver data
  pwm: fsl-ftm: Make use of devm_pwmchip_alloc() function
  pwm: hibvt: Consistently name driver data hi_pwm_chip
  pwm: hibvt: Make use of devm_pwmchip_alloc() function
  pwm: img: Drop write-only variable from driver private data
  pwm: img: Make use of pwmchip_parent() accessor
  pwm: img: Prepare removing pwm_chip from driver data
  pwm: img: Make use of devm_pwmchip_alloc() function
  pwm: imx1: Make use of devm_pwmchip_alloc() function
  pwm: imx27: Make use of pwmchip_parent() accessor
  pwm: imx27: Make use of devm_pwmchip_alloc() function
  pwm: imx-tpm: Make use of devm_pwmchip_alloc() function
  pwm: intel-lgm: Make use of devm_pwmchip_alloc() function
  pwm: iqs620a: Create a wrapper for converting a pwm_chip to driver
    data
  pwm: iqs620a: Prepare removing pwm_chip from driver data
  pwm: iqs620a: Make use of devm_pwmchip_alloc() function
  pwm: jz4740: Change prototype of a helper to prepare further changes
  pwm: jz4740: Make use of pwmchip_parent() accessor
  pwm: jz4740: Make use of devm_pwmchip_alloc() function
  pwm: keembay: Make use of devm_pwmchip_alloc() function
  pwm: lp3943: Make use of devm_pwmchip_alloc() function
  pwm: lpc18xx-sct: Drop hardly used member from driver private data
  pwm: lpc18xx-sct: Make use of pwmchip_parent() accessor
  pwm: lpc18xx-sct: Prepare removing pwm_chip from driver data
  pwm: lpc18xx-sct: Make use of devm_pwmchip_alloc() function
  pwm: lpc32xx: Make use of devm_pwmchip_alloc() function
  pwm: lpss: Make use of pwmchip_parent() accessor
  pwm: lpss: Don't set driver data
  pwm: lpss-*: Make use of devm_pwmchip_alloc() function
  pwm: mediatek: Make use of pwmchip_parent() accessor
  pwm: mediatek: Make use of devm_pwmchip_alloc() function
  pwm: meson: Change prototype of a few helpers to prepare further
    changes
  pwm: meson: Make use of pwmchip_parent() accessor
  pwm: meson: Make use of devm_pwmchip_alloc() function
  pwm: microchip-core: Make use of devm_pwmchip_alloc() function
  pwm: mtk-disp: Make use of pwmchip_parent() accessor
  pwm: mtk-disp: Make use of devm_pwmchip_alloc() function
  pwm: mxs: Make use of devm_pwmchip_alloc() function
  pwm: ntxec: Make use of devm_pwmchip_alloc() function
  pwm: omap-dmtimer: Make use of pwmchip_parent() accessor
  pwm: omap-dmtimer: Prepare removing pwm_chip from driver data
  pwm: omap-dmtimer: Make use of devm_pwmchip_alloc() function
  pwm: pca9685: Prepare removing pwm_chip from driver data
  pwm: pca9685: Make use of pwmchip_parent() accessor
  pwm: pca9685: Make use of devm_pwmchip_alloc() function
  pwm: pxa: Make use of devm_pwmchip_alloc() function
  pwm: raspberrypi-poe: Make use of pwmchip_parent() accessor
  pwm: raspberrypi-poe: Make use of devm_pwmchip_alloc() function
  pwm: rcar: Make use of pwmchip_parent() accessor
  pwm: rcar: Prepare removing pwm_chip from driver data
  pwm: rcar: Make use of devm_pwmchip_alloc() function
  pwm: renesas-tpu: Make use of devm_pwmchip_alloc() function
  pwm: rochchip: Prepare removing pwm_chip from driver data
  pwm: rockchip: Make use of devm_pwmchip_alloc() function
  pwm: rz-mtu3: Make use of pwmchip_parent() accessor
  pwm: rz-mtu3: Prepare removing pwm_chip from driver data
  pwm: rz-mtu3: Make use of devm_pwmchip_alloc() function
  pwm: samsung: Simplify code to determine the pwmchip's parent device
  pwm: samsung: Change prototype of helpers to prepare further changes
  pwm: samsung: Make use of pwmchip_parent() accessor
  pwm: samsung: Simplify by using devm functions in probe
  pwm: samsung: Simplify using dev_err_probe()
  pwm: samsung: Make use of devm_pwmchip_alloc() function
  pwm: sifive: Simplify code to determine the pwmchip's parent device
  pwm: sifive: Prepare removing pwm_chip from driver data
  pwm: sifive: Make use of pwmchip_parent() accessor
  pwm: sifive: Make use of devm_pwmchip_alloc() function
  pwm: sl28cpld: Make use of devm_pwmchip_alloc() function
  pwm: spear: Make use of devm_pwmchip_alloc() function
  pwm: sprd: Rework how the available channels are counted
  pwm: sprd: Drop duplicated tracking of the parent device
  pwm: sprd: Make use of devm_pwmchip_alloc() function
  pwm: sti: Prepare removing pwm_chip from driver data
  pwm: sti: Make use of devm_pwmchip_alloc() function
  pwm: stm32: Simplify code to determine the pwmchip's parent device
  pwm: stm32: Change prototype of a helper to prepare further changes
  pwm: stm32: Prepare removing pwm_chip from driver data
  pwm: stm32: Change prototype of helper that detects npwm to prepare
    further changes
  pwm: stm32: Make use of devm_pwmchip_alloc() function
  pwm: stm32-lp: Simplify code to determine the pwmchip's parent device
  pwm: stm32-lp: Prepare removing pwm_chip from driver data
  pwm: stm32-lp: Make use of pwmchip_parent() accessor
  pwm: stm32-lp: Make use of devm_pwmchip_alloc() function
  pwm: stmpe: Make use of pwmchip_parent() accessor
  pwm: stmpe: Make use of devm_pwmchip_alloc() function
  pwm: sun4i: Make use of pwmchip_parent() accessor
  pwm: sun4i: Prepare removing pwm_chip from driver data
  pwm: sun4i: Consistently name driver data sun4ichip
  pwm: sun4i: Make use of devm_pwmchip_alloc() function
  pwm: sunplus: Make use of devm_pwmchip_alloc() function
  pwm: tegra: Drop duplicated tracking of the parent device
  pwm: tegra: Prepare removing pwm_chip from driver data
  pwm: tegra: Make use of devm_pwmchip_alloc() function
  pwm: tiecap: Simplify code to determine the pwmchip's parent device
  pwm: tiecap: Change prototype of helpers to prepare further changes
  pwm: tiecap: Make use of pwmchip_parent() accessor
  pwm: tiecap: Make use of devm_pwmchip_alloc() function
  pwm: tiehrpwm: Simplify code to determine the pwmchip's parent device
  pwm: tiehrpwm: Change prototype of helpers to prepare further changes
  pwm: tiehrpwm: Make use of pwmchip_parent() accessor
  pwm: tiehrpwm: Make use of devm_pwmchip_alloc() function
  pwm: twl: Make use of pwmchip_parent() accessor
  pwm: twl: Make use of devm_pwmchip_alloc() function
  pwm: twl-led: Make use of pwmchip_parent() accessor
  pwm: twl-led: Make use of devm_pwmchip_alloc() function
  pwm: visconti: Make use of devm_pwmchip_alloc() function
  pwm: vt8500: Change prototype of a helper to prepare further changes
  pwm: vt8500: Introduce a local pwm_chip variable in .probe()
  pwm: vt8500: Make use of pwmchip_parent() accessor
  pwm: vt8500: Make use of devm_pwmchip_alloc() function
  pwm: xilinx: Prepare removing pwm_chip from driver data
  pwm: xilinx: Make use of devm_pwmchip_alloc() function
  gpio: mvebu: Make use of devm_pwmchip_alloc() function
  drm/bridge: ti-sn65dsi86: Make use of pwmchip_parent() accessor
  drm/bridge: ti-sn65dsi86: Make use of devm_pwmchip_alloc() function
  leds: qcom-lpg: Make use of devm_pwmchip_alloc() function
  staging: greybus: pwm: Change prototype of helpers to prepare further
    changes
  staging: greybus: pwm: Make use of pwmchip_parent() accessor
  staging: greybus: pwm: Rely on pwm framework to pass a valid hwpwm
  staging: greybus: pwm: Drop unused gb_connection_set_data()
  staging: greybus: pwm: Rework how the number of PWM lines is
    determined
  staging: greybus: pwm: Make use of devm_pwmchip_alloc() function
  pwm: Ensure that pwm_chips are allocated using pwmchip_alloc()
  pwm: Ensure a struct pwm has the same lifetime as its pwm_chip
  pwm: Ensure the memory backing a PWM chip isn't freed while used
  pwm: Make pwmchip_[sg]et_drvdata() a wrapper around dev_set_drvdata()

 .../driver-api/driver-model/devres.rst        |   1 +
 Documentation/driver-api/pwm.rst              |  11 +-
 drivers/gpio/gpio-mvebu.c                     |  18 +-
 drivers/gpu/drm/bridge/ti-sn65dsi86.c         |  31 +--
 drivers/leds/rgb/leds-qcom-lpg.c              |  16 +-
 drivers/pinctrl/intel/pinctrl-intel.c         |   6 +-
 drivers/pwm/Kconfig                           |   4 -
 drivers/pwm/Makefile                          |   3 +-
 drivers/pwm/core.c                            | 184 +++++++++++++-----
 drivers/pwm/pwm-ab8500.c                      |  36 ++--
 drivers/pwm/pwm-apple.c                       |  18 +-
 drivers/pwm/pwm-atmel-hlcdc.c                 |  37 ++--
 drivers/pwm/pwm-atmel-tcb.c                   |  32 +--
 drivers/pwm/pwm-atmel.c                       |  34 ++--
 drivers/pwm/pwm-bcm-iproc.c                   |  19 +-
 drivers/pwm/pwm-bcm-kona.c                    |  23 ++-
 drivers/pwm/pwm-bcm2835.c                     |  19 +-
 drivers/pwm/pwm-berlin.c                      |  29 +--
 drivers/pwm/pwm-brcmstb.c                     |  17 +-
 drivers/pwm/pwm-clk.c                         |  27 +--
 drivers/pwm/pwm-clps711x.c                    |  17 +-
 drivers/pwm/pwm-crc.c                         |  22 +--
 drivers/pwm/pwm-cros-ec.c                     |  58 +++---
 drivers/pwm/pwm-dwc-core.c                    |  26 +--
 drivers/pwm/pwm-dwc.c                         |  17 +-
 drivers/pwm/pwm-dwc.h                         |   9 +-
 drivers/pwm/pwm-ep93xx.c                      |  21 +-
 drivers/pwm/pwm-fsl-ftm.c                     |  49 ++---
 drivers/pwm/pwm-hibvt.c                       |  70 ++++---
 drivers/pwm/pwm-img.c                         |  60 +++---
 drivers/pwm/pwm-imx-tpm.c                     |  34 ++--
 drivers/pwm/pwm-imx1.c                        |  20 +-
 drivers/pwm/pwm-imx27.c                       |  26 +--
 drivers/pwm/pwm-intel-lgm.c                   |  17 +-
 drivers/pwm/pwm-iqs620a.c                     |  30 +--
 drivers/pwm/pwm-jz4740.c                      |  36 ++--
 drivers/pwm/pwm-keembay.c                     |  17 +-
 drivers/pwm/pwm-lp3943.c                      |  17 +-
 drivers/pwm/pwm-lpc18xx-sct.c                 |  34 ++--
 drivers/pwm/pwm-lpc32xx.c                     |  21 +-
 drivers/pwm/pwm-lpss-pci.c                    |  10 +-
 drivers/pwm/pwm-lpss-platform.c               |  10 +-
 drivers/pwm/pwm-lpss.c                        |  34 ++--
 drivers/pwm/pwm-lpss.h                        |   1 -
 drivers/pwm/pwm-mediatek.c                    |  29 +--
 drivers/pwm/pwm-meson.c                       |  57 +++---
 drivers/pwm/pwm-microchip-core.c              |  17 +-
 drivers/pwm/pwm-mtk-disp.c                    |  25 ++-
 drivers/pwm/pwm-mxs.c                         |  32 +--
 drivers/pwm/pwm-ntxec.c                       |  14 +-
 drivers/pwm/pwm-omap-dmtimer.c                |  47 +++--
 drivers/pwm/pwm-pca9685.c                     | 161 +++++++--------
 drivers/pwm/pwm-pxa.c                         |  21 +-
 drivers/pwm/pwm-raspberrypi-poe.c             |  20 +-
 drivers/pwm/pwm-rcar.c                        |  27 ++-
 drivers/pwm/pwm-renesas-tpu.c                 |  20 +-
 drivers/pwm/pwm-rockchip.c                    |  24 +--
 drivers/pwm/pwm-rz-mtu3.c                     |  60 +++---
 drivers/pwm/pwm-samsung.c                     |  94 ++++-----
 drivers/pwm/pwm-sifive.c                      |  30 +--
 drivers/pwm/pwm-sl28cpld.c                    |  13 +-
 drivers/pwm/pwm-spear.c                       |  18 +-
 drivers/pwm/pwm-sprd.c                        |  58 +++---
 drivers/pwm/pwm-sti.c                         |  61 +++---
 drivers/pwm/pwm-stm32-lp.c                    |  31 ++-
 drivers/pwm/pwm-stm32.c                       |  56 +++---
 drivers/pwm/pwm-stmpe.c                       |  58 +++---
 drivers/pwm/pwm-sun4i.c                       | 100 +++++-----
 drivers/pwm/pwm-sunplus.c                     |  17 +-
 drivers/pwm/pwm-tegra.c                       |  50 ++---
 drivers/pwm/pwm-tiecap.c                      |  55 +++---
 drivers/pwm/pwm-tiehrpwm.c                    |  72 +++----
 drivers/pwm/pwm-twl-led.c                     |  55 +++---
 drivers/pwm/pwm-twl.c                         |  50 +++--
 drivers/pwm/pwm-visconti.c                    |  17 +-
 drivers/pwm/pwm-vt8500.c                      |  43 ++--
 drivers/pwm/pwm-xilinx.c                      |  34 ++--
 drivers/pwm/sysfs.c                           |  45 +----
 drivers/staging/greybus/pwm.c                 | 133 ++++++-------
 include/linux/platform_data/x86/pwm-lpss.h    |   4 +-
 include/linux/pwm.h                           |  56 ++++--
 81 files changed, 1502 insertions(+), 1423 deletions(-)


base-commit: ab105bfee27776dd946f8003d1e895fbf7674a3f
-- 
2.43.0


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

* [PATCH v6 152/164] drm/bridge: ti-sn65dsi86: Make use of pwmchip_parent() accessor
  2024-02-14  9:30 [PATCH v6 000/164] pwm: Improve lifetime tracking for pwm_chips Uwe Kleine-König
@ 2024-02-14  9:33 ` Uwe Kleine-König
  2024-02-14 20:44   ` Doug Anderson
  2024-02-14  9:33 ` [PATCH v6 153/164] drm/bridge: ti-sn65dsi86: Make use of devm_pwmchip_alloc() function Uwe Kleine-König
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 8+ messages in thread
From: Uwe Kleine-König @ 2024-02-14  9:33 UTC (permalink / raw)
  To: linux-pwm, Andrzej Hajda, Neil Armstrong, Robert Foss,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	David Airlie, Daniel Vetter
  Cc: Douglas Anderson, Laurent Pinchart, Jonas Karlman,
	Jernej Skrabec, dri-devel, kernel

struct pwm_chip::dev is about to change. To not have to touch this
driver in the same commit as struct pwm_chip::dev, use the accessor
function provided for exactly this purpose.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
 drivers/gpu/drm/bridge/ti-sn65dsi86.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
index 1f6e929c2f6a..f1fffbef3324 100644
--- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c
+++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
@@ -1415,7 +1415,7 @@ static int ti_sn_pwm_apply(struct pwm_chip *chip, struct pwm_device *pwm,
 	int ret;
 
 	if (!pdata->pwm_enabled) {
-		ret = pm_runtime_resume_and_get(chip->dev);
+		ret = pm_runtime_resume_and_get(pwmchip_parent(chip));
 		if (ret < 0)
 			return ret;
 	}
@@ -1431,7 +1431,7 @@ static int ti_sn_pwm_apply(struct pwm_chip *chip, struct pwm_device *pwm,
 						 SN_GPIO_MUX_MASK << (2 * SN_PWM_GPIO_IDX),
 						 SN_GPIO_MUX_SPECIAL << (2 * SN_PWM_GPIO_IDX));
 			if (ret) {
-				dev_err(chip->dev, "failed to mux in PWM function\n");
+				dev_err(pwmchip_parent(chip), "failed to mux in PWM function\n");
 				goto out;
 			}
 		}
@@ -1507,7 +1507,7 @@ static int ti_sn_pwm_apply(struct pwm_chip *chip, struct pwm_device *pwm,
 
 		ret = regmap_write(pdata->regmap, SN_PWM_PRE_DIV_REG, pre_div);
 		if (ret) {
-			dev_err(chip->dev, "failed to update PWM_PRE_DIV\n");
+			dev_err(pwmchip_parent(chip), "failed to update PWM_PRE_DIV\n");
 			goto out;
 		}
 
@@ -1519,7 +1519,7 @@ static int ti_sn_pwm_apply(struct pwm_chip *chip, struct pwm_device *pwm,
 		     FIELD_PREP(SN_PWM_INV_MASK, state->polarity == PWM_POLARITY_INVERSED);
 	ret = regmap_write(pdata->regmap, SN_PWM_EN_INV_REG, pwm_en_inv);
 	if (ret) {
-		dev_err(chip->dev, "failed to update PWM_EN/PWM_INV\n");
+		dev_err(pwmchip_parent(chip), "failed to update PWM_EN/PWM_INV\n");
 		goto out;
 	}
 
@@ -1527,7 +1527,7 @@ static int ti_sn_pwm_apply(struct pwm_chip *chip, struct pwm_device *pwm,
 out:
 
 	if (!pdata->pwm_enabled)
-		pm_runtime_put_sync(chip->dev);
+		pm_runtime_put_sync(pwmchip_parent(chip));
 
 	return ret;
 }
-- 
2.43.0


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

* [PATCH v6 153/164] drm/bridge: ti-sn65dsi86: Make use of devm_pwmchip_alloc() function
  2024-02-14  9:30 [PATCH v6 000/164] pwm: Improve lifetime tracking for pwm_chips Uwe Kleine-König
  2024-02-14  9:33 ` [PATCH v6 152/164] drm/bridge: ti-sn65dsi86: Make use of pwmchip_parent() accessor Uwe Kleine-König
@ 2024-02-14  9:33 ` Uwe Kleine-König
  2024-02-15 11:46 ` [PATCH v6 000/164] pwm: Improve lifetime tracking for pwm_chips Uwe Kleine-König
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Uwe Kleine-König @ 2024-02-14  9:33 UTC (permalink / raw)
  To: Andrzej Hajda, Neil Armstrong, Robert Foss, Maarten Lankhorst,
	Maxime Ripard, Thomas Zimmermann, David Airlie, Daniel Vetter,
	linux-pwm
  Cc: Douglas Anderson, Laurent Pinchart, Jonas Karlman,
	Jernej Skrabec, dri-devel, kernel

This prepares the pwm driver of the ti-sn65dsi86 to further changes of
the pwm core outlined in the commit introducing devm_pwmchip_alloc().
There is no intended semantical change and the driver should behave as
before.

Acked-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
 drivers/gpu/drm/bridge/ti-sn65dsi86.c | 21 +++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
index f1fffbef3324..7fbc307cc025 100644
--- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c
+++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
@@ -197,7 +197,7 @@ struct ti_sn65dsi86 {
 	DECLARE_BITMAP(gchip_output, SN_NUM_GPIOS);
 #endif
 #if defined(CONFIG_PWM)
-	struct pwm_chip			pchip;
+	struct pwm_chip			*pchip;
 	bool				pwm_enabled;
 	atomic_t			pwm_pin_busy;
 #endif
@@ -1374,7 +1374,7 @@ static void ti_sn_pwm_pin_release(struct ti_sn65dsi86 *pdata)
 
 static struct ti_sn65dsi86 *pwm_chip_to_ti_sn_bridge(struct pwm_chip *chip)
 {
-	return container_of(chip, struct ti_sn65dsi86, pchip);
+	return pwmchip_get_drvdata(chip);
 }
 
 static int ti_sn_pwm_request(struct pwm_chip *chip, struct pwm_device *pwm)
@@ -1585,23 +1585,28 @@ static const struct pwm_ops ti_sn_pwm_ops = {
 static int ti_sn_pwm_probe(struct auxiliary_device *adev,
 			   const struct auxiliary_device_id *id)
 {
+	struct pwm_chip *chip;
 	struct ti_sn65dsi86 *pdata = dev_get_drvdata(adev->dev.parent);
 
-	pdata->pchip.dev = &adev->dev;
-	pdata->pchip.ops = &ti_sn_pwm_ops;
-	pdata->pchip.npwm = 1;
-	pdata->pchip.of_xlate = of_pwm_single_xlate;
+	pdata->pchip = chip = devm_pwmchip_alloc(&adev->dev, 1, 0);
+	if (IS_ERR(chip))
+		return PTR_ERR(chip);
+
+	pwmchip_set_drvdata(chip, pdata);
+
+	chip->ops = &ti_sn_pwm_ops;
+	chip->of_xlate = of_pwm_single_xlate;
 
 	devm_pm_runtime_enable(&adev->dev);
 
-	return pwmchip_add(&pdata->pchip);
+	return pwmchip_add(chip);
 }
 
 static void ti_sn_pwm_remove(struct auxiliary_device *adev)
 {
 	struct ti_sn65dsi86 *pdata = dev_get_drvdata(adev->dev.parent);
 
-	pwmchip_remove(&pdata->pchip);
+	pwmchip_remove(pdata->pchip);
 
 	if (pdata->pwm_enabled)
 		pm_runtime_put_sync(&adev->dev);
-- 
2.43.0


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

* Re: [PATCH v6 152/164] drm/bridge: ti-sn65dsi86: Make use of pwmchip_parent() accessor
  2024-02-14  9:33 ` [PATCH v6 152/164] drm/bridge: ti-sn65dsi86: Make use of pwmchip_parent() accessor Uwe Kleine-König
@ 2024-02-14 20:44   ` Doug Anderson
  2024-02-15  7:03     ` Uwe Kleine-König
  0 siblings, 1 reply; 8+ messages in thread
From: Doug Anderson @ 2024-02-14 20:44 UTC (permalink / raw)
  To: Uwe Kleine-König
  Cc: linux-pwm, Andrzej Hajda, Neil Armstrong, Robert Foss,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	David Airlie, Daniel Vetter, Laurent Pinchart, Jonas Karlman,
	Jernej Skrabec, dri-devel, kernel

Hi,

On Wed, Feb 14, 2024 at 1:34 AM Uwe Kleine-König
<u.kleine-koenig@pengutronix.de> wrote:
>
> struct pwm_chip::dev is about to change. To not have to touch this
> driver in the same commit as struct pwm_chip::dev, use the accessor
> function provided for exactly this purpose.
>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> ---
>  drivers/gpu/drm/bridge/ti-sn65dsi86.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)

I don't see any differences from v5, so not sure why you didn't carry
forward my Ack [1] on this one. Maybe because of the questions I
asked? Your answers from v5 seemed fine to me. In any case:

Acked-by: Douglas Anderson <dianders@chromium.org>

[1] https://lore.kernel.org/r/CAD=FV=VqPCbfTP86Wewf+-o9_v5oLsQUu1Dqb5EMLZZEsqGmRw@mail.gmail.com

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

* Re: [PATCH v6 152/164] drm/bridge: ti-sn65dsi86: Make use of pwmchip_parent() accessor
  2024-02-14 20:44   ` Doug Anderson
@ 2024-02-15  7:03     ` Uwe Kleine-König
  0 siblings, 0 replies; 8+ messages in thread
From: Uwe Kleine-König @ 2024-02-15  7:03 UTC (permalink / raw)
  To: Doug Anderson
  Cc: linux-pwm, Jernej Skrabec, Robert Foss, Thomas Zimmermann,
	Neil Armstrong, dri-devel, Jonas Karlman, Maarten Lankhorst,
	Maxime Ripard, Laurent Pinchart, Andrzej Hajda, Daniel Vetter,
	David Airlie, kernel

[-- Attachment #1: Type: text/plain, Size: 1573 bytes --]

Hi Doug,

On Wed, Feb 14, 2024 at 12:44:23PM -0800, Doug Anderson wrote:
> On Wed, Feb 14, 2024 at 1:34 AM Uwe Kleine-König
> <u.kleine-koenig@pengutronix.de> wrote:
> >
> > struct pwm_chip::dev is about to change. To not have to touch this
> > driver in the same commit as struct pwm_chip::dev, use the accessor
> > function provided for exactly this purpose.
> >
> > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> > ---
> >  drivers/gpu/drm/bridge/ti-sn65dsi86.c | 10 +++++-----
> >  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> I don't see any differences from v5, so not sure why you didn't carry
> forward my Ack [1] on this one. Maybe because of the questions I
> asked? Your answers from v5 seemed fine to me. In any case:

Indeed, I should have kept the Ack. I cannot say why I dropped it,
something wrong on my end for sure as the patch ids match:

	$ v5=5ff5120f2b4ef6442a1d7c05916a772ec59a8c34.1706182805.git.u.kleine-koenig@pengutronix.de
	$ v6=10a8d55110fc48a4759e65cc19556858587e94cc.1707900770.git.u.kleine-koenig@pengutronix.de
	$ $ for v in $v5 $v6; do curl -s https://lore.kernel.org/all/$v/raw | git patch-id; done
	9b067a056fd203dd4b37d69b5aff202f42d970f1 0000000000000000000000000000000000000000
	9b067a056fd203dd4b37d69b5aff202f42d970f1 0000000000000000000000000000000000000000

Thanks for looking again, I readded your Ack,
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | https://www.pengutronix.de/ |

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* Re: [PATCH v6 000/164] pwm: Improve lifetime tracking for pwm_chips
  2024-02-14  9:30 [PATCH v6 000/164] pwm: Improve lifetime tracking for pwm_chips Uwe Kleine-König
  2024-02-14  9:33 ` [PATCH v6 152/164] drm/bridge: ti-sn65dsi86: Make use of pwmchip_parent() accessor Uwe Kleine-König
  2024-02-14  9:33 ` [PATCH v6 153/164] drm/bridge: ti-sn65dsi86: Make use of devm_pwmchip_alloc() function Uwe Kleine-König
@ 2024-02-15 11:46 ` Uwe Kleine-König
  2024-03-25  1:54 ` patchwork-bot+chrome-platform
  2024-03-25  2:13 ` patchwork-bot+chrome-platform
  4 siblings, 0 replies; 8+ messages in thread
From: Uwe Kleine-König @ 2024-02-15 11:46 UTC (permalink / raw)
  To: linux-pwm, Jonathan Corbet, Jonathan Cameron, James Clark,
	Andy Shevchenko, Mark Brown, Hector Martin, Sven Peter,
	Claudiu Beznea, Nicolas Ferre, Alexandre Belloni,
	Florian Fainelli, Ray Jui, Scott Branden, Alexander Shiyan,
	Benson Leung, Philipp Zabel, Shawn Guo, Sascha Hauer,
	Paul Cercueil, Vladimir Zapolskiy, Mika Westerberg,
	Andy Shevchenko, Linus Walleij, Hans de Goede,
	Ilpo Järvinen, Matthias Brugger, AngeloGioacchino Del Regno,
	Neil Armstrong, Kevin Hilman, Conor Dooley, Daire McNamara,
	Jonathan Neuschäfer, Heiko Stuebner, Krzysztof Kozlowski,
	Palmer Dabbelt, Paul Walmsley, Michael Walle, Orson Zhai,
	Baolin Wang, Chunyan Zhang, Fabrice Gasnier, Maxime Coquelin,
	Alexandre Torgue, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland,
	Hammer Hsieh, Thierry Reding, Jonathan Hunter, Nobuhiro Iwamatsu,
	Sean Anderson, Michal Simek, Bartosz Golaszewski, Andrzej Hajda,
	Robert Foss, Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	David Airlie, Daniel Vetter, Pavel Machek, Lee Jones,
	Anjelique Melendez, Bjorn Andersson, Kees Cook, Rob Herring,
	Johan Hovold, Alex Elder, Greg Kroah-Hartman
  Cc: Douglas Anderson, linux-doc, dri-devel, platform-driver-x86,
	Laurent Pinchart, Alim Akhtar, Guenter Roeck, linux-riscv,
	Fabio Estevam, linux-stm32, Alyssa Rosenzweig, Jerome Brunet,
	chrome-platform, linux-samsung-soc, linux-staging,
	linux-rockchip, Broadcom internal kernel review list,
	NXP Linux Team, linux-leds, linux-sunxi, Jonas Karlman,
	Martin Blumenstingl, linux-gpio, linux-mediatek,
	linux-rpi-kernel, linux-tegra, linux-amlogic, linux-arm-kernel,
	greybus-dev, Gustavo A. R. Silva, linux-mips, asahi, kernel,
	linux-hardening

[-- Attachment #1: Type: text/plain, Size: 2539 bytes --]

Hello,

On Wed, Feb 14, 2024 at 10:30:47AM +0100, Uwe Kleine-König wrote:
> this is v6 of the series introducing better lifetime tracking for
> pwmchips that addresses (for now theoretic) lifetime issues of pwm
> chips. Addressing these is a necessary precondition to introduce chardev
> support for PWMs.
> 
> Locking got more complicated due to non-sleeping chips, so I dropped
> the character device patch because it got still more incomplete now.
> Also I'm not yet entirely sure about patches #162 and #163 and I expect
> them to change before they can go in. My plan for the next merge window
> is to get the patches in up to #160. After that the addition of chardev
> support (including correct locking) can continue without having to touch
> the lowlevel driver. So the idea of this series is to get the driver
> adaptions out of the way as this requires some cross-tree coordination.
> 
> The patches that touch files outside of drivers/pwm include:
> 
>  - gpio: mvebu: Make use of devm_pwmchip_alloc() function
>    It already has an Ack by Linus Walleij.
> 
>  - drm/bridge: ti-sn65dsi86: Make use of pwmchip_parent() accessor
>  - drm/bridge: ti-sn65dsi86: Make use of devm_pwmchip_alloc() function
>    The 2nd already has an Ack by Douglas Anderson which I tend to assume
>    good enough to merge this via my pwm tree, too. An Ack for the first
>    patch would be nice.
> 
>  - leds: qcom-lpg: Make use of devm_pwmchip_alloc() function
>    Already has an Ack by Lee Jones.
> 
>  - staging: greybus: pwm: Change prototype of helpers to prepare further changes
>  - staging: greybus: pwm: Make use of pwmchip_parent() accessor
>  - staging: greybus: pwm: Rely on pwm framework to pass a valid hwpwm
>  - staging: greybus: pwm: Drop unused gb_connection_set_data()
>  - staging: greybus: pwm: Rework how the number of PWM lines is determined
>  - staging: greybus: pwm: Make use of devm_pwmchip_alloc() function
>    The greybus patches already got an Ack by Greg Kroah-Hartman in an
>    earlier series, but I dropped it as the patches changed considerably.

After getting the needed acks, I pushed out this series in

https://git.kernel.org/pub/scm/linux/kernel/git/ukleinek/linux.git pwm/for-next

up to patch #161.

(But don't let you stop looking at the changes, reviews are still
welcome.)

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | https://www.pengutronix.de/ |

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* Re: [PATCH v6 000/164] pwm: Improve lifetime tracking for pwm_chips
  2024-02-14  9:30 [PATCH v6 000/164] pwm: Improve lifetime tracking for pwm_chips Uwe Kleine-König
                   ` (2 preceding siblings ...)
  2024-02-15 11:46 ` [PATCH v6 000/164] pwm: Improve lifetime tracking for pwm_chips Uwe Kleine-König
@ 2024-03-25  1:54 ` patchwork-bot+chrome-platform
  2024-03-25  2:13 ` patchwork-bot+chrome-platform
  4 siblings, 0 replies; 8+ messages in thread
From: patchwork-bot+chrome-platform @ 2024-03-25  1:54 UTC (permalink / raw)
  To: =?utf-8?q?Uwe_Kleine-K=C3=B6nig_=3Cu=2Ekleine-koenig=40pengutronix=2Ede=3E?=
  Cc: linux-pwm, corbet, Jonathan.Cameron, james.clark,
	andriy.shevchenko, broonie, marcan, sven, claudiu.beznea,
	nicolas.ferre, alexandre.belloni, florian.fainelli, rjui,
	sbranden, shc_work, bleung, p.zabel, shawnguo, s.hauer, paul, vz,
	mika.westerberg, andy, linus.walleij, hdegoede, ilpo.jarvinen,
	matthias.bgg, angelogioacchino.delregno, neil.armstrong, khilman,
	conor.dooley, daire.mcnamara, j.neuschaefer, heiko,
	krzysztof.kozlowski, palmer, paul.walmsley, mwalle, orsonzhai,
	baolin.wang, zhang.lyra, fabrice.gasnier, mcoquelin.stm32,
	alexandre.torgue, wens, jernej.skrabec, samuel, hammerh0314,
	thierry.reding, jonathanh, nobuhiro1.iwamatsu, sean.anderson,
	michal.simek, brgl, andrzej.hajda, rfoss, maarten.lankhorst,
	mripard, tzimmermann, airlied, daniel, pavel, lee, quic_amelende,
	quic_bjorande, keescook, robh, johan, elder, gregkh, kernel,
	linux-doc, alyssa, asahi, linux-arm-kernel,
	bcm-kernel-feedback-list, linux-rpi-kernel, groeck,
	chrome-platform, festevam, linux-imx, linux-mips, linux-gpio,
	platform-driver-x86, linux-mediatek, jbrunet,
	martin.blumenstingl, linux-amlogic, linux-riscv, linux-rockchip,
	alim.akhtar, linux-samsung-soc, linux-stm32, linux-sunxi,
	linux-tegra, dianders, Laurent.pinchart, jonas, dri-devel,
	linux-leds, greybus-dev, linux-staging, gustavoars,
	linux-hardening

Hello:

This series was applied to chrome-platform/linux.git (for-kernelci)
by Uwe Kleine-König <u.kleine-koenig@pengutronix.de>:

On Wed, 14 Feb 2024 10:30:47 +0100 you wrote:
> Hello,
> 
> this is v6 of the series introducing better lifetime tracking for
> pwmchips that addresses (for now theoretic) lifetime issues of pwm
> chips. Addressing these is a necessary precondition to introduce chardev
> support for PWMs.
> 
> [...]

Here is the summary with links:
  - [v6,001/164] pwm: Provide an inline function to get the parent device of a given chip
    https://git.kernel.org/chrome-platform/c/4e59267c7a20
  - [v6,003/164] pwm: Provide pwmchip_alloc() function and a devm variant of it
    https://git.kernel.org/chrome-platform/c/024913dbf99f
  - [v6,029/164] pwm: cros-ec: Change prototype of helpers to prepare further changes
    https://git.kernel.org/chrome-platform/c/7256c2e79b8e
  - [v6,030/164] pwm: cros-ec: Make use of pwmchip_parent() accessor
    https://git.kernel.org/chrome-platform/c/19a568a8d3c4
  - [v6,031/164] pwm: cros-ec: Make use of devm_pwmchip_alloc() function
    https://git.kernel.org/chrome-platform/c/452be9421eda

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



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

* Re: [PATCH v6 000/164] pwm: Improve lifetime tracking for pwm_chips
  2024-02-14  9:30 [PATCH v6 000/164] pwm: Improve lifetime tracking for pwm_chips Uwe Kleine-König
                   ` (3 preceding siblings ...)
  2024-03-25  1:54 ` patchwork-bot+chrome-platform
@ 2024-03-25  2:13 ` patchwork-bot+chrome-platform
  4 siblings, 0 replies; 8+ messages in thread
From: patchwork-bot+chrome-platform @ 2024-03-25  2:13 UTC (permalink / raw)
  To: =?utf-8?q?Uwe_Kleine-K=C3=B6nig_=3Cu=2Ekleine-koenig=40pengutronix=2Ede=3E?=
  Cc: linux-pwm, corbet, Jonathan.Cameron, james.clark,
	andriy.shevchenko, broonie, marcan, sven, claudiu.beznea,
	nicolas.ferre, alexandre.belloni, florian.fainelli, rjui,
	sbranden, shc_work, bleung, p.zabel, shawnguo, s.hauer, paul, vz,
	mika.westerberg, andy, linus.walleij, hdegoede, ilpo.jarvinen,
	matthias.bgg, angelogioacchino.delregno, neil.armstrong, khilman,
	conor.dooley, daire.mcnamara, j.neuschaefer, heiko,
	krzysztof.kozlowski, palmer, paul.walmsley, mwalle, orsonzhai,
	baolin.wang, zhang.lyra, fabrice.gasnier, mcoquelin.stm32,
	alexandre.torgue, wens, jernej.skrabec, samuel, hammerh0314,
	thierry.reding, jonathanh, nobuhiro1.iwamatsu, sean.anderson,
	michal.simek, brgl, andrzej.hajda, rfoss, maarten.lankhorst,
	mripard, tzimmermann, airlied, daniel, pavel, lee, quic_amelende,
	quic_bjorande, keescook, robh, johan, elder, gregkh, kernel,
	linux-doc, alyssa, asahi, linux-arm-kernel,
	bcm-kernel-feedback-list, linux-rpi-kernel, groeck,
	chrome-platform, festevam, linux-imx, linux-mips, linux-gpio,
	platform-driver-x86, linux-mediatek, jbrunet,
	martin.blumenstingl, linux-amlogic, linux-riscv, linux-rockchip,
	alim.akhtar, linux-samsung-soc, linux-stm32, linux-sunxi,
	linux-tegra, dianders, Laurent.pinchart, jonas, dri-devel,
	linux-leds, greybus-dev, linux-staging, gustavoars,
	linux-hardening

Hello:

This series was applied to chrome-platform/linux.git (for-next)
by Uwe Kleine-König <u.kleine-koenig@pengutronix.de>:

On Wed, 14 Feb 2024 10:30:47 +0100 you wrote:
> Hello,
> 
> this is v6 of the series introducing better lifetime tracking for
> pwmchips that addresses (for now theoretic) lifetime issues of pwm
> chips. Addressing these is a necessary precondition to introduce chardev
> support for PWMs.
> 
> [...]

Here is the summary with links:
  - [v6,001/164] pwm: Provide an inline function to get the parent device of a given chip
    https://git.kernel.org/chrome-platform/c/4e59267c7a20
  - [v6,003/164] pwm: Provide pwmchip_alloc() function and a devm variant of it
    https://git.kernel.org/chrome-platform/c/024913dbf99f
  - [v6,029/164] pwm: cros-ec: Change prototype of helpers to prepare further changes
    https://git.kernel.org/chrome-platform/c/7256c2e79b8e
  - [v6,030/164] pwm: cros-ec: Make use of pwmchip_parent() accessor
    https://git.kernel.org/chrome-platform/c/19a568a8d3c4
  - [v6,031/164] pwm: cros-ec: Make use of devm_pwmchip_alloc() function
    https://git.kernel.org/chrome-platform/c/452be9421eda

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



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

end of thread, other threads:[~2024-03-25  8:03 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-02-14  9:30 [PATCH v6 000/164] pwm: Improve lifetime tracking for pwm_chips Uwe Kleine-König
2024-02-14  9:33 ` [PATCH v6 152/164] drm/bridge: ti-sn65dsi86: Make use of pwmchip_parent() accessor Uwe Kleine-König
2024-02-14 20:44   ` Doug Anderson
2024-02-15  7:03     ` Uwe Kleine-König
2024-02-14  9:33 ` [PATCH v6 153/164] drm/bridge: ti-sn65dsi86: Make use of devm_pwmchip_alloc() function Uwe Kleine-König
2024-02-15 11:46 ` [PATCH v6 000/164] pwm: Improve lifetime tracking for pwm_chips Uwe Kleine-König
2024-03-25  1:54 ` patchwork-bot+chrome-platform
2024-03-25  2:13 ` patchwork-bot+chrome-platform

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).