Added Stephen. On Tue, Nov 03, 2015 at 07:46:23PM -0500, Nicolas Pitre wrote: > do_div() is meant to be used with an unsigned dividend. > > Signed-off-by: Nicolas Pitre <[email protected]>
Acked-by: Shawn Guo <[email protected]> Mike, Stephen, Can you please apply it for v4.4-rc? Or I will queue it for v4.5-rc1. Shawn > > diff --git a/drivers/clk/imx/clk-pllv1.c b/drivers/clk/imx/clk-pllv1.c > index 8564e4342c..82fe3662b5 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, > unsigned long parent_rate) > { > struct clk_pllv1 *pll = to_clk_pllv1(hw); > - long long ll; > + unsigned long long ull; > int mfn_abs; > unsigned int mfi, mfn, mfd, pd; > u32 reg; > @@ -94,16 +94,16 @@ static unsigned long clk_pllv1_recalc_rate(struct clk_hw > *hw, > rate = parent_rate * 2; > rate /= pd + 1; > > - ll = (unsigned long long)rate * mfn_abs; > + ull = (unsigned long long)rate * mfn_abs; > > - do_div(ll, mfd + 1); > + do_div(ull, mfd + 1); > > if (mfn_is_negative(pll, mfn)) > - ll = -ll; > + ull = (rate * mfi) - ull; > + else > + ull = (rate * mfi) + ull; > > - ll = (rate * mfi) + ll; > - > - return ll; > + return ull; > } > > static struct clk_ops clk_pllv1_ops = { > > -- To unsubscribe from this list: send the line "unsubscribe linux-clk" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
