aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/iio/trigger/stm32-timer-trigger.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/iio/trigger/stm32-timer-trigger.c')
-rw-r--r--drivers/iio/trigger/stm32-timer-trigger.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/iio/trigger/stm32-timer-trigger.c b/drivers/iio/trigger/stm32-timer-trigger.c
index 0f1a2cf334bf..25248d644e7c 100644
--- a/drivers/iio/trigger/stm32-timer-trigger.c
+++ b/drivers/iio/trigger/stm32-timer-trigger.c
@@ -170,10 +170,10 @@ static ssize_t stm32_tt_read_frequency(struct device *dev,
170 regmap_read(priv->regmap, TIM_PSC, &psc); 170 regmap_read(priv->regmap, TIM_PSC, &psc);
171 regmap_read(priv->regmap, TIM_ARR, &arr); 171 regmap_read(priv->regmap, TIM_ARR, &arr);
172 172
173 if (psc && arr && (cr1 & TIM_CR1_CEN)) { 173 if (cr1 & TIM_CR1_CEN) {
174 freq = (unsigned long long)clk_get_rate(priv->clk); 174 freq = (unsigned long long)clk_get_rate(priv->clk);
175 do_div(freq, psc); 175 do_div(freq, psc + 1);
176 do_div(freq, arr); 176 do_div(freq, arr + 1);
177 } 177 }
178 178
179 return sprintf(buf, "%d\n", (unsigned int)freq); 179 return sprintf(buf, "%d\n", (unsigned int)freq);