staging: iio: Use div64_ul instead of do_div
Commit Message
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@gmail.com>
---
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(-)
Comments
On Wed, Oct 19, 2022 at 02:38:29PM +0900, Kang Minchul wrote:
> 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@gmail.com>
> ---
> 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);
I think the original code here is correct, no need for a change, unless
you have the hardware to test this out and can verify it all still works
identically.
thanks,
greg k-h
@@ -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;
}
@@ -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;
}
@@ -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: