2024-02-16 10:28:48

by Marco Felsch

[permalink] [raw]
Subject: [RESEND PATCH 2/2] iio: temperature: tmp117: add support for vcc-supply

From: Thomas Haemmerle <[email protected]>

Add support to specify the VCC supply which is required to power the
device.

Signed-off-by: Thomas Haemmerle <[email protected]>
Signed-off-by: Marco Felsch <[email protected]>
---
Resend since I forgot to add the DT maintainers

drivers/iio/temperature/tmp117.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/drivers/iio/temperature/tmp117.c b/drivers/iio/temperature/tmp117.c
index 059953015ae7..69328066811a 100644
--- a/drivers/iio/temperature/tmp117.c
+++ b/drivers/iio/temperature/tmp117.c
@@ -17,6 +17,7 @@
#include <linux/kernel.h>
#include <linux/limits.h>
#include <linux/property.h>
+#include <linux/regulator/consumer.h>

#include <linux/iio/iio.h>

@@ -152,6 +153,10 @@ static int tmp117_probe(struct i2c_client *client)
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_WORD_DATA))
return -EOPNOTSUPP;

+ ret = devm_regulator_get_enable(&client->dev, "vcc");
+ if (ret)
+ return ret;
+
dev_id = i2c_smbus_read_word_swapped(client, TMP117_REG_DEVICE_ID);
if (dev_id < 0)
return dev_id;
--
2.39.2



2024-02-16 11:29:33

by Jonathan Cameron

[permalink] [raw]
Subject: Re: [RESEND PATCH 2/2] iio: temperature: tmp117: add support for vcc-supply

On Fri, 16 Feb 2024 11:28:20 +0100
Marco Felsch <[email protected]> wrote:

> From: Thomas Haemmerle <[email protected]>
>
> Add support to specify the VCC supply which is required to power the
> device.
>
> Signed-off-by: Thomas Haemmerle <[email protected]>
> Signed-off-by: Marco Felsch <[email protected]>

Hi.

With power supply enables, the question that normally comes up is whether
the device takes significant time to become available after the power is
turned on.

I had a look at the datasheet but couldn't find clear language on
how long we need to wait before the device is usable following power up.
There is a number for reset of 1.5 msecs so I guess we could use that
safely?

Maybe no delay is fine for reading the device ID. I've no idea.
Sometimes we start with no delay and only end up adding one later when
people report issues. We could do that here.

Jonathan

> ---
> Resend since I forgot to add the DT maintainers
>
> drivers/iio/temperature/tmp117.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/iio/temperature/tmp117.c b/drivers/iio/temperature/tmp117.c
> index 059953015ae7..69328066811a 100644
> --- a/drivers/iio/temperature/tmp117.c
> +++ b/drivers/iio/temperature/tmp117.c
> @@ -17,6 +17,7 @@
> #include <linux/kernel.h>
> #include <linux/limits.h>
> #include <linux/property.h>
> +#include <linux/regulator/consumer.h>
>
> #include <linux/iio/iio.h>
>
> @@ -152,6 +153,10 @@ static int tmp117_probe(struct i2c_client *client)
> if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_WORD_DATA))
> return -EOPNOTSUPP;
>
> + ret = devm_regulator_get_enable(&client->dev, "vcc");
> + if (ret)
> + return ret;
> +
> dev_id = i2c_smbus_read_word_swapped(client, TMP117_REG_DEVICE_ID);
> if (dev_id < 0)
> return dev_id;


2024-02-16 11:54:36

by Marco Felsch

[permalink] [raw]
Subject: Re: [RESEND PATCH 2/2] iio: temperature: tmp117: add support for vcc-supply

On 24-02-16, Jonathan Cameron wrote:
> On Fri, 16 Feb 2024 11:28:20 +0100
> Marco Felsch <[email protected]> wrote:
>
> > From: Thomas Haemmerle <[email protected]>
> >
> > Add support to specify the VCC supply which is required to power the
> > device.
> >
> > Signed-off-by: Thomas Haemmerle <[email protected]>
> > Signed-off-by: Marco Felsch <[email protected]>
>
> Hi.
>
> With power supply enables, the question that normally comes up is whether
> the device takes significant time to become available after the power is
> turned on.
>
> I had a look at the datasheet but couldn't find clear language on
> how long we need to wait before the device is usable following power up.
> There is a number for reset of 1.5 msecs so I guess we could use that
> safely?

You're right, section 7.3.1 Power Up mention the 1.5ms as well. I will
add this albeit we didn't had issues with this patch in place for like
months.

> Maybe no delay is fine for reading the device ID. I've no idea.
> Sometimes we start with no delay and only end up adding one later when
> people report issues. We could do that here.

Yes, I will add it and send a v2.

Thanks,
Marco

>
> Jonathan
>
> > ---
> > Resend since I forgot to add the DT maintainers
> >
> > drivers/iio/temperature/tmp117.c | 5 +++++
> > 1 file changed, 5 insertions(+)
> >
> > diff --git a/drivers/iio/temperature/tmp117.c b/drivers/iio/temperature/tmp117.c
> > index 059953015ae7..69328066811a 100644
> > --- a/drivers/iio/temperature/tmp117.c
> > +++ b/drivers/iio/temperature/tmp117.c
> > @@ -17,6 +17,7 @@
> > #include <linux/kernel.h>
> > #include <linux/limits.h>
> > #include <linux/property.h>
> > +#include <linux/regulator/consumer.h>
> >
> > #include <linux/iio/iio.h>
> >
> > @@ -152,6 +153,10 @@ static int tmp117_probe(struct i2c_client *client)
> > if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_WORD_DATA))
> > return -EOPNOTSUPP;
> >
> > + ret = devm_regulator_get_enable(&client->dev, "vcc");
> > + if (ret)
> > + return ret;
> > +
> > dev_id = i2c_smbus_read_word_swapped(client, TMP117_REG_DEVICE_ID);
> > if (dev_id < 0)
> > return dev_id;
>
>