linux-2.6-microblaze.git
7 months agopwm: pxa: Make use of devm_pwmchip_alloc() function
Uwe Kleine-König [Wed, 14 Feb 2024 09:32:11 +0000 (10:32 +0100)]
pwm: pxa: Make use of devm_pwmchip_alloc() function

This prepares the pwm-pxa driver 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.

Link: https://lore.kernel.org/r/bee8ae436a9dfb8539637cbb7269a208f787a62a.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: pca9685: Make use of devm_pwmchip_alloc() function
Uwe Kleine-König [Wed, 14 Feb 2024 09:32:10 +0000 (10:32 +0100)]
pwm: pca9685: Make use of devm_pwmchip_alloc() function

This prepares the pwm-pca9685 driver 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.

Link: https://lore.kernel.org/r/4cb65adc92414a901dd3c0b8412de075196a3c54.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: pca9685: Make use of pwmchip_parent() accessor
Uwe Kleine-König [Wed, 14 Feb 2024 09:32:09 +0000 (10:32 +0100)]
pwm: pca9685: Make use of pwmchip_parent() accessor

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.

Link: https://lore.kernel.org/r/14b6ec2bdaa7050b9f49a69f35edef731fd84c25.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: pca9685: Prepare removing pwm_chip from driver data
Uwe Kleine-König [Wed, 14 Feb 2024 09:32:08 +0000 (10:32 +0100)]
pwm: pca9685: Prepare removing pwm_chip from driver data

This prepares the driver for further changes that will drop struct
pwm_chip chip from struct pca9685. Use the pwm_chip as i2c client data
and gpiochip data instead of the pca9685 to get access to the
pwm_chip in pca9685_pwm_remove(), pca9685_pwm_runtime_suspend(),
pca9685_pwm_runtime_resume(), pca9685_pwm_gpio_request() and the gpio
callbacks without using pca->chip. Also the prototype for various helper
functions is changed to take a pwm_chip instead of a pca9685 for the
same reason.

Link: https://lore.kernel.org/r/e87b378545cee15a52f0d410fcceebf671ab90e0.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: omap-dmtimer: Make use of devm_pwmchip_alloc() function
Uwe Kleine-König [Wed, 14 Feb 2024 09:32:07 +0000 (10:32 +0100)]
pwm: omap-dmtimer: Make use of devm_pwmchip_alloc() function

This prepares the pwm-omap-dmtimer driver 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.

Link: https://lore.kernel.org/r/78d1448b0fd1136b010f629feffb9d89c853e472.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: omap-dmtimer: Prepare removing pwm_chip from driver data
Uwe Kleine-König [Wed, 14 Feb 2024 09:32:06 +0000 (10:32 +0100)]
pwm: omap-dmtimer: Prepare removing pwm_chip from driver data

This prepares the driver for further changes that will drop struct
pwm_chip chip from struct pwm_omap_dmtimer_chip. Use the pwm_chip as
driver data instead of the pwm_omap_dmtimer_chip to get access to the
pwm_chip in pwm_omap_dmtimer_remove() without using omap->chip.

Link: https://lore.kernel.org/r/809672026f3d583ba4fc4bd92b525951df172106.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: omap-dmtimer: Make use of pwmchip_parent() accessor
Uwe Kleine-König [Wed, 14 Feb 2024 09:32:05 +0000 (10:32 +0100)]
pwm: omap-dmtimer: Make use of pwmchip_parent() accessor

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.

Link: https://lore.kernel.org/r/6681ebd024c2b8b2315ca3da5cac612e5f433d63.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: ntxec: Make use of devm_pwmchip_alloc() function
Uwe Kleine-König [Wed, 14 Feb 2024 09:32:04 +0000 (10:32 +0100)]
pwm: ntxec: Make use of devm_pwmchip_alloc() function

This prepares the pwm-ntxec driver 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.

Link: https://lore.kernel.org/r/c0c9d6cb3a6662268e660f4f6c89b32268ecf019.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: mxs: Make use of devm_pwmchip_alloc() function
Uwe Kleine-König [Wed, 14 Feb 2024 09:32:03 +0000 (10:32 +0100)]
pwm: mxs: Make use of devm_pwmchip_alloc() function

This prepares the pwm-mxs driver 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.

Also convert the to_mxs_pwm_chip() helper macro to a static inline to
get some type safety.

Link: https://lore.kernel.org/r/39203f3bfbf4e97654db78bdc7e0c9a2b72c1368.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: mtk-disp: Make use of devm_pwmchip_alloc() function
Uwe Kleine-König [Wed, 14 Feb 2024 09:32:02 +0000 (10:32 +0100)]
pwm: mtk-disp: Make use of devm_pwmchip_alloc() function

This prepares the pwm-mtk-disp driver 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.

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/a70bf253dc41c61d9b901423710c97f235e372c3.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: mtk-disp: Make use of pwmchip_parent() accessor
Uwe Kleine-König [Wed, 14 Feb 2024 09:32:01 +0000 (10:32 +0100)]
pwm: mtk-disp: Make use of pwmchip_parent() accessor

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.

Link: https://lore.kernel.org/r/93ba7ef22f8d26f17e64326249d5da54ab8014ea.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: microchip-core: Make use of devm_pwmchip_alloc() function
Uwe Kleine-König [Wed, 14 Feb 2024 09:32:00 +0000 (10:32 +0100)]
pwm: microchip-core: Make use of devm_pwmchip_alloc() function

This prepares the pwm-microchip-core driver 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: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/c6660b655c1d4c9d79280030e24090a4a4c5dd8b.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: meson: Make use of devm_pwmchip_alloc() function
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:59 +0000 (10:31 +0100)]
pwm: meson: Make use of devm_pwmchip_alloc() function

This prepares the pwm-meson driver 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.

