public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
From: linux@armlinux.org.uk (Russell King - ARM Linux)
To: linux-arm-kernel@lists.infradead.org
Subject: linux-next regression caused by "gpiolib: request the gpio before querying its direction"
Date: Thu, 31 Aug 2017 10:22:12 +0100	[thread overview]
Message-ID: <20170831092211.GP20805@n2100.armlinux.org.uk> (raw)
In-Reply-To: <CAMuHMdVGkTQ0vnOg5o+t1J9qe79ySm0R8aE4msyuNLoVGHLD6A@mail.gmail.com>

On Thu, Aug 31, 2017 at 09:30:54AM +0200, Geert Uytterhoeven wrote:
> > Note that on my side, I've however not been convinced by this semantic:
> > I find it weird that when you request a GPIO, it gets automatically
> > muxed as such, without an explicit pinctrl configuration in the DT.
> 
> On lots of hardware, you first have to select between GPIO and "other
> function".
> For "other function", you have to select the actual function later.
> In that case, switching to a GPIO can be done by flipping a single bit.

What about hardware which you can configure for some alternate function
but still monitor the pin via GPIO, even though it's not mux'd as GPIO.

For instance, you may have a timer block which can capture on both
edges of an external event signal, which needs the pin to be muxed for
that function.  However, you need to read the state of the pin, and
that is only available through GPIO.  Muxing the pin to be a GPIO just
because someone requests the GPIO is, imho, ill thought-out and breaks
some use cases.

IMHO, the pinmux settings should always be specified in DT, and that's
what we should be using everywhere, not doing broken backdoor games like
"the gpio is being requested, it's obvious that we want this pin to be
a gpio" - that really doesn't follow.

-- 
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 8.8Mbps down 630kbps up
According to speedtest.net: 8.21Mbps down 510kbps up

  reply	other threads:[~2017-08-31  9:22 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-30  9:24 linux-next regression caused by "gpiolib: request the gpio before querying its direction" Thomas Petazzoni
2017-08-30 12:31 ` Timur Tabi
2017-08-30 13:59   ` Gregory CLEMENT
2017-08-30 14:17     ` Thomas Petazzoni
2017-08-30 14:22       ` Timur Tabi
2017-08-30 14:32         ` Thomas Petazzoni
2017-08-30 16:24           ` jmondi
2017-08-30 19:38             ` Geert Uytterhoeven
2017-08-31  7:08       ` Linus Walleij
2017-08-31  7:18         ` Thomas Petazzoni
2017-08-31  7:30           ` Geert Uytterhoeven
2017-08-31  9:22             ` Russell King - ARM Linux [this message]
2017-08-31  9:39               ` Thomas Petazzoni
2017-08-31 18:39                 ` Timur Tabi
2017-08-31  9:50               ` Geert Uytterhoeven
2017-08-31 13:05                 ` Timur Tabi
2017-08-31 10:08               ` Maxime Ripard
2017-08-31  7:04 ` 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=20170831092211.GP20805@n2100.armlinux.org.uk \
    --to=linux@armlinux.org.uk \
    --cc=linux-arm-kernel@lists.infradead.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