Hello Andy,
Thanks for your comment.
On 5/29/23 00:42, andy.shevchenko@xxxxxxxxx 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;