[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <46da8636-0c4f-9602-dcad-6e6dec10a94a@axis.com>
Date: Mon, 29 May 2023 11:25:47 +0200
From: Astrid Rost <astridr@...s.com>
To: <andy.shevchenko@...il.com>, Astrid Rost <astrid.rost@...s.com>
CC: Jonathan Cameron <jic23@...nel.org>,
Lars-Peter Clausen <lars@...afoo.de>,
<linux-iio@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<kernel@...s.com>,
Uwe Kleine-König <u.kleine-koenig@...gutronix.de>,
Mathieu Othacehe <m.othacehe@...il.com>
Subject: Re: [PATCH v4 3/7] iio: light: vcnl4000: Add als_it for vcnl4040/4200
Hello Andy,
Thanks for your comment.
On 5/29/23 00:42, andy.shevchenko@...il.com wrote:
> Mon, May 22, 2023 at 04:26:17PM +0200, Astrid Rost kirjoitti:
>> Add illuminance integration time for vcnl4040 and vcnl4200.
>> Add read/write attribute for illuminance integration time and read
>> attribute for available integration times.
>> Set scale and sampling rate according to the integration time.
>
> ...
>
>> + data->vcnl4200_al.sampling_rate = ktime_set(0, val * 1200000);
>> + if (data->id == VCNL4200)
>> + /* 24000 µlux/step * 50000 µs / val */
>> + data->al_scale = div_u64(1200000000, val);
>
> Without type these constant are integers. Is this okay with 32-bit builds?
No, I got an error on x86 on my first patch. But i did not really
understand. All variables are within int and not defined as something
bigger.
>
>> + else
>> + /* 100000 µlux/step * 80000 µs / val */
>> + data->al_scale = div_u64(8000000000, val);
>
> Ditto.
8000000000 exceeds at least 32 bit.
>
> Also, can you use constants from units.h (KILO) and time.h (USEC_PER_MSEC)?
>
> ...
>
>> +out:
>
> out_unlock:
>
>> + mutex_unlock(&data->vcnl4000_lock);
>> + return ret;
>
Powered by blists - more mailing lists