lkml.org 
[lkml]   [2024]   [Feb]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH] iio: gts-helper: Fix division loop
From
On 2/4/24 15:49, Subhajit Ghosh wrote:
> Hi Matti,
>>>>>>   drivers/iio/industrialio-gts-helper.c | 5 ++---
>>>>>>   1 file changed, 2 insertions(+), 3 deletions(-)
>>>>>>
>>>>>> diff --git a/drivers/iio/industrialio-gts-helper.c
>>>>>> b/drivers/iio/industrialio-gts-helper.c
>>>>>> index 7653261d2dc2..abcab2d38589 100644
>>>>>> --- a/drivers/iio/industrialio-gts-helper.c
>>>>>> +++ b/drivers/iio/industrialio-gts-helper.c
>>>>>> @@ -34,7 +34,7 @@
>>>>>>   static int iio_gts_get_gain(const u64 max, const u64 scale)
>>>>>>   {
>>>>>>       u64 full = max;
>>>>>> -    int tmp = 1;
>>>>>> +    int tmp = 0;
>>>>>>       if (scale > full || !scale)
>>>>>>           return -EINVAL;
>>>>>> @@ -48,8 +48,7 @@ static int iio_gts_get_gain(const u64 max, const
>>>>>> u64 scale)
>>>>>>           tmp++;
>>>>>>       }
>>>>>> -    while (full > scale * (u64)tmp)
>>>>>> -        tmp++;
>>>>>> +    tmp += div64_u64(full, scale);
>>>>>>       return tmp;
>>>>>>   }
>>>>>>
>>>>>> base-commit: 2cc14f52aeb78ce3f29677c2de1f06c0e91471ab
>>>>>
>>>>>
>>>> Hi Matti,
>>>>
>>>> Your fix works beautifully with the latest version of apds9306
>>>> driver which I am working on.
>>>> All available scale values can be set without any errors. Thank you.
>>>
>>> Thanks for testing Subhajit! Just to ensure we have no
>>> miscommunication - did you test just this division fix, or the
>>> rounding fix here:
>>> https://lore.kernel.org/lkml/37d3aa193e69577353d314e94463a08d488ddd8d.1701780964.git.mazziesaccount@gmail.com/
>> You are most welcome. I did not check the above rounding fix pointed
>> out by the link. I will be happy to check it and let you know by the
>> end of this month.
>> I checked this division fix.
> I tested the patch in the above link with adps9306 driver which I am
> working on and it seems to work well without any issues.

Great! Thanks a lot Subhajit! Your testing is very much appreciated :)

I think you sent another version of your APDS9306 driver. AFAIR, this
driver could have benefited from the above rounding fix. I will see if I
find the time and energy to see if I can dive into this again and
re-spin this rounding fix. No promises but I'll try :)

Yours,
-- Matti

--
Matti Vaittinen
Linux kernel developer at ROHM Semiconductors
Oulu Finland

~~ When things go utterly wrong vim users can always type :help! ~~


\
 
 \ /
  Last update: 2024-05-27 14:48    [W:0.068 / U:0.760 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site