Link: https://lore.kernel.org/r/6cc57880e910e6ffd8df15bc4a41c42fe9523293.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: meson: Make use of pwmchip_parent() accessor
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:58 +0000 (10:31 +0100)]
pwm: meson: Make use of pwmchip_parent() accessor

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.

Link: https://lore.kernel.org/r/02d5f32001c4d0817fa79f5831cfd16b7e345f00.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: meson: Change prototype of a few helpers to prepare further changes
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:57 +0000 (10:31 +0100)]
pwm: meson: Change prototype of a few helpers to prepare further changes

This prepares the driver for further changes that will make it harder to
determine the pwm_chip from a given meson_pwm. To just not have to do
that, rework meson_pwm_calc(), meson_pwm_enable(), meson_pwm_disable()
and meson_pwm_init_channels() to take a pwm_chip.

Link: https://lore.kernel.org/r/157084e1dd464da0097edba880240868c1c0b27e.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: mediatek: Make use of devm_pwmchip_alloc() function
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:56 +0000 (10:31 +0100)]
pwm: mediatek: Make use of devm_pwmchip_alloc() function

This prepares the pwm-mediatek driver 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.

Link: https://lore.kernel.org/r/513b2037c00ebf2f3a69472f4b99adaf4fb40d83.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: mediatek: Make use of pwmchip_parent() accessor
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:55 +0000 (10:31 +0100)]
pwm: mediatek: Make use of pwmchip_parent() accessor

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.

Link: https://lore.kernel.org/r/819996ee175bec0ab71acc385c78e7233617e136.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: lpss-*: Make use of devm_pwmchip_alloc() function
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:54 +0000 (10:31 +0100)]
pwm: lpss-*: Make use of devm_pwmchip_alloc() function

This prepares the pwm-lpss drivers 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.

Reviewed-by: Andy Shevchenko <andy@kernel.org>
Link: https://lore.kernel.org/r/b567ab5dd992e361eb884fa6c2cac11be9c7dde3.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: lpss-*: Don't set driver data
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:53 +0000 (10:31 +0100)]
pwm: lpss-*: Don't set driver data

The drivers don't make use of driver data, neither in the variant
pci_get_drvdata() nor as platform_get_drvdata() nor as
dev_get_drvdata(). Drop setting driver data accordingly.

Link: https://lore.kernel.org/r/25671b7562d96b67fd05b3fa6fc76538ddf5914f.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: lpss: Make use of pwmchip_parent() accessor
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:52 +0000 (10:31 +0100)]
pwm: lpss: Make use of pwmchip_parent() accessor

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.

Link: https://lore.kernel.org/r/77617ba84bed7807a05779109432a292dd79f72f.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: lpc32xx: Make use of devm_pwmchip_alloc() function
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:51 +0000 (10:31 +0100)]
pwm: lpc32xx: Make use of devm_pwmchip_alloc() function

This prepares the pwm-lpc32xx driver 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.

Also convert the to_lpc32xx_pwm_chip() helper macro to a static inline
to get some type safety.

Link: https://lore.kernel.org/r/ef26238772ee9ca455a49e9b976a4f66654b26f7.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: lpc18xx-sct: Make use of devm_pwmchip_alloc() function
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:50 +0000 (10:31 +0100)]
pwm: lpc18xx-sct: Make use of devm_pwmchip_alloc() function

This prepares the pwm-lpc18xx-sct driver 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.

Link: https://lore.kernel.org/r/d480891340e927705843cd09e5777d4daaa6c9cc.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: lpc18xx-sct: Prepare removing pwm_chip from driver data
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:49 +0000 (10:31 +0100)]
pwm: lpc18xx-sct: Prepare removing pwm_chip from driver data

This prepares the driver for further changes that will drop struct
pwm_chip chip from struct lpc18xx_pwm_chip. Use the pwm_chip as driver
data instead of the lpc18xx_pwm_chip to get access to the pwm_chip in
lpc18xx_pwm_remove() without using lpc18xx_pwm->chip.

Link: https://lore.kernel.org/r/b7bf8c421ff754ec3e985ec6235f4ddd6e5e27a4.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: lpc18xx-sct: Make use of pwmchip_parent() accessor
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:48 +0000 (10:31 +0100)]
pwm: lpc18xx-sct: Make use of pwmchip_parent() accessor

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.

Link: https://lore.kernel.org/r/e4fb330c8dbf8fecd365afe3f8b33f8c7952eb38.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: lpc18xx-sct: Drop hardly used member from driver private data
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:47 +0000 (10:31 +0100)]
pwm: lpc18xx-sct: Drop hardly used member from driver private data

The device pointer is only used once in lpc18xx_pwm_request(). There the
pwm_chip is available, too, which has a pointer to the same structure.
Replace the usage accordingly and drop the then write-only member
variable.

Link: https://lore.kernel.org/r/427a719a24dd7ff5ebbac3e260a1773c094c7489.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: lp3943: Make use of devm_pwmchip_alloc() function
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:46 +0000 (10:31 +0100)]
pwm: lp3943: Make use of devm_pwmchip_alloc() function

This prepares the pwm-lp3943 driver 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.

Link: https://lore.kernel.org/r/44a2d303bb511e49c6db8aaedd17986c3aedde44.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: keembay: Make use of devm_pwmchip_alloc() function
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:45 +0000 (10:31 +0100)]
pwm: keembay: Make use of devm_pwmchip_alloc() function

This prepares the pwm-keembay driver 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.

Link: https://lore.kernel.org/r/f65c27bf0a1f9ba4e5dbb115ff628860163ff8e0.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: jz4740: Make use of devm_pwmchip_alloc() function
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:44 +0000 (10:31 +0100)]
pwm: jz4740: Make use of devm_pwmchip_alloc() function

