]> www.infradead.org Git - users/hch/dma-mapping.git/commitdiff
clk: qcom: clk-alpha-pll: Simplify the zonda_pll_adjust_l_val()
authorSatya Priya Kakitapalli <quic_skakitap@quicinc.com>
Fri, 6 Sep 2024 11:39:05 +0000 (17:09 +0530)
committerStephen Boyd <sboyd@kernel.org>
Mon, 9 Sep 2024 21:06:07 +0000 (14:06 -0700)
In zonda_pll_adjust_l_val() replace the divide operator with comparison
operator to fix below build error and smatch warning.

drivers/clk/qcom/clk-alpha-pll.o: In function `clk_zonda_pll_set_rate':
clk-alpha-pll.c:(.text+0x45dc): undefined reference to `__aeabi_uldivmod'

smatch warnings:
drivers/clk/qcom/clk-alpha-pll.c:2129 zonda_pll_adjust_l_val() warn: replace
divide condition '(remainder * 2) / prate' with '(remainder * 2) >= prate'

Fixes: f4973130d255 ("clk: qcom: clk-alpha-pll: Update set_rate for Zonda PLL")
Reported-by: Jon Hunter <jonathanh@nvidia.com>
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Closes: https://lore.kernel.org/r/202408110724.8pqbpDiD-lkp@intel.com/
Signed-off-by: Satya Priya Kakitapalli <quic_skakitap@quicinc.com>
Link: https://lore.kernel.org/r/20240906113905.641336-1-quic_skakitap@quicinc.com
Reviewed-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Tested-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/qcom/clk-alpha-pll.c

index ad9a84d521fc3c4c7d7b3cb55ea58640afd9ffc2..31bf9d13f15419e1b209e2dac1ae2e30b6e787fd 100644 (file)
@@ -2124,10 +2124,8 @@ static void zonda_pll_adjust_l_val(unsigned long rate, unsigned long prate, u32
 
        quotient = rate;
        remainder = do_div(quotient, prate);
-       *l = quotient;
 
-       if ((remainder * 2) / prate)
-               *l = *l + 1;
+       *l = rate + (u32)(remainder * 2 >= prate);
 }
 
 static int clk_zonda_pll_set_rate(struct clk_hw *hw, unsigned long rate,