linux-pwm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] pwm: imx: keep peripheral clock enabled during register access
@ 2016-12-29 14:10 Stefan Agner
  0 siblings, 0 replies; only message in thread
From: Stefan Agner @ 2016-12-29 14:10 UTC (permalink / raw)
  To: l.majewski, thierry.reding
  Cc: s.hauer, linux-pwm, bhuvanchandra.dv, linux-kernel, fabio.estevam,
	boris.brezillon, LW, kernel, shawnguo, Stefan Agner

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@agner.ch>
---
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

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2016-12-29 14:10 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-12-29 14:10 [PATCH] pwm: imx: keep peripheral clock enabled during register access Stefan Agner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).