The Kernel test robot returns the following warning:
do_div() does a 64-by-32 division, please consider using div64_ul instead.
To prevent the 64-by-32 divsion, consolidate both the multiplication
and the do_div into one line which explicitly uses u64 sizes.
Fixes: 1951dbb41d1d ("phy: freescale: fsl-samsung-hdmi: Support dynamic integer")
Signed-off-by: Adam Ford <aford173@gmail.com>
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202412091243.fSObwwPi-lkp@intel.com/
diff --git a/drivers/phy/freescale/phy-fsl-samsung-hdmi.c b/drivers/phy/freescale/phy-fsl-samsung-hdmi.c
index 2c8038864357..d3ccf547ba1c 100644
--- a/drivers/phy/freescale/phy-fsl-samsung-hdmi.c
+++ b/drivers/phy/freescale/phy-fsl-samsung-hdmi.c
@@ -424,8 +424,7 @@ static unsigned long fsl_samsung_hdmi_phy_find_pms(unsigned long fout, u8 *p, u1
* Fvco = (M * f_ref) / P,
* where f_ref is 24MHz.
*/
- tmp = (u64)_m * 24 * MHZ;
- do_div(tmp, _p);
+ tmp = div64_ul((u64)_m * 24 * MHZ, _p);
if (tmp < 750 * MHZ ||
tmp > 3000 * MHZ)
continue;
--
2.45.2
On Sun, 15 Dec 2024 16:05:55 -0600, Adam Ford wrote:
> The Kernel test robot returns the following warning:
> do_div() does a 64-by-32 division, please consider using div64_ul instead.
>
> To prevent the 64-by-32 divsion, consolidate both the multiplication
> and the do_div into one line which explicitly uses u64 sizes.
>
>
> [...]
Applied, thanks!
[1/1] phy: freescale: fsl-samsung-hdmi: Fix 64-by-32 division cocci warnings
commit: 739214dd1c209e34323814fb815fb17cccb9f95b
Best regards,
--
~Vinod
© 2016 - 2025 Red Hat, Inc.