[PATCH] staging: iio: Use div64_ul instead of do_div

From: Kang Minchul
Date: Wed Oct 19 2022 - 01:38:42 EST


Using div64_ul instead of do_div (64-by-32 division) is more
recommended by coccicheck because this can avoid potential truncation.

So this commit changes do_div to div64_ul and
remove coccicheck warnings.

Signed-off-by: Kang Minchul <tegongkang@xxxxxxxxx>
---
drivers/staging/iio/frequency/ad9832.c | 2 +-
drivers/staging/iio/frequency/ad9834.c | 2 +-
drivers/staging/iio/impedance-analyzer/ad5933.c | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/iio/frequency/ad9832.c b/drivers/staging/iio/frequency/ad9832.c
index 6f9eebd6c7ee..cd038480f63c 100644
--- a/drivers/staging/iio/frequency/ad9832.c
+++ b/drivers/staging/iio/frequency/ad9832.c
@@ -122,7 +122,7 @@ static unsigned long ad9832_calc_freqreg(unsigned long mclk, unsigned long fout)
{
unsigned long long freqreg = (u64)fout *
(u64)((u64)1L << AD9832_FREQ_BITS);
- do_div(freqreg, mclk);
+ freqreg = div64_ul(freqreg, mclk);
return freqreg;
}

diff --git a/drivers/staging/iio/frequency/ad9834.c b/drivers/staging/iio/frequency/ad9834.c
index 2b4267a87e65..cfe933ef40d0 100644
--- a/drivers/staging/iio/frequency/ad9834.c
+++ b/drivers/staging/iio/frequency/ad9834.c
@@ -102,7 +102,7 @@ static unsigned int ad9834_calc_freqreg(unsigned long mclk, unsigned long fout)
{
unsigned long long freqreg = (u64)fout * (u64)BIT(AD9834_FREQ_BITS);

- do_div(freqreg, mclk);
+ freqreg = div64_ul(freqreg, mclk);
return freqreg;
}

diff --git a/drivers/staging/iio/impedance-analyzer/ad5933.c b/drivers/staging/iio/impedance-analyzer/ad5933.c
index f177b20f0f2d..730bb31a20d8 100644
--- a/drivers/staging/iio/impedance-analyzer/ad5933.c
+++ b/drivers/staging/iio/impedance-analyzer/ad5933.c
@@ -196,7 +196,7 @@ static int ad5933_set_freq(struct ad5933_state *st,
} dat;

freqreg = (u64)freq * (u64)(1 << 27);
- do_div(freqreg, st->mclk_hz / 4);
+ freqreg = div64_ul(freqreg, st->mclk_hz / 4);

switch (reg) {
case AD5933_REG_FREQ_START:
--
2.34.1