diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2014-07-22 15:03:41 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2014-07-23 09:57:08 +0200 |
commit | 7d664f98d1ba1181295ffe8dcabf4f4c1af96c25 (patch) | |
tree | a0d97b62c3f221dea5683b053dccb382fec44529 /drivers/clk/clk-divider.c | |
parent | 752b9f4bf48bc62bd9062a669c91470102107fec (diff) | |
download | barebox-7d664f98d1ba1181295ffe8dcabf4f4c1af96c25.tar.gz barebox-7d664f98d1ba1181295ffe8dcabf4f4c1af96c25.tar.xz |
clk: clk-divider: divider calculation in clk_set_rate needs DIV_ROUND_UP
To make the resulting rate is always smaller than the desired rate, and
not bigger.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/clk/clk-divider.c')
-rw-r--r-- | drivers/clk/clk-divider.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/clk/clk-divider.c b/drivers/clk/clk-divider.c index 67783daabb..506a9668a9 100644 --- a/drivers/clk/clk-divider.c +++ b/drivers/clk/clk-divider.c @@ -186,7 +186,7 @@ static int clk_divider_set_rate(struct clk *clk, unsigned long rate, div = clk_divider_bestdiv(clk, rate, &best_parent_rate); clk_set_rate(clk_get_parent(clk), best_parent_rate); } else { - div = parent_rate / rate; + div = DIV_ROUND_UP(parent_rate, rate); } value = _get_val(divider, div); |