11.05.2022 12:40, Shreeya Patel пишет:
+static int ltrf216a_set_int_time(struct ltrf216a_data *data, int itime)Should the data->int_time_fac be updated only if I2C write was successful?
+{
+ 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;
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?
+ data->int_time = itime;
+
+ return 0;
+}