linux/drivers/pwm
Raag Jadav a2ac1cbc53 pwm: dwc: allow suspend/resume for 16 channels
With 16 channel pwm support, we're registering two instances of pwm_chip
with 8 channels each. We need to update PM functions to use both instances
of pwm_chip during power state transitions.

Introduce struct dwc_pwm_drvdata and use it as driver_data, which will
maintain both instances of pwm_chip along with dwc_pwm_info and allow us
to use them inside suspend/resume handles.

Fixes: ebf2c89eb9 ("pwm: dwc: Add 16 channel support for Intel Elkhart Lake")
Signed-off-by: Raag Jadav <raag.jadav@intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20240415074051.14681-1-raag.jadav@intel.com
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2024-04-15 17:28:13 +02:00
..
core.c pwm: Fix setting period with #pwm-cells = <1> and of_pwm_single_xlate() 2024-03-29 13:50:10 +01:00
Kconfig pwm: dwc: split pci out of core driver 2023-10-13 10:07:17 +02:00
Makefile pwm: dwc: split pci out of core driver 2023-10-13 10:07:17 +02:00
pwm-ab8500.c pwm: ab8500: Make use of devm_pwmchip_alloc() function 2024-02-15 12:59:19 +01:00
pwm-apple.c pwm: apple: Make use of devm_pwmchip_alloc() function 2024-02-15 12:59:19 +01:00
pwm-atmel-hlcdc.c pwm: atmel-hlcdc: Make use of devm_pwmchip_alloc() function 2024-02-15 12:59:19 +01:00
pwm-atmel-tcb.c pwm: atmel-tcb: Make use of devm_pwmchip_alloc() function 2024-02-15 12:59:20 +01:00
pwm-atmel.c pwm: atmel: Make use of devm_pwmchip_alloc() function 2024-02-15 12:59:19 +01:00
pwm-bcm2835.c pwm: bcm2835: Make use of devm_pwmchip_alloc() function 2024-02-15 12:59:20 +01:00
pwm-bcm-iproc.c pwm: bcm-iproc: Make use of devm_pwmchip_alloc() function 2024-02-15 12:59:20 +01:00
pwm-bcm-kona.c pwm: bcm-kona: Make use of devm_pwmchip_alloc() function 2024-02-15 12:59:20 +01:00
pwm-berlin.c pwm: berlin: Make use of devm_pwmchip_alloc() function 2024-02-15 12:59:20 +01:00
pwm-brcmstb.c pwm: brcmstb: Make use of devm_pwmchip_alloc() function 2024-02-15 12:59:20 +01:00
pwm-clk.c pwm: clk: Make use of devm_pwmchip_alloc() function 2024-02-15 12:59:20 +01:00
pwm-clps711x.c pwm: clps711x: Make use of devm_pwmchip_alloc() function 2024-02-15 12:59:21 +01:00
pwm-crc.c pwm: crc: Make use of devm_pwmchip_alloc() function 2024-02-15 12:59:21 +01:00
pwm-cros-ec.c pwm: cros-ec: Make use of devm_pwmchip_alloc() function 2024-02-15 12:59:21 +01:00
pwm-dwc-core.c pwm: dwc: allow suspend/resume for 16 channels 2024-04-15 17:28:13 +02:00
pwm-dwc.c pwm: dwc: allow suspend/resume for 16 channels 2024-04-15 17:28:13 +02:00
pwm-dwc.h pwm: dwc: allow suspend/resume for 16 channels 2024-04-15 17:28:13 +02:00
pwm-ep93xx.c pwm: ep93xx: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:08 +01:00
pwm-fsl-ftm.c pwm: fsl-ftm: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:09 +01:00
pwm-hibvt.c pwm: hibvt: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:09 +01:00
pwm-img.c pwm: img: fix pwm clock lookup 2024-03-25 07:31:26 +01:00
pwm-imx1.c pwm: imx1: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:09 +01:00
pwm-imx27.c pwm: imx27: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:09 +01:00
pwm-imx-tpm.c pwm: imx-tpm: fix probe crash due to access registers without clock 2024-03-04 11:45:22 +01:00
pwm-intel-lgm.c pwm: intel-lgm: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:10 +01:00
pwm-iqs620a.c pwm: iqs620a: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:10 +01:00
pwm-jz4740.c pwm: jz4740: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:10 +01:00
pwm-keembay.c pwm: keembay: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:10 +01:00
pwm-lp3943.c pwm: lp3943: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:10 +01:00
pwm-lpc18xx-sct.c pwm: lpc18xx-sct: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:11 +01:00
pwm-lpc32xx.c pwm: lpc32xx: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:11 +01:00
pwm-lpss-pci.c pwm: lpss-*: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:11 +01:00
pwm-lpss-platform.c pwm: lpss-*: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:11 +01:00
pwm-lpss.c pwm: lpss-*: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:11 +01:00
pwm-lpss.h pwm: lpss-*: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:11 +01:00
pwm-mediatek.c pwm: mediatek: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:11 +01:00
pwm-meson.c pwm: meson: generalize 4 inputs clock on meson8 pwm type 2024-03-02 11:00:45 +01:00
pwm-microchip-core.c pwm: microchip-core: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:12 +01:00
pwm-mtk-disp.c pwm: mtk-disp: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:12 +01:00
pwm-mxs.c pwm: mxs: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:12 +01:00
pwm-ntxec.c pwm: ntxec: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:12 +01:00
pwm-omap-dmtimer.c pwm: omap-dmtimer: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:12 +01:00
pwm-pca9685.c pwm: pca9685: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:13 +01:00
pwm-pxa.c pwm: pxa: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:13 +01:00
pwm-raspberrypi-poe.c pwm: raspberrypi-poe: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:13 +01:00
pwm-rcar.c pwm: rcar: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:13 +01:00
pwm-renesas-tpu.c pwm: renesas-tpu: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:13 +01:00
pwm-rockchip.c pwm: rockchip: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:14 +01:00
pwm-rz-mtu3.c pwm: rz-mtu3: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:14 +01:00
pwm-samsung.c pwm: samsung: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:14 +01:00
pwm-sifive.c pwm: sifive: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:15 +01:00
pwm-sl28cpld.c pwm: sl28cpld: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:15 +01:00
pwm-spear.c pwm: spear: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:15 +01:00
pwm-sprd.c pwm: sprd: Make use of devm_pwmchip_alloc() function 2024-02-22 14:39:10 +01:00
pwm-sti.c pwm: sti: Make use of devm_pwmchip_alloc() function 2024-02-22 14:39:22 +01:00
pwm-stm32-lp.c pwm: stm32-lp: Make use of devm_pwmchip_alloc() function 2024-02-22 14:39:25 +01:00
pwm-stm32.c pwm: stm32: Make use of devm_pwmchip_alloc() function 2024-02-22 14:39:24 +01:00
pwm-stmpe.c pwm: stmpe: Make use of devm_pwmchip_alloc() function 2024-02-22 14:39:25 +01:00
pwm-sun4i.c pwm: sun4i: Make use of devm_pwmchip_alloc() function 2024-02-22 14:39:25 +01:00
pwm-sunplus.c pwm: sunplus: Make use of devm_pwmchip_alloc() function 2024-02-22 14:39:25 +01:00
pwm-tegra.c pwm: tegra: Make use of devm_pwmchip_alloc() function 2024-02-22 14:39:26 +01:00
pwm-tiecap.c pwm: tiecap: Make use of devm_pwmchip_alloc() function 2024-02-22 14:39:26 +01:00
pwm-tiehrpwm.c pwm: tiehrpwm: Make use of devm_pwmchip_alloc() function 2024-02-22 14:39:26 +01:00
pwm-twl-led.c pwm: twl-led: Make use of devm_pwmchip_alloc() function 2024-02-22 14:39:27 +01:00
pwm-twl.c pwm: twl: Make use of devm_pwmchip_alloc() function 2024-02-22 14:39:27 +01:00
pwm-visconti.c pwm: visconti: Make use of devm_pwmchip_alloc() function 2024-02-22 14:39:27 +01:00
pwm-vt8500.c pwm: vt8500: Make use of devm_pwmchip_alloc() function 2024-02-22 14:39:27 +01:00
pwm-xilinx.c pwm: xilinx: Make use of devm_pwmchip_alloc() function 2024-02-22 14:39:28 +01:00
sysfs.c pwm: Provide an inline function to get the parent device of a given chip 2024-02-15 12:37:29 +01:00