|
|
@@ -0,0 +1,31 @@
|
|
|
+diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c
|
|
|
+index a393df1..0393f85 100644
|
|
|
+--- a/drivers/clk/sunxi/clk-sunxi.c
|
|
|
++++ b/drivers/clk/sunxi/clk-sunxi.c
|
|
|
+@@ -326,7 +326,7 @@ static void sun4i_get_apb1_factors(u32 *freq, u32 parent_rate,
|
|
|
+ if (parent_rate < *freq)
|
|
|
+ *freq = parent_rate;
|
|
|
+
|
|
|
+- parent_rate = (parent_rate + (*freq - 1)) / *freq;
|
|
|
++ parent_rate = DIV_ROUND_UP(parent_rate, *freq);
|
|
|
+
|
|
|
+ /* Invalid rate! */
|
|
|
+ if (parent_rate > 32)
|
|
|
+@@ -371,7 +371,7 @@ static void sun4i_get_mod0_factors(u32 *freq, u32 parent_rate,
|
|
|
+ if (*freq > parent_rate)
|
|
|
+ *freq = parent_rate;
|
|
|
+
|
|
|
+- div = parent_rate / *freq;
|
|
|
++ div = DIV_ROUND_UP(parent_rate, *freq);
|
|
|
+
|
|
|
+ if (div < 16)
|
|
|
+ calcp = 0;
|
|
|
+@@ -412,7 +412,7 @@ static void sun7i_a20_get_out_factors(u32 *freq, u32 parent_rate,
|
|
|
+ if (*freq > parent_rate)
|
|
|
+ *freq = parent_rate;
|
|
|
+
|
|
|
+- div = parent_rate / *freq;
|
|
|
++ div = DIV_ROUND_UP(parent_rate, *freq);
|
|
|
+
|
|
|
+ if (div < 32)
|
|
|
+ calcp = 0;
|