To make the resulting rate is always smaller than the desired rate, and
not bigger.

Signed-off-by: Sascha Hauer <s.ha...@pengutronix.de>
---
 drivers/clk/clk-divider.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/clk/clk-divider.c b/drivers/clk/clk-divider.c
index 67783da..506a966 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);
-- 
2.0.1


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

Reply via email to