[PATCH] pwm: imx: keep peripheral clock enabled during register access

From: Stefan Agner
Date: Thu Dec 29 2016 - 09:10:17 EST


On some platforms (i.MX 7) the peripheral clock is required during
register access. Make sure that the clock is kept enabled when
accessing registers.

Signed-off-by: Stefan Agner <stefan@xxxxxxxx>
---
Hi Thierry, hi Lukasz,

This patch applies ontop of Lukasz "pwm: imx: Provide atomic operation
for IMX PWM driver" patchset. With that, my expressed concern to patch
2 is solved.

--
Stefan

drivers/pwm/pwm-imx.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/pwm/pwm-imx.c b/drivers/pwm/pwm-imx.c
index a21463436aa4..fbd997514a87 100644
--- a/drivers/pwm/pwm-imx.c
+++ b/drivers/pwm/pwm-imx.c
@@ -192,7 +192,7 @@ static int imx_pwm_apply_v2(struct pwm_chip *chip, struct pwm_device *pwm,
period_cycles = 0;

/* Enable the clock if the PWM is being enabled. */
- if (state->enabled && !cstate.enabled) {
+ if (!cstate.enabled) {
ret = clk_prepare_enable(imx->clk_per);
if (ret)
return ret;
@@ -223,7 +223,7 @@ static int imx_pwm_apply_v2(struct pwm_chip *chip, struct pwm_device *pwm,
writel(cr, imx->mmio_base + MX3_PWMCR);

/* Disable the clock if the PWM is being disabled. */
- if (!state->enabled && cstate.enabled)
+ if (!state->enabled)
clk_disable_unprepare(imx->clk_per);

return 0;
--
2.11.0