pwm: dwc: allow suspend/resume for 16 channels
authorRaag Jadav <raag.jadav@intel.com>
Mon, 15 Apr 2024 07:40:51 +0000 (13:10 +0530)
committerUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Mon, 15 Apr 2024 15:28:13 +0000 (17:28 +0200)
commita2ac1cbc5397eb4e400efa66c3337886d9a63026
tree88f9862d058ad7b8a56f6e0c2c07412575360af5
parent73dfe970c038d0548beccc5bfb2707e1d543b01f
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: ebf2c89eb95e ("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>
drivers/pwm/pwm-dwc-core.c
drivers/pwm/pwm-dwc.c
drivers/pwm/pwm-dwc.h