This prepares the pwm-jz4740 driver 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: Paul Cercueil <paul@crapouillou.net>
Link: https://lore.kernel.org/r/14a081c097b4e7c7f346ca6557ece8d16ad5749d.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: jz4740: Make use of pwmchip_parent() accessor
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:43 +0000 (10:31 +0100)]
pwm: jz4740: Make use of pwmchip_parent() accessor

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.

Link: https://lore.kernel.org/r/86b8a362f1e50c5b95c43e056d03ee5ca66d1641.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: jz4740: Change prototype of a helper to prepare further changes
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:42 +0000 (10:31 +0100)]
pwm: jz4740: Change prototype of a helper to prepare further changes

This prepares the driver for further changes that will make it harder to
determine the pwm_chip from a given jz4740_pwm_chip. To just not have to
do that, rework jz4740_pwm_can_use_chn() to take a pwm_chip.

Link: https://lore.kernel.org/r/83b826f0bf58b93f26d3bc30b1a957f84eedf41a.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: iqs620a: Make use of devm_pwmchip_alloc() function
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:41 +0000 (10:31 +0100)]
pwm: iqs620a: Make use of devm_pwmchip_alloc() function

This prepares the pwm-iqs620a driver 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.

Link: https://lore.kernel.org/r/85cb0e73baadd76ede364abc4b57ee72000880e5.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: iqs620a: Prepare removing pwm_chip from driver data
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:40 +0000 (10:31 +0100)]
pwm: iqs620a: Prepare removing pwm_chip from driver data

This prepares the driver for further changes that will drop struct
pwm_chip chip from struct iqs620_pwm_private. The only two functions
that make use of struct iqs620_pwm_private::chip (apart from the probe
function that is handled later when converting to pwmchip_alloc()) only
use the chip's device pointer. Introduce such a pointer in driver data
and use that instead.

Link: https://lore.kernel.org/r/e6b1636c0d26d8bcb02a66b2963e2cc394014d76.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: iqs620a: Create a wrapper for converting a pwm_chip to driver data
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:39 +0000 (10:31 +0100)]
pwm: iqs620a: Create a wrapper for converting a pwm_chip to driver data

There is no semantic change. The new function just implements what was
open-coded twice in the driver before.

Link: https://lore.kernel.org/r/cc7ab547b4c4b79456b548aa72205bcf4476db8c.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: intel-lgm: Make use of devm_pwmchip_alloc() function
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:38 +0000 (10:31 +0100)]
pwm: intel-lgm: Make use of devm_pwmchip_alloc() function

This prepares the pwm-intel-lgm driver 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.

Link: https://lore.kernel.org/r/3b2be81b046fe2213736ad37153131d5f4c859f5.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: imx-tpm: Make use of devm_pwmchip_alloc() function
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:37 +0000 (10:31 +0100)]
pwm: imx-tpm: Make use of devm_pwmchip_alloc() function

This prepares the pwm-tmp driver 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.

Link: https://lore.kernel.org/r/5de5d53295fa445d58a79f83421dd3406166c3c6.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: imx27: Make use of devm_pwmchip_alloc() function
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:36 +0000 (10:31 +0100)]
pwm: imx27: Make use of devm_pwmchip_alloc() function

This prepares the pwm-imx27 driver 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.

Also convert the to_pwm_imx27_chip() helper macro to a static inline to
get some type safety.

Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Link: https://lore.kernel.org/r/3da748c80e9bbe29e7c119190dbc4bd67d159f22.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: imx27: Make use of pwmchip_parent() accessor
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:35 +0000 (10:31 +0100)]
pwm: imx27: Make use of pwmchip_parent() accessor

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.

Link: https://lore.kernel.org/r/a8e3e3b3ea0684c9b289999c6f09eedbc2520f54.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: imx1: Make use of devm_pwmchip_alloc() function
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:34 +0000 (10:31 +0100)]
pwm: imx1: Make use of devm_pwmchip_alloc() function

This prepares the pwm-imx1 driver 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.

Also convert the to_pwm_imx1_chip() helper macro to a static inline to
get some type safety.

Link: https://lore.kernel.org/r/c6995e0d281255a7514edf9f25a561302dcaf65f.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: img: Make use of devm_pwmchip_alloc() function
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:33 +0000 (10:31 +0100)]
pwm: img: Make use of devm_pwmchip_alloc() function

This prepares the pwm-img driver 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.

Link: https://lore.kernel.org/r/d99e00af2ff09cd3587d9a7c51dc8e0e13f85208.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: img: Prepare removing pwm_chip from driver data
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:32 +0000 (10:31 +0100)]
pwm: img: Prepare removing pwm_chip from driver data

This prepares the driver for further changes that will drop struct
pwm_chip chip from struct img_pwm_chip. Use the pwm_chip as driver data
instead of the img_pwm_chip to get access to the pwm_chip in
img_pwm_remove() and the PM callbacks without using imgchip->chip.

Link: https://lore.kernel.org/r/2ddf76d127f69eca7d9faa6475091e432e890ac9.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: img: Make use of pwmchip_parent() accessor
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:31 +0000 (10:31 +0100)]
pwm: img: Make use of pwmchip_parent() accessor

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.

Link: https://lore.kernel.org/r/bbea7e6e4c5412c6b0773faa9f165b6311cd53b6.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: img: Drop write-only variable from driver private data
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:30 +0000 (10:31 +0100)]
pwm: img: Drop write-only variable from driver private data

struct img_pwm_chip::dev is only assigned to, but the member variable is
never used. So drop it.

Link: https://lore.kernel.org/r/7b7de753caa453c7fe591228c9a45d0baf8b5878.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: hibvt: Make use of devm_pwmchip_alloc() function
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:29 +0000 (10:31 +0100)]
pwm: hibvt: Make use of devm_pwmchip_alloc() function

