clk: socfpga: arria10: Optimize local variables in clk_pll_recalc_rate()
authorThorsten Blum <thorsten.blum@linux.dev>
Sat, 26 Oct 2024 15:53:04 +0000 (17:53 +0200)
committerDinh Nguyen <dinguyen@kernel.org>
Tue, 17 Dec 2024 00:22:00 +0000 (18:22 -0600)
Since readl() returns a u32, the local variable reg can also have the
data type u32. Furthermore, divf and divq are derived from reg and can
also be a u32.

Since do_div() casts the divisor to u32 anyway, changing the data type
of divq to u32 also removes the following Coccinelle/coccicheck warning
reported by do_div.cocci:

  WARNING: do_div() does a 64-by-32 division, please consider using div64_ul instead

Compile-tested only.

Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
drivers/clk/socfpga/clk-pll-a10.c

index b028f25c658aabd5d87c9d1755d9a5ef6971a077..62eed964c3d0561e01d9bb87ae11e8af1e74ecc6 100644 (file)
@@ -35,7 +35,7 @@ static unsigned long clk_pll_recalc_rate(struct clk_hw *hwclk,
                                         unsigned long parent_rate)
 {
        struct socfpga_pll *socfpgaclk = to_socfpga_clk(hwclk);
-       unsigned long divf, divq, reg;
+       u32 divf, divq, reg;
        unsigned long long vco_freq;
 
        /* read VCO1 reg for numerator and denominator */