summaryrefslogtreecommitdiff
path: root/drivers/pwm/pwm-dwc.h
diff options
context:
space:
mode:
authorRaag Jadav <raag.jadav@intel.com>2024-04-15 10:40:51 +0300
committerUwe Kleine-König <u.kleine-koenig@pengutronix.de>2024-04-15 18:28:13 +0300
commita2ac1cbc5397eb4e400efa66c3337886d9a63026 (patch)
tree88f9862d058ad7b8a56f6e0c2c07412575360af5 /drivers/pwm/pwm-dwc.h
parent73dfe970c038d0548beccc5bfb2707e1d543b01f (diff)
downloadlinux-a2ac1cbc5397eb4e400efa66c3337886d9a63026.tar.xz
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>
Diffstat (limited to 'drivers/pwm/pwm-dwc.h')
-rw-r--r--drivers/pwm/pwm-dwc.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/pwm/pwm-dwc.h b/drivers/pwm/pwm-dwc.h
index a8b074841ae8..c6e2df5a6122 100644
--- a/drivers/pwm/pwm-dwc.h
+++ b/drivers/pwm/pwm-dwc.h
@@ -38,6 +38,12 @@ struct dwc_pwm_info {
unsigned int size;
};
+struct dwc_pwm_drvdata {
+ const struct dwc_pwm_info *info;
+ void __iomem *io_base;
+ struct pwm_chip *chips[];
+};
+
struct dwc_pwm_ctx {
u32 cnt;
u32 cnt2;