This prepares the pwm-hibvt driver 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.

Link: https://lore.kernel.org/r/7b12504b4128969bdc783bf2bff1ecc63b7c7bd4.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: hibvt: Consistently name driver data hi_pwm_chip
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:28 +0000 (10:31 +0100)]
pwm: hibvt: Consistently name driver data hi_pwm_chip

The driver uses two different names for variables of type
hibvt_pwm_chip:

$ git grep 'struct hibvt_pwm_chip \*' v6.8-rc1 drivers/pwm/pwm-hibvt.c
v6.8-rc1:drivers/pwm/pwm-hibvt.c:static inline struct hibvt_pwm_chip *to_hibvt_pwm_chip(struct pwm_chip *chip)
v6.8-rc1:drivers/pwm/pwm-hibvt.c:       struct hibvt_pwm_chip *hi_pwm_chip = to_hibvt_pwm_chip(chip);
v6.8-rc1:drivers/pwm/pwm-hibvt.c:       struct hibvt_pwm_chip *hi_pwm_chip = to_hibvt_pwm_chip(chip);
v6.8-rc1:drivers/pwm/pwm-hibvt.c:       struct hibvt_pwm_chip *hi_pwm_chip = to_hibvt_pwm_chip(chip);
v6.8-rc1:drivers/pwm/pwm-hibvt.c:       struct hibvt_pwm_chip *hi_pwm_chip = to_hibvt_pwm_chip(chip);
v6.8-rc1:drivers/pwm/pwm-hibvt.c:       struct hibvt_pwm_chip *hi_pwm_chip = to_hibvt_pwm_chip(chip);
v6.8-rc1:drivers/pwm/pwm-hibvt.c:       struct hibvt_pwm_chip *hi_pwm_chip = to_hibvt_pwm_chip(chip);
v6.8-rc1:drivers/pwm/pwm-hibvt.c:       struct hibvt_pwm_chip *pwm_chip;
v6.8-rc1:drivers/pwm/pwm-hibvt.c:       struct hibvt_pwm_chip *pwm_chip;

Most functions use "hi_pwm_chip" as name. Make use of this in the
remaining two functions (that used "pwm_chip" before, which isn't
optimal as this is a type name, too).

Link: https://lore.kernel.org/r/66ff5a9b00889ff0c576afc783424478fbbb9853.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: fsl-ftm: Make use of devm_pwmchip_alloc() function
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:27 +0000 (10:31 +0100)]
pwm: fsl-ftm: Make use of devm_pwmchip_alloc() function

This prepares the pwm-fsl-ftm driver 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.

Link: https://lore.kernel.org/r/b3c75dea5b2944402b14944fdf71a5db0e26cbd7.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: fsl-ftm: Prepare removing pwm_chip from driver data
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:26 +0000 (10:31 +0100)]
pwm: fsl-ftm: Prepare removing pwm_chip from driver data

This prepares the driver for further changes that will drop struct
pwm_chip chip from struct fsl_pwm_chip. Use the pwm_chip as driver data
instead of the fsl_pwm_chip to get access to the pwm_chip in
fsl_pwm_suspend() and fsl_pwm_resume() without using fpc->chip.

Link: https://lore.kernel.org/r/2cf27e2929505c05f84501d6fce96f23eba03fc3.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: fsl-ftm: Make use of pwmchip_parent() accessor
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:25 +0000 (10:31 +0100)]
pwm: fsl-ftm: Make use of pwmchip_parent() accessor

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.

Link: https://lore.kernel.org/r/131f976a8f876a88e2a940f5acf6aa1d81833b89.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: fsl-ftm: Change prototype of a helper to prepare further changes
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:24 +0000 (10:31 +0100)]
pwm: fsl-ftm: Change prototype of a helper to prepare further changes

This prepares the driver for further changes that will make it harder to
determine the pwm_chip from a given fsl_pwm_chip. To just not have to
do that, rework fsl_pwm_apply_config() to take a pwm_chip.

Link: https://lore.kernel.org/r/5f0e88afe25d6a218032891a34f963980814b760.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: ep93xx: Make use of devm_pwmchip_alloc() function
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:23 +0000 (10:31 +0100)]
pwm: ep93xx: Make use of devm_pwmchip_alloc() function

This prepares the pwm-ep93xx driver 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.

Link: https://lore.kernel.org/r/9420eeca1eb18fada4a15c897f60696b7b22b532.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: ep93xx: Make use of pwmchip_parent() accessor
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:22 +0000 (10:31 +0100)]
pwm: ep93xx: Make use of pwmchip_parent() accessor

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.

Link: https://lore.kernel.org/r/3bf56f20bc7f749e5a353cdcfad11dd1ba573381.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: dwc-core: Make use of pwmchip_parent() accessor
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:21 +0000 (10:31 +0100)]
pwm: dwc-core: Make use of pwmchip_parent() accessor

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.

Link: https://lore.kernel.org/r/5240ba82ac227e3723678041bd69b9c7a9e3db43.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: dwc: Make use of devm_pwmchip_alloc() function
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:20 +0000 (10:31 +0100)]
pwm: dwc: Make use of devm_pwmchip_alloc() function

This prepares the pwm-dwc driver 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.

Also convert the to_dwc_pwm() helper macro to a static inline to get
some type safety.

Link: https://lore.kernel.org/r/64e64a9a8644600d51b234ad9bcae951b5748998.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: dwc: Prepare removing pwm_chip from driver data
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:19 +0000 (10:31 +0100)]
pwm: dwc: Prepare removing pwm_chip from driver data

This prepares the driver for further changes that will drop struct
pwm_chip chip from struct dwc_pwm. Use the pwm_chip as driver
data and return value of dwc_pwm_alloc() instead of the dwc_pwm to get
access to the pwm_chip in dwc_pwm_probe() and dwc_pwm_suspend() without
using dwc->chip.

