Commit fe8255f8 authored by Uwe Kleine-König's avatar Uwe Kleine-König Committed by Thierry Reding
Browse files

pwm: spear: Ensure configuring period and duty_cycle isn't wrongly skipped



As the last call to spear_pwm_apply() might have exited early if
state->enabled was false, the values for period and duty_cycle stored in
pwm->state might not have been written to hardware and it must be
ensured that they are configured before enabling the PWM.

Fixes: 98761ce4 ("pwm: spear: Implement .apply() callback")
Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: default avatarThierry Reding <thierry.reding@gmail.com>
parent 65e2e6c1
Loading
Loading
Loading
Loading
+3 −6
Original line number Diff line number Diff line
@@ -177,12 +177,9 @@ static int spear_pwm_apply(struct pwm_chip *chip, struct pwm_device *pwm,
		return 0;
	}

	if (state->period != pwm->state.period ||
	    state->duty_cycle != pwm->state.duty_cycle) {
	err = spear_pwm_config(chip, pwm, state->duty_cycle, state->period);
	if (err)
		return err;
	}

	if (!pwm->state.enabled)
		return spear_pwm_enable(chip, pwm);