Browse Source

sunxi: backport late clock fixes from 3.15

Signed-off-by: Zoltan HERPAI <[email protected]>

SVN-Revision: 42615
Zoltan Herpai 11 years ago
parent
commit
384ef8ece1
1 changed files with 31 additions and 0 deletions
  1. 31 0
      target/linux/sunxi/patches-3.14/275-clk-sunxi-late-clock-fixes.patch

+ 31 - 0
target/linux/sunxi/patches-3.14/275-clk-sunxi-late-clock-fixes.patch

@@ -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;