Thanks to Raag Jadav for providing a hunk of this patch that Uwe missed
during creation of this patch.

Link: https://lore.kernel.org/r/008ce5ab84b8e3baa3e81ab6d36dbb0e4be5c319.1707900770.git.u.kleine-koenig@pengutronix.de
Link: https://lore.kernel.org/r/20240219033835.11369-2-raag.jadav@intel.com
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: cros-ec: Make use of devm_pwmchip_alloc() function
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:18 +0000 (10:31 +0100)]
pwm: cros-ec: Make use of devm_pwmchip_alloc() function

This prepares the pwm-cros-ec driver 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.
The probe function had to be changed a bit because the number of PWMs
must be determined before allocation of the pwm_chip and its private
data now.

Reviewed-by: Tzung-Bi Shih <tzungbi@kernel.org>
Link: https://lore.kernel.org/r/b0afe9e25340f0a274ff3806687cf37a6cc31557.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: cros-ec: Make use of pwmchip_parent() accessor
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:17 +0000 (10:31 +0100)]
pwm: cros-ec: Make use of pwmchip_parent() accessor

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.

Reviewed-by: Tzung-Bi Shih <tzungbi@kernel.org>
Link: https://lore.kernel.org/r/486c40609bd9e339d7e5576e2501f63111b59b8b.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: cros-ec: Change prototype of helpers to prepare further changes
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:16 +0000 (10:31 +0100)]
pwm: cros-ec: Change prototype of helpers to prepare further changes

pwm_chip allocation and registration is about to change. For that the
number of PWM devices must be known earlier in cros_ec_pwm_probe(). So
make cros_ec_pwm_get_duty() and cros_ec_num_pwms() independent of
struct cros_ec_pwm_device which is only available later.

Reviewed-by: Tzung-Bi Shih <tzungbi@kernel.org>
Link: https://lore.kernel.org/r/c0cfc75c1cba0f735555e0138387143ec101feb3.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: crc: Make use of devm_pwmchip_alloc() function
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:15 +0000 (10:31 +0100)]
pwm: crc: Make use of devm_pwmchip_alloc() function

This prepares the pwm-crc driver 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.

Link: https://lore.kernel.org/r/bbe4896eabc240c678c66fabb6329f4e6cd04eda.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: crc: Make use of pwmchip_parent() accessor
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:14 +0000 (10:31 +0100)]
pwm: crc: Make use of pwmchip_parent() accessor

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.

Link: https://lore.kernel.org/r/a41b62365295be9debd4a9aaa80ca87fca35b320.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: crc: Simplify code to determine the pwmchip's parent device
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:13 +0000 (10:31 +0100)]
pwm: crc: Simplify code to determine the pwmchip's parent device

There is already a pointer to the pwmchip, make use of it directly
instead of using the struct crystalcove_pwm *crc_pwm just obtained from
it. This also has the advantage of not using struct
crystalcove_pwm::chip any more which will be dropped soon.

Link: https://lore.kernel.org/r/66d55649e13526bbd95d7bfd1cacfa0beb9efd43.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: clps711x: Make use of devm_pwmchip_alloc() function
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:12 +0000 (10:31 +0100)]
pwm: clps711x: Make use of devm_pwmchip_alloc() function

This prepares the pwm-clps711x driver 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.

Link: https://lore.kernel.org/r/334e633bb8e4c26dc59883b068466387769b65f9.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: clk: Make use of devm_pwmchip_alloc() function
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:11 +0000 (10:31 +0100)]
pwm: clk: Make use of devm_pwmchip_alloc() function

This prepares the pwm-clk driver 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.

Also convert the to_pwm_clk_chip() helper macro to a static inline to
get some type safety.

Link: https://lore.kernel.org/r/c02ccc955fe7a0aec7ce0ccaf5cd2bd902ae687f.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: clk: Prepare removing pwm_chip from driver data
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:10 +0000 (10:31 +0100)]
pwm: clk: Prepare removing pwm_chip from driver data

This prepares the driver for further changes that will drop struct
pwm_chip chip from struct pwm_clk_chip. Use the pwm_chip as driver data
instead of the pwm_clk_chip to get access to the pwm_chip in
pwm_clk_remove() without using pcchip->chip.

Link: https://lore.kernel.org/r/cfbb7c571489ac3d9ca13835b3bd038aaca69638.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: brcmstb: Make use of devm_pwmchip_alloc() function
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:09 +0000 (10:31 +0100)]
pwm: brcmstb: Make use of devm_pwmchip_alloc() function

This prepares the pwm-brcmstb driver 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.

Link: https://lore.kernel.org/r/adf9cb04f5d84ae604e97d4dc0708ff3677d72d7.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: berlin: Make use of devm_pwmchip_alloc() function
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:08 +0000 (10:31 +0100)]
pwm: berlin: Make use of devm_pwmchip_alloc() function

This prepares the pwm-berlin driver 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.

Link: https://lore.kernel.org/r/52866502c96a80d1c30be003dc1f5a89a4d230cc.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: berlin: Prepare removing pwm_chip from driver data
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:07 +0000 (10:31 +0100)]
pwm: berlin: Prepare removing pwm_chip from driver data

This prepares the driver for further changes that will drop struct
pwm_chip chip from struct berlin_pwm_chip. Use the pwm_chip as driver
data instead of the berlin_pwm_chip to get access to the pwm_chip in
berlin_pwm_suspend() and berlin_pwm_resume() without using bpc->chip.

Link: https://lore.kernel.org/r/d2a0c5b664ef1bfd4719c645c069717d63fb4e65.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: bcm-kona: Make use of devm_pwmchip_alloc() function
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:06 +0000 (10:31 +0100)]
pwm: bcm-kona: Make use of devm_pwmchip_alloc() function

