From: Maxime Ripard <maxime.ripard@free-electrons.com>
To: Benoit Parrot <bparrot@ti.com>
Cc: linus.walleij@linaro.org, linux-gpio@vger.kernel.org,
linux-kernel@vger.kernel.org, devicetree@vger.kernel.org
Subject: Re: [RFC Patch] gpio: add GPIO hogging mechanism
Date: Thu, 30 Oct 2014 18:16:09 +0100 [thread overview]
Message-ID: <20141030171609.GQ21251@lukather> (raw)
In-Reply-To: <20141029230912.GF29965@ti.com>
[-- Attachment #1: Type: text/plain, Size: 3233 bytes --]
On Wed, Oct 29, 2014 at 06:09:12PM -0500, Benoit Parrot wrote:
> Maxime Ripard <maxime.ripard@free-electrons.com> wrote on Wed [2014-Oct-29 17:47:46 +0100]:
> > On Wed, Oct 29, 2014 at 11:41:22AM -0500, Benoit Parrot wrote:
> > > Maxime Ripard <maxime.ripard@free-electrons.com> wrote on Wed [2014-Oct-29 11:45:59 +0100]:
> > > > Hi,
> > > >
> > > > On Tue, Oct 21, 2014 at 03:09:58PM -0500, Benoit Parrot wrote:
> > > > > Based on Boris Brezillion work this is a reworked patch
> > > > > of his initial GPIO hogging mechanism.
> > > > > This patch provides a way to initally configure specific GPIO
> > > > > when the gpio controller is probe.
> > > > >
> > > > > The actual DT scanning to collect the GPIO specific data is performed
> > > > > as part of the gpiochip_add().
> > > > >
> > > > > The purpose of this is to allows specific GPIOs to be configured
> > > > > without any driver specific code.
> > > > > This particularly usueful because board design are getting
> > > > > increassingly complex and given SoC pins can now have upward
> > > > > of 10 mux values a lot of connections are now dependent on
> > > > > external IO muxes to switch various modes and combination.
> > > > >
> > > > > Specific drivers should not necessarily need to be aware of
> > > > > what accounts to a specific board implementation. This board level
> > > > > "description" should be best kept as part of the dts file.
> > > > >
> > > > > Signed-off-by: Benoit Parrot <bparrot@ti.com>
> > > >
> > > > I've been thinking about this for quite some time, it's good to see
> > > > some progress on that :)
> > > >
> > > > However, I have a slightly different use case for it: the Allwinner
> > > > SoCs have a vdd pin coming in for every gpio bank. Nothing out of the
> > > > ordinary so far, except that some of the boards are using a
> > > > GPIO-controlled regulator to feed another bank vdd. That obviously
> > > > causes a chicken-egg issue, since for the gpio-regulator driver to
> > > > probe, it needs to gpio driver, and for the gpio driver to probe, it
> > > > needs the regulator driver.
> > >
> > > Unless the gpio controlling the vdd pin is from the same bank your
> > > trying to power up I do not see the issue here.
> >
> > Not the same bank, but the same driver.
>
> How are you currently working around this issue?
For now, we are not, which is exactly why I'm interested in such a
mechanism :)
What I was thinking about for this case would be to "fake" the fact
that the GPIO is even there. The regulator driver would probe, claim
the GPIO, without actually doing anything more than just storing the
value to set, which would be set in the hardware only when the GPIO
driver probes.
I'm not very happy about it though, because that would mean that
drivers that require more than just a value assignment (for example
set high, wait, set low, for a reset for example) wouldn't even know
that what they expect didn't happen.
Maybe that could work by passing some kind of flag to gpio_request to
trigger that mecanism, I don't know.
Maxime
--
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
next prev parent reply other threads:[~2014-10-30 17:16 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-21 20:09 [RFC Patch] gpio: add GPIO hogging mechanism Benoit Parrot
2014-10-29 7:09 ` Alexandre Courbot
2014-10-29 16:21 ` Benoit Parrot
2014-10-30 0:29 ` Alexandre Courbot
2014-11-14 9:19 ` Linus Walleij
2014-11-14 10:22 ` Maxime Ripard
2014-10-29 8:53 ` Pantelis Antoniou
2014-10-29 16:34 ` Benoit Parrot
2014-10-29 16:42 ` Pantelis Antoniou
2014-10-29 19:36 ` Benoit Parrot
2014-10-30 0:31 ` Alexandre Courbot
2014-11-03 9:43 ` Linus Walleij
2014-10-29 10:45 ` Maxime Ripard
2014-10-29 16:41 ` Benoit Parrot
2014-10-29 16:47 ` Maxime Ripard
2014-10-29 23:09 ` Benoit Parrot
2014-10-30 17:16 ` Maxime Ripard [this message]
2014-11-03 9:59 ` Linus Walleij
2014-11-04 0:38 ` Benoit Parrot
[not found] ` <20141104003827.GA24005-l0cyMroinI0@public.gmane.org>
2014-11-14 9:16 ` Linus Walleij
-- strict thread matches above, loose matches on Subject: below --
2013-12-19 14:34 [RFC PATCH] " Boris BREZILLON
[not found] ` <1387463671-1164-1-git-send-email-b.brezillon-ZNYIgs0QAGpBDgjK7y7TUQ@public.gmane.org>
2013-12-19 14:34 ` Boris BREZILLON
2013-12-19 16:41 ` Greg Kroah-Hartman
2013-12-19 16:47 ` Felipe Balbi
2013-12-19 17:18 ` boris brezillon
2013-12-19 18:22 ` Felipe Balbi
2013-12-30 9:48 ` boris brezillon
2014-01-08 9:45 ` Linus Walleij
[not found] ` <20131219164109.GB27409-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2013-12-19 17:13 ` boris brezillon
2014-09-20 21:37 ` Ben Gamari
2014-09-20 22:26 ` Ben Gamari
2014-01-08 9:37 ` Linus Walleij
2014-01-08 10:18 ` boris brezillon
2014-01-14 10:27 ` 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=20141030171609.GQ21251@lukather \
--to=maxime.ripard@free-electrons.com \
--cc=bparrot@ti.com \
--cc=devicetree@vger.kernel.org \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.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