diff options
Diffstat (limited to 'target/linux/sunxi/patches-3.14/275-clk-sunxi-late-clock-fixes.patch')
-rw-r--r-- | target/linux/sunxi/patches-3.14/275-clk-sunxi-late-clock-fixes.patch | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/target/linux/sunxi/patches-3.14/275-clk-sunxi-late-clock-fixes.patch b/target/linux/sunxi/patches-3.14/275-clk-sunxi-late-clock-fixes.patch new file mode 100644 index 0000000000..8f3333ab5f --- /dev/null +++ b/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; |