This prepares the pwm-bcm-kona driver 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.

Link: https://lore.kernel.org/r/b50fe94dc72af602e7061839b24f48af6e005ef8.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: bcm-kona: Make use of pwmchip_parent() accessor
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:05 +0000 (10:31 +0100)]
pwm: bcm-kona: Make use of pwmchip_parent() accessor

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.

Link: https://lore.kernel.org/r/f0086ed37f30c4d25bf226e722f5ae52a73974d9.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: bcm-iproc: Make use of devm_pwmchip_alloc() function
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:04 +0000 (10:31 +0100)]
pwm: bcm-iproc: Make use of devm_pwmchip_alloc() function

This prepares the pwm-bcm-iproc driver 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.

Link: https://lore.kernel.org/r/cdc6136b94f685c85a615e9e5ccbd7ebb2f91cfc.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: bcm2835: Make use of devm_pwmchip_alloc() function
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:03 +0000 (10:31 +0100)]
pwm: bcm2835: Make use of devm_pwmchip_alloc() function

This prepares the pwm-bcm2835 driver 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.

Link: https://lore.kernel.org/r/441489772bdfbb2cd206fd534b36c63e8c50843a.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: atmel-tcb: Make use of devm_pwmchip_alloc() function
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:02 +0000 (10:31 +0100)]
pwm: atmel-tcb: Make use of devm_pwmchip_alloc() function

This prepares the pwm-atmel-tcb driver 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.

Link: https://lore.kernel.org/r/c845e6c9d27c8a4037755b2ae702b0039947a3c1.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: atmel-tcb: Prepare removing pwm_chip from driver data
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:01 +0000 (10:31 +0100)]
pwm: atmel-tcb: Prepare removing pwm_chip from driver data

This prepares the driver for further changes that will drop struct
pwm_chip chip from struct atmel_tcb_pwm_chip. Use the pwm_chip as driver
data instead of the atmel_tcb_pwm_chip to get access to the pwm_chip in
the .suspend() and .resume() callbacks and atmel_tcb_pwm_remove()
without using tcbpwm->chip.

Link: https://lore.kernel.org/r/6a90083e9d1ab1c34422161593d6d7a669143217.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: atmel-tcb: Make use of pwmchip_parent() accessor
Uwe Kleine-König [Wed, 14 Feb 2024 09:31:00 +0000 (10:31 +0100)]
pwm: atmel-tcb: Make use of pwmchip_parent() accessor

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.

Link: https://lore.kernel.org/r/463d43cab01f97f3c4247c63cc08e76aa15684c4.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: atmel-hlcdc: Make use of devm_pwmchip_alloc() function
Uwe Kleine-König [Wed, 14 Feb 2024 09:30:59 +0000 (10:30 +0100)]
pwm: atmel-hlcdc: Make use of devm_pwmchip_alloc() function

This prepares the pwm-atmel-hlcdc driver 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.

Link: https://lore.kernel.org/r/4724c6a0f052160ac80ba5a3065c9470778b7457.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: atmel-hlcdc: Prepare removing pwm_chip from driver data
Uwe Kleine-König [Wed, 14 Feb 2024 09:30:58 +0000 (10:30 +0100)]
pwm: atmel-hlcdc: Prepare removing pwm_chip from driver data

This prepares the driver for further changes that will drop struct
pwm_chip chip from struct atmel_hlcdc_pwm. Use the pwm_chip as driver
data instead of the atmel_hlcdc_pwm to get access to the pwm_chip in
the .suspend() and .resume() callbacks and atmel_hlcdc_pwm_remove()
without using atmel->chip.

Link: https://lore.kernel.org/r/0e97342f15540c7330d405eaaf3e68baa8e1e488.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: atmel: Make use of devm_pwmchip_alloc() function
Uwe Kleine-König [Wed, 14 Feb 2024 09:30:57 +0000 (10:30 +0100)]
pwm: atmel: Make use of devm_pwmchip_alloc() function

This prepares the pwm-atmel driver 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.

Link: https://lore.kernel.org/r/f2a83af5660de461b4dcaf76929e9813bddfeff1.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: atmel: Make use of pwmchip_parent() accessor
Uwe Kleine-König [Wed, 14 Feb 2024 09:30:56 +0000 (10:30 +0100)]
pwm: atmel: Make use of pwmchip_parent() accessor

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.

Link: https://lore.kernel.org/r/f8ca10033204111e4eb2e7a4dad0bd1f7586c735.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: atmel: Change prototype of a helper to prepare further changes
Uwe Kleine-König [Wed, 14 Feb 2024 09:30:55 +0000 (10:30 +0100)]
pwm: atmel: Change prototype of a helper to prepare further changes

This prepares the driver for further changes that will make it harder to
determine the pwm_chip from a given atmel_pwm_chip. To just not have to
do that, rework atmel_pwm_enable_clk_if_on() to take a pwm_chip.

Link: https://lore.kernel.org/r/c9a92f77760e401debfe0c9bfc086222f31fb3c4.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: apple: Make use of devm_pwmchip_alloc() function
Uwe Kleine-König [Wed, 14 Feb 2024 09:30:54 +0000 (10:30 +0100)]
pwm: apple: Make use of devm_pwmchip_alloc() function

This prepares the pwm-apple driver 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.

Link: https://lore.kernel.org/r/34cf20a82ca07bb4ec0578b193daa5caed37825e.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: ab8500: Make use of devm_pwmchip_alloc() function
Uwe Kleine-König [Wed, 14 Feb 2024 09:30:53 +0000 (10:30 +0100)]
pwm: ab8500: Make use of devm_pwmchip_alloc() function

This prepares the pwm-ab8500 driver 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.

