Messages in this thread | | | Date | Tue, 17 May 2022 16:24:54 +0530 | Subject | Re: [PATCH v4 3/3] iio: light: Add support for ltrf216a sensor | From | Shreeya Patel <> |
| |
On 13/05/22 06:00, Dmitry Osipenko wrote: > 11.05.2022 12:40, Shreeya Patel пишет: >> +static int ltrf216a_set_int_time(struct ltrf216a_data *data, int itime) >> +{ >> + int i, ret, index = -1; >> + u8 reg_val; >> + >> + for (i = 0; i < ARRAY_SIZE(ltrf216a_int_time_available); i++) { >> + if (ltrf216a_int_time_available[i][1] == itime) { >> + index = i; >> + break; >> + } >> + } >> + >> + if (index < 0) >> + return -EINVAL; >> + >> + reg_val = ltrf216a_int_time_reg[index][1]; >> + data->int_time_fac = ltrf216a_int_time_reg[index][0]; >> + >> + ret = i2c_smbus_write_byte_data(data->client, LTRF216A_ALS_MEAS_RES, reg_val); >> + if (ret < 0) >> + return ret; > Should the data->int_time_fac be updated only if I2C write was successful?
Yes, thanks for pointing it out. It should be updated only if write is successful.
> I'm not sure what reading of LTRF216A_CLEAR_DATA reg does, but if it > clears the measured data, then shouldn't the data be cleared after > changing the config?
LTRF216A_CLEAR_DATA isn't used for clearing the measured data. Name is a bit confusing and even I assumed it is being used for clearing the data. But from the datasheet, it seems that clear data registers provides light intensity data related to infrared and ultravoilet. We are currently not using this anywhere in the driver so we could remove the cleardata readings for now.
Thanks, Shreeya Patel >> + data->int_time = itime; >> + >> + return 0; >> +} >
| |