Re: [PATCH v4 3/3] iio: light: Add support for ltrf216a sensor

From: Shreeya Patel
Date: Fri May 13 2022 - 09:50:43 EST



On 13/05/22 05:24, Dmitry Osipenko wrote:

Hi Dmitry,

11.05.2022 12:40, Shreeya Patel пишет:
+static int ltrf216a_init(struct iio_dev *indio_dev)
+{
+ int ret;
+ struct ltrf216a_data *data = iio_priv(indio_dev);
+
+ ret = i2c_smbus_read_byte_data(data->client, LTRF216A_MAIN_CTRL);
+ if (ret < 0) {
+ dev_err(&data->client->dev, "Error reading LTRF216A_MAIN_CTRL\n");
+ return ret;
+ }
+
+ /* enable sensor */
+ ret |= FIELD_PREP(LTRF216A_ALS_ENABLE_MASK, 1);
+ ret = i2c_smbus_write_byte_data(data->client, LTRF216A_MAIN_CTRL, ret);
+ if (ret < 0) {
+ dev_err(&data->client->dev, "Error writing LTRF216A_MAIN_CTRL\n");
+ return ret;
+ }
Couldn't you write "1" directly without reading?

What about doing SW reset?

I think we are doing a read here just to make sure device registers are ready and accessible
without any issues.

Also, why would we want to do a SW reset here?

In the datasheet, I could see the following steps to enable the sensor
Supply VDD to Sensor (Sensor in Standby Mode) ---> Wait 100 ms (min) - initial startup time
---> I2C Command (Write) To enable sensor to Active Mode

Thanks,
Shreeya Patel