Link: https://lore.kernel.org/r/9c952baafe7e53c482adf23215138724b61e376b.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: ab8500: Introduce a local pwm_chip variable in .probe()
Uwe Kleine-König [Wed, 14 Feb 2024 09:30:52 +0000 (10:30 +0100)]
pwm: ab8500: Introduce a local pwm_chip variable in .probe()

This simplifies converting the driver to pwmchip_alloc() as there is only
a single code line left that makes use of struct ab8500_pwm_chip::chip.

Link: https://lore.kernel.org/r/7fae4833b97728abc8bd400663fdd331c86a761b.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: ab8500: Make use of pwmchip_parent() accessor
Uwe Kleine-König [Wed, 14 Feb 2024 09:30:51 +0000 (10:30 +0100)]
pwm: ab8500: Make use of pwmchip_parent() accessor

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.

Link: https://lore.kernel.org/r/24028d8d0add621a0c054235e6281a05a83d8fb4.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: Provide pwmchip_alloc() function and a devm variant of it
Uwe Kleine-König [Wed, 14 Feb 2024 09:30:50 +0000 (10:30 +0100)]
pwm: Provide pwmchip_alloc() function and a devm variant of it

This function allocates a struct pwm_chip and driver data. Compared to
the status quo the split into pwm_chip and driver data is new, otherwise
it doesn't change anything relevant (yet).

The intention is that after all drivers are switched to use this
allocation function, its possible to add a struct device to struct
pwm_chip to properly track the latter's lifetime without touching all
drivers again. Proper lifetime tracking is a necessary precondition to
introduce character device support for PWMs (that implements atomic
setting and doesn't suffer from the sysfs overhead of the /sys/class/pwm
userspace support).

The new function pwmchip_priv() (obviously?) only works for chips
allocated with pwmchip_alloc().

Link: https://lore.kernel.org/r/9577d6053a5a52536057dc8654ff567181c2da82.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: Provide wrappers for storing and getting driver private data
Uwe Kleine-König [Wed, 14 Feb 2024 09:30:49 +0000 (10:30 +0100)]
pwm: Provide wrappers for storing and getting driver private data

These functions are useful to store and query driver private data
depending on the pwm_chip. After struct pwm_chip got its own struct
device, this can make use of dev_get_drvdata() and dev_set_drvdata() on
that device. These functions are required already now to convert
drivers to pwmchip_alloc() which must happen before changing
pwm_chip::dev.

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/67514cdf29d29bd8b4ad8d44fac87f6ae6dca1e5.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: Provide an inline function to get the parent device of a given chip
Uwe Kleine-König [Wed, 14 Feb 2024 09:30:48 +0000 (10:30 +0100)]
pwm: Provide an inline function to get the parent device of a given chip

Currently a pwm_chip stores in its struct device *dev member a pointer
to the parent device. Preparing a change that embeds a full struct
device in struct pwm_chip, this accessor function should be used in all
drivers directly accessing chip->dev now. This way struct pwm_chip and
this new function can be changed without having to touch all drivers in
the same change set.

Make use of this function in the framework's core sources.

Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lore.kernel.org/r/cc30090d2f9762bed9854a55612144bccc910781.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: mediatek: add support for MT7988
Rafał Miłecki [Wed, 14 Feb 2024 14:04:54 +0000 (15:04 +0100)]
pwm: mediatek: add support for MT7988

MT7988 uses new registers layout just like MT7981 but it supports 8 PWM
interfaces.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Reviewed-by: Daniel Golle <daniel@makrotopia.org>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20240214140454.6438-2-zajec5@gmail.com
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agodt-bindings: pwm: mediatek,mt2712: add compatible for MT7988
Rafał Miłecki [Wed, 14 Feb 2024 14:04:53 +0000 (15:04 +0100)]
dt-bindings: pwm: mediatek,mt2712: add compatible for MT7988

MT7988 has on-SoC controller that can control up to 8 PWM interfaces. It
differs from blocks on other SoCs (amount of PWMs & registers) so it
needs its own compatible string.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20240214140454.6438-1-zajec5@gmail.com
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: dwc: access driver_data using dev_get_drvdata()
Raag Jadav [Thu, 8 Feb 2024 07:05:28 +0000 (12:35 +0530)]
pwm: dwc: access driver_data using dev_get_drvdata()

Now that we're setting driver_data using dev_set_drvdata(), we can use
dev_get_drvdata() for accessing it.

Signed-off-by: Raag Jadav <raag.jadav@intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20240212130247.9985-6-raag.jadav@intel.com
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agodt-bindings: atmel,hlcdc: convert pwm bindings to json-schema
Dharma Balasubiramani [Fri, 2 Feb 2024 00:17:32 +0000 (05:47 +0530)]
dt-bindings: atmel,hlcdc: convert pwm bindings to json-schema

Convert device tree bindings for Atmel's HLCDC PWM controller to YAML
format.

Signed-off-by: Dharma Balasubiramani <dharma.b@microchip.com>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20240202001733.91455-3-dharma.b@microchip.com
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: imx27: Don't use pwm consumer API
Uwe Kleine-König [Fri, 26 Jan 2024 10:16:25 +0000 (11:16 +0100)]
pwm: imx27: Don't use pwm consumer API

Lowlevel driver callbacks are not supposed to use the consumer API
functions. Currently this works, but with the upcoming locking changes
this maybe results in dead locks. So directly access pwm->state.

Link: https://lore.kernel.org/r/20240126101624.2056801-2-u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: atmel: Don't use pwm consumer API
Uwe Kleine-König [Mon, 29 Jan 2024 08:56:25 +0000 (09:56 +0100)]
pwm: atmel: Don't use pwm consumer API

Lowlevel driver callbacks are not supposed to use the consumer API
functions. Currently this works, but with the upcoming locking changes
this probably results in dead locks.

