Messages in this thread | | | Date | Mon, 29 May 2023 11:25:47 +0200 | Subject | Re: [PATCH v4 3/7] iio: light: vcnl4000: Add als_it for vcnl4040/4200 | From | Astrid Rost <> |
| |
Hello Andy,
Thanks for your comment.
On 5/29/23 00:42, andy.shevchenko@gmail.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; >
| |