From: Joshua Crofts Date: Sun, 19 Apr 2026 18:36:23 +0000 (+0200) Subject: iio: frequency: ad9832: simplify bitwise math X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5b382bf01a377ea96612089b1d68d9547882359f;p=thirdparty%2Flinux.git iio: frequency: ad9832: simplify bitwise math Refactor the ad9832_calc_freqreg by removing the redundant u64 casts and 1L bitwise left shift and replacing the multiplication by a bit shift, as multiplying integers by a power of two is identical to a bitwise left shift. Signed-off-by: Joshua Crofts Reviewed-by: Nuno Sá Reviewed-by: Andy Shevchenko Signed-off-by: Jonathan Cameron --- diff --git a/drivers/staging/iio/frequency/ad9832.c b/drivers/staging/iio/frequency/ad9832.c index c0b7852f1c842..659821a1e2cb3 100644 --- a/drivers/staging/iio/frequency/ad9832.c +++ b/drivers/staging/iio/frequency/ad9832.c @@ -117,8 +117,8 @@ struct ad9832_state { static unsigned long ad9832_calc_freqreg(unsigned long mclk, unsigned long fout) { - unsigned long long freqreg = (u64)fout * - (u64)((u64)1L << AD9832_FREQ_BITS); + u64 freqreg = (u64)fout << AD9832_FREQ_BITS; + do_div(freqreg, mclk); return freqreg; }