All of lore.kernel.org
 help / color / mirror / Atom feed
From: Shreeya Patel <shreeya.patel@collabora.com>
To: Dmitry Osipenko <digetx@gmail.com>,
	jic23@kernel.org, lars@metafoo.de, robh+dt@kernel.org,
	Zhigang.Shi@liteon.com, krisman@collabora.com,
	sebastian.reichel@collabora.com
Cc: linux-iio@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, kernel@collabora.com,
	alvaro.soliverez@collabora.com
Subject: Re: [PATCH v4 3/3] iio: light: Add support for ltrf216a sensor
Date: Fri, 13 May 2022 20:08:58 +0530	[thread overview]
Message-ID: <0231ff5d-9bdd-03f2-cdf4-2b7b9b25609c@collabora.com> (raw)
In-Reply-To: <88b33ada-e997-05e9-f555-b9c1ed369fb7@collabora.com>


On 13/05/22 19:10, Shreeya Patel wrote:
>
> 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.
>
I just came to know that in I2C communication, writing a single bit 
requires reading the old value (whole byte),
modifying the result (i.e. set or clear the bit one is interested in) 
and then write it back. So the above code writes
the enable bit without modifying the other bits in the 
LTRF216A_MAIN_CTRL register. ( Thanks to Sebastian )

And you are right, we don't need to do a read here since we anyway want 
all other bits of LTRF216A_MAIN_CTRL
to be 0.

Thanks,
Shreeya Patel


> 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
>
>>
>

  reply	other threads:[~2022-05-13 14:45 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-11  9:40 [PATCH v4 0/3] Add LTRF216A Driver Shreeya Patel
2022-05-11  9:40 ` [PATCH v4 1/3] dt-bindings: vendor-prefixes: Add 'ltr' as deprecated vendor prefix Shreeya Patel
2022-05-16 17:00   ` Rob Herring
2022-05-17 10:37     ` Shreeya Patel
2022-05-18 16:32       ` Rob Herring
2022-05-23 14:57         ` Shreeya Patel
2022-05-24 15:47           ` Rob Herring
2022-05-26  7:33             ` Shreeya Patel
2022-05-11  9:40 ` [PATCH v4 2/3] dt-bindings: Document ltrf216a light sensor bindings Shreeya Patel
2022-05-16 17:04   ` Rob Herring
2022-05-11  9:40 ` [PATCH v4 3/3] iio: light: Add support for ltrf216a sensor Shreeya Patel
2022-05-11 12:04   ` Andy Shevchenko
2022-05-12 23:40   ` Dmitry Osipenko
2022-05-14 16:17     ` Jonathan Cameron
2022-05-12 23:41   ` Dmitry Osipenko
2022-05-12 23:54   ` Dmitry Osipenko
2022-05-13 13:40     ` Shreeya Patel
2022-05-13 14:38       ` Shreeya Patel [this message]
2022-05-13 17:59       ` Dmitry Osipenko
2022-05-13  0:05   ` Dmitry Osipenko
2022-05-13  0:12   ` Dmitry Osipenko
2022-05-13  0:30   ` Dmitry Osipenko
2022-05-17 10:54     ` Shreeya Patel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0231ff5d-9bdd-03f2-cdf4-2b7b9b25609c@collabora.com \
    --to=shreeya.patel@collabora.com \
    --cc=Zhigang.Shi@liteon.com \
    --cc=alvaro.soliverez@collabora.com \
    --cc=devicetree@vger.kernel.org \
    --cc=digetx@gmail.com \
    --cc=jic23@kernel.org \
    --cc=kernel@collabora.com \
    --cc=krisman@collabora.com \
    --cc=lars@metafoo.de \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=sebastian.reichel@collabora.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.