Re: [PATCH] dma: dmatest: Use div64_s64

From: Randy Dunlap
Date: Wed Aug 16 2023 - 14:39:37 EST




On 8/16/23 08:16, Greg KH wrote:
> 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.

Also please tell us what tool produced that warning message.
Thanks.

--
~Randy