From: Sebastian Reichel <sre@kernel.org>
To: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: linux-input@vger.kernel.org, "Pali Rohár" <pali.rohar@gmail.com>,
"Michael Welling" <mwelling@ieee.org>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/3] Input: tsc2004/5 - fix regulator handling
Date: Sat, 11 Feb 2017 18:02:48 +0100 [thread overview]
Message-ID: <20170211170248.yhgp7b46nxkkh7ch@earth> (raw)
In-Reply-To: <20170211000623.33663-2-dmitry.torokhov@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 2954 bytes --]
Hi Dmitry,
On Fri, Feb 10, 2017 at 04:06:22PM -0800, Dmitry Torokhov wrote:
> In case of an optional regulator missing regulator core will return
> ERR_PTR(-ENOENT) and not NULL, so the check for missing regulator is
> incorrect. Also, the regulator is not optional, it may simply be missing
> from platform decsription, so let's use devm_regulator_get() and rely on
> regulator core to give us dummy supply when real one is not available.
>
> Fixes: d257f2980feb ("Input: tsc2005 - convert to gpiod")
> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Acked-By: Sebastian Reichel <sre@kernel.org>
> ---
>
> Sebastian, I am wondering, what regulator this is.
On N900 the same regultor is connected to I/OVDD & SNSVDD.
> If it is IO VDD, then I think we activate it too late (i.e. we are
> truing to shut off the controller before we turn the regulator on.
Yes, it should be moved.
> If it is sensor VDD, then we probably need to mention it, and also
> add IO VVD supply as well.
-- Sebastian
>
> drivers/input/touchscreen/tsc200x-core.c | 19 +++++++------------
> 1 file changed, 7 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/input/touchscreen/tsc200x-core.c b/drivers/input/touchscreen/tsc200x-core.c
> index b7059ed8872e..1c14a38e3748 100644
> --- a/drivers/input/touchscreen/tsc200x-core.c
> +++ b/drivers/input/touchscreen/tsc200x-core.c
> @@ -527,10 +527,10 @@ int tsc200x_probe(struct device *dev, int irq, const struct input_id *tsc_id,
> return error;
> }
>
> - ts->vio = devm_regulator_get_optional(dev, "vio");
> + ts->vio = devm_regulator_get(dev, "vio");
> if (IS_ERR(ts->vio)) {
> error = PTR_ERR(ts->vio);
> - dev_err(dev, "vio regulator missing (%d)", error);
> + dev_err(dev, "error acquiring vio regulator: %d", error);
> return error;
> }
>
> @@ -587,12 +587,9 @@ int tsc200x_probe(struct device *dev, int irq, const struct input_id *tsc_id,
> return error;
> }
>
> - /* enable regulator for DT */
> - if (ts->vio) {
> - error = regulator_enable(ts->vio);
> - if (error)
> - return error;
> - }
> + error = regulator_enable(ts->vio);
> + if (error)
> + return error;
>
> dev_set_drvdata(dev, ts);
> error = sysfs_create_group(&dev->kobj, &tsc200x_attr_group);
> @@ -615,8 +612,7 @@ int tsc200x_probe(struct device *dev, int irq, const struct input_id *tsc_id,
> err_remove_sysfs:
> sysfs_remove_group(&dev->kobj, &tsc200x_attr_group);
> disable_regulator:
> - if (ts->vio)
> - regulator_disable(ts->vio);
> + regulator_disable(ts->vio);
> return error;
> }
> EXPORT_SYMBOL_GPL(tsc200x_probe);
> @@ -627,8 +623,7 @@ int tsc200x_remove(struct device *dev)
>
> sysfs_remove_group(&dev->kobj, &tsc200x_attr_group);
>
> - if (ts->vio)
> - regulator_disable(ts->vio);
> + regulator_disable(ts->vio);
>
> return 0;
> }
> --
> 2.11.0.483.g087da7b7c-goog
>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2017-02-11 17:02 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-11 0:06 [PATCH 1/3] Input: tsc2005 - add OF device table Dmitry Torokhov
2017-02-11 0:06 ` [PATCH 2/3] Input: tsc2004/5 - fix regulator handling Dmitry Torokhov
2017-02-11 17:02 ` Sebastian Reichel [this message]
2017-02-11 0:06 ` [PATCH 3/3] Input: tsc2004/5 - switch to using generic device properties Dmitry Torokhov
2017-02-11 17:37 ` Sebastian Reichel
2017-02-11 17:03 ` [PATCH 1/3] Input: tsc2005 - add OF device table Sebastian Reichel
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=20170211170248.yhgp7b46nxkkh7ch@earth \
--to=sre@kernel.org \
--cc=dmitry.torokhov@gmail.com \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mwelling@ieee.org \
--cc=pali.rohar@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox