From: Thierry Reding <thierry.reding@gmail.com>
To: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
Jonathan Hunter <jonathanh@nvidia.com>,
Dmitry Osipenko <digetx@gmail.com>,
Thomas Gleixner <tglx@linutronix.de>,
dri-devel@lists.freedesktop.org, linux-tegra@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] drm/tegra: switch to using devm_gpiod_get_optional
Date: Mon, 16 Sep 2019 15:59:04 +0200 [thread overview]
Message-ID: <20190916135904.GA7488@ulmo> (raw)
In-Reply-To: <20190915071323.GA36596@dtor-ws>
[-- Attachment #1: Type: text/plain, Size: 2040 bytes --]
On Sun, Sep 15, 2019 at 12:13:23AM -0700, Dmitry Torokhov wrote:
> We do not really need to use API that fetches GPIO data from an
> arbitrary device tree node, as we are dealing with device tree node
> assigned to the device structure. We can easily switch to
> devm_gpiod_get_optional() plus gpiod_set_consumer_name() and clean up
> the code.
>
> Note this is part of efforts to get rid of [devm_]gpiod_get_from_of_node
> in drivers so that gpiolib can be cleaned up.
>
> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> ---
> drivers/gpu/drm/tegra/output.c | 18 +++++++-----------
> 1 file changed, 7 insertions(+), 11 deletions(-)
We can't do that. There's a special case in rgb.c that sets
output->of_node to something different than output->dev, so we actually
need to pass the struct device_node * separately.
Thierry
>
> diff --git a/drivers/gpu/drm/tegra/output.c b/drivers/gpu/drm/tegra/output.c
> index bdcaa4c7168c..b4248125b844 100644
> --- a/drivers/gpu/drm/tegra/output.c
> +++ b/drivers/gpu/drm/tegra/output.c
> @@ -121,19 +121,15 @@ int tegra_output_probe(struct tegra_output *output)
> of_node_put(ddc);
> }
>
> - output->hpd_gpio = devm_gpiod_get_from_of_node(output->dev,
> - output->of_node,
> - "nvidia,hpd-gpio", 0,
> - GPIOD_IN,
> - "HDMI hotplug detect");
> - if (IS_ERR(output->hpd_gpio)) {
> - if (PTR_ERR(output->hpd_gpio) != -ENOENT)
> - return PTR_ERR(output->hpd_gpio);
> -
> - output->hpd_gpio = NULL;
> - }
> + output->hpd_gpio = devm_gpiod_get_optional(output->dev,
> + "nvidia,hpd", GPIOD_IN);
> + if (IS_ERR(output->hpd_gpio))
> + return PTR_ERR(output->hpd_gpio);
>
> if (output->hpd_gpio) {
> + gpiod_set_consumer_name(output->hpd_gpio,
> + "HDMI hotplug detect");
> +
> err = gpiod_to_irq(output->hpd_gpio);
> if (err < 0) {
> dev_err(output->dev, "gpiod_to_irq(): %d\n", err);
> --
> 2.23.0.237.gc6a4ce50a0-goog
>
>
> --
> Dmitry
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2019-09-16 13:59 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-15 7:13 [PATCH] drm/tegra: switch to using devm_gpiod_get_optional Dmitry Torokhov
2019-09-16 13:59 ` Thierry Reding [this message]
2019-09-16 16:54 ` Dmitry Torokhov
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=20190916135904.GA7488@ulmo \
--to=thierry.reding@gmail.com \
--cc=airlied@linux.ie \
--cc=daniel@ffwll.ch \
--cc=digetx@gmail.com \
--cc=dmitry.torokhov@gmail.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=jonathanh@nvidia.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=tglx@linutronix.de \
/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.