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

Reply via email to