Reviewed-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>
Link: https://lore.kernel.org/r/20240129085627.2386470-2-u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: atmel-hlcdc: Don't use pwm consumer API
Uwe Kleine-König [Fri, 26 Jan 2024 12:04:34 +0000 (13:04 +0100)]
pwm: atmel-hlcdc: Don't use pwm consumer API

Lowlevel driver callbacks are not supposed to use the consumer API
functions. Currently this works, but with the upcoming locking changes
this probably results in dead locks.

Reviewed-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>
Link: https://lore.kernel.org/r/6e34607828b290cd64ca9f82df40872853069f07.1706269232.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: bcm2835: Drop write-only member of driver private data
Uwe Kleine-König [Mon, 29 Jan 2024 08:10:30 +0000 (09:10 +0100)]
pwm: bcm2835: Drop write-only member of driver private data

Since commit fcc760729359 ("pwm: bcm2835: Allow PWM driver to be used in
atomic context") struct bcm2835_pwm::dev is only assigned a value, but
it's never used. So the dev member can just be dropped.

Link: https://lore.kernel.org/r/20240129081029.2355612-2-u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: Reorder symbols in core.c
Uwe Kleine-König [Thu, 25 Jan 2024 12:08:23 +0000 (13:08 +0100)]
pwm: Reorder symbols in core.c

This moves the functions called by pwm consumers above the functions
called by pwm providers. When character device support is added later
this is hooked into the chip registration functions. As the needed
callbacks are a kind of consumer and make use of the consumer functions,
having this order is more natural and prevents having to add
declarations for static functions.

Also move the global variables for pwm tables to the respective
functions to have them properly grouped.

Link: https://lore.kernel.org/r/eed83de07bdfb69b5ceba0b9aed757ee612dea8f.1706182805.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agodt-bindings: pxa-pwm: Convert to YAML
Duje Mihanović [Sun, 7 Jan 2024 11:46:59 +0000 (12:46 +0100)]
dt-bindings: pxa-pwm: Convert to YAML

Convert the PXA PWM binding file from TXT to YAML.

The original binding does not mention any clocks, but the PWM controller
will not probe without a clock.

Reviewed-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Duje Mihanović <duje.mihanovic@skole.hr>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20240107-pxa-pwm-yaml-v3-1-92ac90911c3f@skole.hr
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: mediatek: Update kernel doc for struct pwm_mediatek_of_data
Uwe Kleine-König [Thu, 25 Jan 2024 08:56:49 +0000 (09:56 +0100)]
pwm: mediatek: Update kernel doc for struct pwm_mediatek_of_data

The struct never had a member called clk_freq. This fixes the W=1
warning:

drivers/pwm/pwm-mediatek.c:60: warning: Excess struct member 'clk_freq' description in 'pwm_mediatek_chip'

Fixes: efecdeb82f21 ("pwm: mediatek: Allocate the clks array dynamically")
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20240125085649.1571268-2-u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: Drop duplicate check against chip->npwm in of_pwm_xlate_with_flags()
Uwe Kleine-König [Tue, 9 Jan 2024 21:34:35 +0000 (22:34 +0100)]
pwm: Drop duplicate check against chip->npwm in of_pwm_xlate_with_flags()

args->args[0] is passed as parameter "index" to pwm_request_from_chip().
The latter function also checks for index >= npwm, so
of_pwm_xlate_with_flags() doesn't need to do that.

Link: https://lore.kernel.org/r/b06e445a6ed62a339add727eccb969a33d678386.1704835845.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: clps711x: Drop custom .of_xlate() callback
Uwe Kleine-König [Tue, 9 Jan 2024 21:34:34 +0000 (22:34 +0100)]
pwm: clps711x: Drop custom .of_xlate() callback

The default of_xlate callback (of_pwm_xlate_with_flags()) does
everything the drivers expects from its .of_xlate() callback. So drop
the custom implementation.

Link: https://lore.kernel.org/r/f58336c298d536107de5cab6a57e19f957ab326c.1704835845.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: Let the of_xlate callbacks accept references without period
Uwe Kleine-König [Tue, 9 Jan 2024 21:34:33 +0000 (22:34 +0100)]
pwm: Let the of_xlate callbacks accept references without period

With this extension of_pwm_xlate_with_flags() is suitable to replace the
custom xlate function of the pwm-clps711x driver.

While touching these very similar functions align their implementations.

Link: https://lore.kernel.org/r/127622315d07d9d419ae8e6373c7e5be7fab7a62.1704835845.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: Drop useless member .of_pwm_n_cells of struct pwm_chip
Uwe Kleine-König [Tue, 9 Jan 2024 21:34:32 +0000 (22:34 +0100)]
pwm: Drop useless member .of_pwm_n_cells of struct pwm_chip

Apart from the two of_xlate implementations this member is write-only.
In the of_xlate functions of_pwm_xlate_with_flags() and
of_pwm_single_xlate() it's more sensible to check for args->args_count
because this is what is actually used in the device tree.

Acked-by: Douglas Anderson <dianders@chromium.org>
Link: https://lore.kernel.org/r/53d8c545aa8f79a920358be9e72e382b3981bdc4.1704835845.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
7 months agopwm: dwc: use pm_sleep_ptr() macro
Raag Jadav [Thu, 8 Feb 2024 07:05:29 +0000 (12:35 +0530)]
pwm: dwc: use pm_sleep_ptr() macro

Since we don't have runtime PM handles here, we should be using
pm_sleep_ptr() macro, so that the compiler can discard it in case
CONFIG_PM_SLEEP=n.

Fixes: 30b5b066fa83 ("pwm: dwc: Use DEFINE_SIMPLE_DEV_PM_OPS for PM functions")
Signed-off-by: Raag Jadav <raag.jadav@intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20240212130247.9985-2-raag.jadav@intel.com
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>