diff options
Diffstat (limited to 'drivers/pwm/pwm-crc.c')
| -rw-r--r-- | drivers/pwm/pwm-crc.c | 10 | 
1 files changed, 6 insertions, 4 deletions
| diff --git a/drivers/pwm/pwm-crc.c b/drivers/pwm/pwm-crc.c index 7b357d1cf642..4703b4a0b6e4 100644 --- a/drivers/pwm/pwm-crc.c +++ b/drivers/pwm/pwm-crc.c @@ -121,8 +121,8 @@ static int crc_pwm_apply(struct pwm_chip *chip, struct pwm_device *pwm,  	return 0;  } -static void crc_pwm_get_state(struct pwm_chip *chip, struct pwm_device *pwm, -			      struct pwm_state *state) +static int crc_pwm_get_state(struct pwm_chip *chip, struct pwm_device *pwm, +			     struct pwm_state *state)  {  	struct crystalcove_pwm *crc_pwm = to_crc_pwm(chip);  	struct device *dev = crc_pwm->chip.dev; @@ -132,13 +132,13 @@ static void crc_pwm_get_state(struct pwm_chip *chip, struct pwm_device *pwm,  	error = regmap_read(crc_pwm->regmap, PWM0_CLK_DIV, &clk_div_reg);  	if (error) {  		dev_err(dev, "Error reading PWM0_CLK_DIV %d\n", error); -		return; +		return error;  	}  	error = regmap_read(crc_pwm->regmap, PWM0_DUTY_CYCLE, &duty_cycle_reg);  	if (error) {  		dev_err(dev, "Error reading PWM0_DUTY_CYCLE %d\n", error); -		return; +		return error;  	}  	clk_div = (clk_div_reg & ~PWM_OUTPUT_ENABLE) + 1; @@ -149,6 +149,8 @@ static void crc_pwm_get_state(struct pwm_chip *chip, struct pwm_device *pwm,  		DIV_ROUND_UP_ULL(duty_cycle_reg * state->period, PWM_MAX_LEVEL);  	state->polarity = PWM_POLARITY_NORMAL;  	state->enabled = !!(clk_div_reg & PWM_OUTPUT_ENABLE); + +	return 0;  }  static const struct pwm_ops crc_pwm_ops = { |