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 994b96d19750..5ee362bc618c 100644
--- a/drivers/iio/trigger/stm32-timer-trigger.c
+++ b/drivers/iio/trigger/stm32-timer-trigger.c
@@ -152,10 +152,10 @@ static ssize_t stm32_tt_read_frequency(struct device *dev,
152 regmap_read(priv->regmap, TIM_PSC, &psc); 152 regmap_read(priv->regmap, TIM_PSC, &psc);
153 regmap_read(priv->regmap, TIM_ARR, &arr); 153 regmap_read(priv->regmap, TIM_ARR, &arr);
154 154
155 if (psc && arr && (cr1 & TIM_CR1_CEN)) { 155 if (cr1 & TIM_CR1_CEN) {
156 freq = (unsigned long long)clk_get_rate(priv->clk); 156 freq = (unsigned long long)clk_get_rate(priv->clk);
157 do_div(freq, psc); 157 do_div(freq, psc + 1);
158 do_div(freq, arr); 158 do_div(freq, arr + 1);
159 } 159 }
160 160
161 return sprintf(buf, "%d\n", (unsigned int)freq); 161 return sprintf(buf, "%d\n", (unsigned int)freq);