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 <[email protected]> --- 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

