diff options
author | Nicolas Pitre <nicolas.pitre@linaro.org> | 2015-11-03 19:46:23 -0500 |
---|---|---|
committer | Stephen Boyd <sboyd@codeaurora.org> | 2015-11-30 15:58:35 -0500 |
commit | 741e96e8790cbd389d27e29bbf66de2c691fd775 (patch) | |
tree | 0549369ea96a147bc45fcd00b95f1f087445354f | |
parent | c6bb9cece632f4cad804b3b574364bb68a4c363b (diff) |
imx/clk-pllv1: fix wrong do_div() usage
do_div() is meant to be used with an unsigned dividend.
Signed-off-by: Nicolas Pitre <nico@linaro.org>
Acked-by: Shawn Guo <shawnguo@kernel.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
-rw-r--r-- | drivers/clk/imx/clk-pllv1.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/clk/imx/clk-pllv1.c b/drivers/clk/imx/clk-pllv1.c index 8564e4342c7d..82fe3662b5f6 100644 --- a/drivers/clk/imx/clk-pllv1.c +++ b/drivers/clk/imx/clk-pllv1.c | |||
@@ -52,7 +52,7 @@ static unsigned long clk_pllv1_recalc_rate(struct clk_hw *hw, | |||
52 | unsigned long parent_rate) | 52 | unsigned long parent_rate) |
53 | { | 53 | { |
54 | struct clk_pllv1 *pll = to_clk_pllv1(hw); | 54 | struct clk_pllv1 *pll = to_clk_pllv1(hw); |
55 | long long ll; | 55 | unsigned long long ull; |
56 | int mfn_abs; | 56 | int mfn_abs; |
57 | unsigned int mfi, mfn, mfd, pd; | 57 | unsigned int mfi, mfn, mfd, pd; |
58 | u32 reg; | 58 | u32 reg; |
@@ -94,16 +94,16 @@ static unsigned long clk_pllv1_recalc_rate(struct clk_hw *hw, | |||
94 | rate = parent_rate * 2; | 94 | rate = parent_rate * 2; |
95 | rate /= pd + 1; | 95 | rate /= pd + 1; |
96 | 96 | ||
97 | ll = (unsigned long long)rate * mfn_abs; | 97 | ull = (unsigned long long)rate * mfn_abs; |
98 | 98 | ||
99 | do_div(ll, mfd + 1); | 99 | do_div(ull, mfd + 1); |
100 | 100 | ||
101 | if (mfn_is_negative(pll, mfn)) | 101 | if (mfn_is_negative(pll, mfn)) |
102 | ll = -ll; | 102 | ull = (rate * mfi) - ull; |
103 | else | ||
104 | ull = (rate * mfi) + ull; | ||
103 | 105 | ||
104 | ll = (rate * mfi) + ll; | 106 | return ull; |
105 | |||
106 | return ll; | ||
107 | } | 107 | } |
108 | 108 | ||
109 | static struct clk_ops clk_pllv1_ops = { | 109 | static struct clk_ops clk_pllv1_ops = { |