1
0
Fork 0

pwm: imx27: Only enable the clocks once in .get_state()

Currently the function pwm_imx27_get_state() of enables the clocks once
unconditionally at the start, a second time if the PWM is enabled and
disables unconditionally at the end.

Simplify that to enable once at the start and disable conditionally at
the end.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
hifive-unleashed-5.1
Uwe Kleine-König 2019-01-10 20:33:53 +01:00 committed by Thierry Reding
parent b4f9a7268d
commit 519ef9b5f2
1 changed files with 4 additions and 7 deletions

View File

@ -125,14 +125,10 @@ static void pwm_imx27_get_state(struct pwm_chip *chip,
val = readl(imx->mmio_base + MX3_PWMCR);
if (val & MX3_PWMCR_EN) {
if (val & MX3_PWMCR_EN)
state->enabled = true;
ret = pwm_imx27_clk_prepare_enable(chip);
if (ret)
return;
} else {
else
state->enabled = false;
}
switch (FIELD_GET(MX3_PWMCR_POUTC, val)) {
case MX3_PWMCR_POUTC_NORMAL:
@ -164,7 +160,8 @@ static void pwm_imx27_get_state(struct pwm_chip *chip,
state->duty_cycle = 0;
}
pwm_imx27_clk_disable_unprepare(chip);
if (!state->enabled)
pwm_imx27_clk_disable_unprepare(chip);
}
static void pwm_imx27_sw_reset(struct pwm_chip *chip)