[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAOMZO5Be-RzekcsigNKrss-7DGV0F8yU2yhT11n+eAmqP1euKw@mail.gmail.com>
Date: Fri, 7 Dec 2018 08:29:23 -0200
From: Fabio Estevam <festevam@...il.com>
To: Yongcai Huang <anson.huang@....com>
Cc: Jonathan Cameron <jic23@...nel.org>,
Hartmut Knaack <knaack.h@....de>,
Lars-Peter Clausen <lars@...afoo.de>,
Peter Meerwald <pmeerw@...erw.net>, linux-iio@...r.kernel.org,
linux-kernel <linux-kernel@...r.kernel.org>,
NXP Linux Team <linux-imx@....com>
Subject: Re: [PATCH] iio: light: isl29018: add optional vcc regulator
operation support
Hi Anson,
On Thu, Dec 6, 2018 at 1:17 AM Anson Huang <anson.huang@....com> wrote:
>
> The light sensor's power supply could be controlled by regulator
> on some platforms, such as i.MX6Q-SABRESD board, the light sensor
> isl29023's power supply is controlled by a GPIO fixed regulator,
> need to make sure the regulator is enabled before any operation of
> sensor, this patch adds optional vcc regulator operation support.
>
> Signed-off-by: Anson Huang <Anson.Huang@....com>
> ---
> drivers/iio/light/isl29018.c | 29 +++++++++++++++++++++++++++++
> 1 file changed, 29 insertions(+)
>
> diff --git a/drivers/iio/light/isl29018.c b/drivers/iio/light/isl29018.c
> index b45400f..47a55c8 100644
> --- a/drivers/iio/light/isl29018.c
> +++ b/drivers/iio/light/isl29018.c
> @@ -23,6 +23,7 @@
> #include <linux/mutex.h>
> #include <linux/delay.h>
> #include <linux/regmap.h>
> +#include <linux/regulator/consumer.h>
> #include <linux/slab.h>
> #include <linux/iio/iio.h>
> #include <linux/iio/sysfs.h>
> @@ -95,6 +96,7 @@ struct isl29018_chip {
> struct isl29018_scale scale;
> int prox_scheme;
> bool suspended;
> + struct regulator *vcc_reg;
> };
>
> static int isl29018_set_integration_time(struct isl29018_chip *chip,
> @@ -735,6 +737,15 @@ static int isl29018_probe(struct i2c_client *client,
>
> mutex_init(&chip->lock);
>
> + chip->vcc_reg = devm_regulator_get_optional(&client->dev, "vcc");
> + if (!IS_ERR(chip->vcc_reg)) {
> + err = regulator_enable(chip->vcc_reg);
> + if (err) {
> + dev_err(&client->dev, "failed to enable VDD regulator\n");
You call the regulator as "vcc", but in the error message you mention
"VDD", which is confusing.
Same comment as in the previous patch.
There is no VCC regulator as per the datasheet. There are VDDD and
VDDA power supplies, so better represent both and with the same name
they appear in the datasheet.
Powered by blists - more mailing lists