Re: [PATCH] dma: dmatest: Use div64_s64

From: Greg KH
Date: Wed Aug 16 2023 - 11:17:51 EST


On Wed, Aug 16, 2023 at 11:34:00AM +0530, coolrrsh@xxxxxxxxx wrote:
> From: Rajeshwar R Shinde <coolrrsh@xxxxxxxxx>
>
> In the function do_div, the dividend is evaluated multiple times
> so it can cause side effects. Therefore replace it with div64_s64.
>
> This fixes warning such as:
> drivers/dma/dmatest.c:496:1-7:
> WARNING: do_div() does a 64-by-32 division,
> please consider using div64_s64 instead.
>
> Signed-off-by: Rajeshwar R Shinde <coolrrsh@xxxxxxxxx>
> ---
> drivers/dma/dmatest.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/dma/dmatest.c b/drivers/dma/dmatest.c
> index ffe621695e47..07042f239db8 100644
> --- a/drivers/dma/dmatest.c
> +++ b/drivers/dma/dmatest.c
> @@ -9,6 +9,7 @@
>
> #include <linux/err.h>
> #include <linux/delay.h>
> +#include <linux/math64.h>
> #include <linux/dma-mapping.h>
> #include <linux/dmaengine.h>
> #include <linux/freezer.h>
> @@ -493,7 +494,7 @@ static unsigned long long dmatest_persec(s64 runtime, unsigned int val)
>
> per_sec *= val;
> per_sec = INT_TO_FIXPT(per_sec);
> - do_div(per_sec, runtime);
> + per_sec=div64_s64(per_sec, runtime);

Please always run checkpatch.pl on your changes before submitting them
for others to review.

thanks,

greg k-h