[PATCH v9 0/6] designware pwm driver updates

From: Ben Dooks
Date: Thu Sep 07 2023 - 12:47:16 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 v8 series, but with code moved around and module-namespace
added, plus review comments processed.

We no longer have access to the hardware to test any further modifications.

I've not added the tested-by tags as there have been alterations to this
series.

Note, the dt binding seems to have already been applied.

The lengthy changelog:

v9:
- fix multi-line comment issue
- changed rounding in calc-rate code
- changed email addresses to codethink one
- fix spelling mistake(s)
- add clk_rate_exclusive_get() to lock clock rate for now
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 (6):
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: round rate divisions up
pwm: dwc: add of/platform support

drivers/pwm/Kconfig | 24 ++++-
drivers/pwm/Makefile | 2 +
drivers/pwm/pwm-dwc-core.c | 197 ++++++++++++++++++++++++++++++++++++
drivers/pwm/pwm-dwc-of.c | 93 +++++++++++++++++
drivers/pwm/pwm-dwc.c | 198 +------------------------------------
drivers/pwm/pwm-dwc.h | 61 ++++++++++++
6 files changed, 380 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.40.1