[PATCH] dma: dmatest: Use div64_s64

From: coolrrsh
Date: Mon Aug 14 2023 - 02:23:43 EST


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);

return per_sec;
}
--
2.25.1