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

pwm: Let pwm_get_state() return the last implemented state



When pwm_apply_state() is called the lowlevel driver usually has to
apply some rounding because the hardware doesn't support nanosecond
resolution. So let pwm_get_state() return the actually implemented state
instead of the last applied one if possible.

Signed-off-by: default avatarUwe Kleine-König <uwe@kleine-koenig.org>
Signed-off-by: default avatarThierry Reding <thierry.reding@gmail.com>
parent fc3c5512
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -474,6 +474,13 @@ int pwm_apply_state(struct pwm_device *pwm, struct pwm_state *state)
		if (err)
			return err;

		/*
		 * .apply might have to round some values in *state, if possible
		 * read the actually implemented value back.
		 */
		if (chip->ops->get_state)
			chip->ops->get_state(chip, pwm, &pwm->state);
		else
			pwm->state = *state;
	} else {
		/*