From: Jonathan Cameron <jic23@kernel.org>
To: Linus Walleij <linusw@kernel.org>
Cc: linux-iio@vger.kernel.org,
"David Lechner" <dlechner@baylibre.com>,
"Nuno Sá" <nuno.sa@analog.com>,
"Andy Shevchenko" <andy@kernel.org>,
"Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Kyungmin Park" <kyungmin.park@samsung.com>,
devicetree@vger.kernel.org
Subject: Re: [PATCH 3/4] iio: light: gp2ap020a00f: Enable the core and I/O supplies
Date: Sun, 8 Nov 2026 00:03:54 +0000 [thread overview]
Message-ID: <20261108000354.2e673da9@jic23-hlaptop> (raw)
In-Reply-To: <20261108-gp2ap030-v1-3-55314eb7055b@kernel.org>
On Sun, 08 Nov 2026 00:31:35 +0100
Linus Walleij <linusw@kernel.org> wrote:
> Enable the optional vdd and vio supplies before accessing the device.
> Use managed helpers so both supplies are disabled on probe failure and
> removal. Continue probing when an optional supply is absent, while
> propagating other errors, including deferred probe.
>
> Signed-off-by: Linus Walleij <linusw@kernel.org>
> ---
> drivers/iio/light/gp2ap020a00f.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/drivers/iio/light/gp2ap020a00f.c b/drivers/iio/light/gp2ap020a00f.c
> index b435dc5e8706..62c4beb20cce 100644
> --- a/drivers/iio/light/gp2ap020a00f.c
> +++ b/drivers/iio/light/gp2ap020a00f.c
> @@ -1414,6 +1414,14 @@ static int gp2ap020a00f_probe(struct i2c_client *client)
>
> data = iio_priv(indio_dev);
>
> + err = devm_regulator_get_enable_optional(dev, "vdd");
> + if (err && err != -ENODEV)
> + return dev_err_probe(dev, err, "Failed to enable core supply\n");
> +
> + err = devm_regulator_get_enable_optional(dev, "vio");
> + if (err && err != -ENODEV)
> + return dev_err_probe(dev, err, "Failed to enable I/O supply\n");
Just use devm_regulator_get_enable() and the regulator
framework should supply stub regulators if they aren't
specified. The optional bit here is for when we do
something different if they aren't wired (usually for IIO that
means using an internal reference rather than an external one).
Jonathan
> +
> data->vled_reg = devm_regulator_get(dev, "vled");
> if (IS_ERR(data->vled_reg))
> return PTR_ERR(data->vled_reg);
>
next prev parent reply other threads:[~2026-11-08 0:04 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-07 23:31 [PATCH 0/4] iio: light: gp2ap020a00f: Add supplies and GP2AP030A00F support Linus Walleij
2026-11-07 23:31 ` [PATCH 1/4] dt-bindings: iio: light: sharp,gp2ap020a00f: Add supplies Linus Walleij
2026-11-07 23:58 ` Jonathan Cameron
2026-11-08 16:08 ` Linus Walleij
2026-11-07 23:31 ` [PATCH 2/4] dt-bindings: iio: light: sharp,gp2ap020a00f: Add GP2AP030A00F Linus Walleij
2026-11-08 0:02 ` Jonathan Cameron
2026-11-07 23:31 ` [PATCH 3/4] iio: light: gp2ap020a00f: Enable the core and I/O supplies Linus Walleij
2026-11-08 0:03 ` Jonathan Cameron [this message]
2026-11-07 23:31 ` [PATCH 4/4] iio: light: gp2ap020a00f: Add GP2AP030A00F support Linus Walleij
2026-11-08 0:21 ` Jonathan Cameron
2026-11-08 21:13 ` Linus Walleij
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=20261108000354.2e673da9@jic23-hlaptop \
--to=jic23@kernel.org \
--cc=andy@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dlechner@baylibre.com \
--cc=krzk+dt@kernel.org \
--cc=kyungmin.park@samsung.com \
--cc=linusw@kernel.org \
--cc=linux-iio@vger.kernel.org \
--cc=nuno.sa@analog.com \
--cc=robh@kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox