[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <817eef56fa3dcd4238198c7a964adfef.sboyd@kernel.org>
Date: Mon, 29 Jul 2024 16:23:00 -0700
From: Stephen Boyd <sboyd@...nel.org>
To: Thorsten Blum <thorsten.blum@...lux.com>, abel.vesa@...aro.org, angelogioacchino.delregno@...labora.com, christophe.jaillet@...adoo.fr, dinguyen@...nel.org, erick.archer@....com, mturquette@...libre.com, robh@...nel.org
Cc: linux-clk@...r.kernel.org, linux-kernel@...r.kernel.org, Thorsten Blum <thorsten.blum@...lux.com>
Subject: Re: [PATCH] clk: hisilicon: Remove unnecessary local variable
Quoting Thorsten Blum (2024-07-10 13:18:45)
> diff --git a/drivers/clk/hisilicon/clk-hi3559a.c b/drivers/clk/hisilicon/clk-hi3559a.c
> index c79a94f6d9d2..30d5a6ba8fa5 100644
> --- a/drivers/clk/hisilicon/clk-hi3559a.c
> +++ b/drivers/clk/hisilicon/clk-hi3559a.c
> @@ -407,7 +407,7 @@ static unsigned long clk_pll_recalc_rate(struct clk_hw *hw,
> unsigned long parent_rate)
> {
> struct hi3559av100_clk_pll *clk = to_pll_clk(hw);
> - u64 frac_val, fbdiv_val, refdiv_val;
> + u64 frac_val, fbdiv_val;
> u32 postdiv1_val, postdiv2_val;
> u32 val;
I see 'val' is u32 here.
> u64 tmp, rate;
> @@ -435,13 +435,12 @@ static unsigned long clk_pll_recalc_rate(struct clk_hw *hw,
> val = readl_relaxed(clk->ctrl_reg2);
> val = val >> clk->refdiv_shift;
> val &= ((1 << clk->refdiv_width) - 1);
> - refdiv_val = val;
>
> /* rate = 24000000 * (fbdiv + frac / (1<<24) ) / refdiv */
> rate = 0;
> tmp = 24000000 * fbdiv_val + (24000000 * frac_val) / (1 << 24);
> rate += tmp;
> - do_div(rate, refdiv_val);
> + do_div(rate, val);
So this can be div_u64() now?
> do_div(rate, postdiv1_val * postdiv2_val);
Powered by blists - more mailing lists