pwm: jz4740: Use clocks from TCU driver
authorPaul Cercueil <paul@crapouillou.net>
Mon, 23 Mar 2020 14:24:18 +0000 (15:24 +0100)
committerThierry Reding <thierry.reding@gmail.com>
Mon, 30 Mar 2020 16:03:09 +0000 (18:03 +0200)
commitce1f9cece057843a03a6b9de361a03eb37dd3fac
tree78fa65b5503c5cce3c9934dfc888e95c11132b16
parentd3817a647059a3e5f8791e9b7225d194985aa75f
pwm: jz4740: Use clocks from TCU driver

The ingenic-timer "TCU" driver provides us with clocks, that can be
(un)gated, reparented or reclocked from devicetree, instead of having
these settings hardcoded in this driver.

The new code now uses a clk pointer per PWM (instead of a clk per
pwm-chip before). So the pointer is stored in per-pwm data now.
The calls to arch-specific timer code is replaced with standard
clock API calls to start and stop each channel's clock.

While this driver is devicetree-compatible, it is never (as of now)
probed from devicetree, so this change does not introduce a ABI problem
with current devicetree files.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Tested-by: Mathieu Malaterre <malat@debian.org>
Tested-by: Artur Rojek <contact@artur-rojek.eu>
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
drivers/pwm/Kconfig
drivers/pwm/pwm-jz4740.c