[PATCH v8 0/5] DesignWare PWM driver updates

From: Ben Dooks
Date: Wed Jun 14 2023 - 13:15:23 EST


This series is an update for the DesignWare PWM driver to add support for
OF (and split the PCI bits out if aynone else wants them). This is mostly
the same as the v7 series, but with code moved around and module-namespace
added, plus review comments processed.

Since we no longer have the hardware, the clock code hasn't been changed to
either lock the rate whilst the PWM is running, or to deal with any sort
of change callback. This is left to future work (and I would rather get
something in that does currently work) (second note, the hardware we did
use had a fixed clock tree anyway)

This account is probably going away soon, I have cc'd my main work
email to catch any responses.

Thank you all for the reviews.

The lengthy changelog:

v8:
- updated reviewed tags
- fix module name for pci version
- fix config symbol bug in makefile
- remove pci compile-test (mostly not used for pci)
- push the compile-test into the platform/of driver
v7:
- fixup kconfig from previous pcie changes
- re-order kconfig to make dwc core be selected by PCI driver
- move clk variable to patch it is used in
v6:
- fix removal ordering of DWC_PERIOD_NS
v5:
- fixed kconfig string error
- merged pwm-nr into main of code
- split of code from pci code
- updated pwm-nr capping
- fix duplicate error reporting in of-code
- fix return in of-probe
- remove unecessary remove function as devm_ functions sort this
- fixed ordering of properties
- added missing reg item
- fixed missing split of the two clock sources.
- get bus clock in of code
v4:
- split pci and of into new modules
- fixup review comments
- fix typos in dt-bindings
v3:
- change the compatible name
- squash down pwm count patch
- fixup patch naming
v2:
- fix #pwm-cells count to be 3
- fix indetation
- merge the two clock patches
- add HAS_IOMEM as a config dependency

Ben Dooks (5):
pwm: dwc: split pci out of core driver
pwm: dwc: make timer clock configurable
pwm: dwc: add PWM bit unset in get_state call
pwm: dwc: use clock rate in hz to avoid rounding issues
pwm: dwc: add of/platform support

drivers/pwm/Kconfig | 24 ++++-
drivers/pwm/Makefile | 2 +
drivers/pwm/pwm-dwc-core.c | 196 ++++++++++++++++++++++++++++++++++++
drivers/pwm/pwm-dwc-of.c | 78 +++++++++++++++
drivers/pwm/pwm-dwc.c | 198 +------------------------------------
drivers/pwm/pwm-dwc.h | 61 ++++++++++++
6 files changed, 364 insertions(+), 195 deletions(-)
create mode 100644 drivers/pwm/pwm-dwc-core.c
create mode 100644 drivers/pwm/pwm-dwc-of.c
create mode 100644 drivers/pwm/pwm-dwc.h

--
2.39.2