From: David Woodhouse <dwmw2@infradead.org>
To: Russell King - ARM Linux <linux@arm.linux.org.uk>
Cc: "Mark Brown" <broonie@kernel.org>,
"Rob Herring" <robh+dt@kernel.org>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
"Tomeu Vizoso" <tomeu.vizoso@collabora.com>,
"Michael Turquette" <mturquette@baylibre.com>,
"Stephen Boyd" <sboyd@codeaurora.org>,
"Vinod Koul" <vinod.koul@intel.com>,
"Dan Williams" <dan.j.williams@intel.com>,
"Linus Walleij" <linus.walleij@linaro.org>,
"Alexandre Courbot" <gnurou@gmail.com>,
"Thierry Reding" <thierry.reding@gmail.com>,
"David Airlie" <airlied@linux.ie>,
"Terje Bergström" <tbergstrom@nvidia.com>,
"Stephen Warren" <swarren@wwwdotorg.org>,
"Wolfram Sang" <wsa@the-dreams.de>,
"Frank Rowand" <frowand.list@gmail.com>,
"Grant Likely" <grant.likely@linaro.org>,
"Kishon Vijay Abraham I" <kishon@ti.com>,
"Sebastian Reichel" <sre@kernel.org>,
"Dmitry Eremin-Solenikov" <dbaryshkov@gmail.com>,
"Liam Girdwood" <lgirdwood@gmail.com>,
"Felipe Balbi" <balbi@ti.com>
Subject: Re: [GIT PULL] On-demand device probing
Date: Tue, 20 Oct 2015 12:12:19 +0100 [thread overview]
Message-ID: <1445339539.4486.36.camel@infradead.org> (raw)
In-Reply-To: <20151019154324.GN32532@n2100.arm.linux.org.uk>
[-- Attachment #1: Type: text/plain, Size: 2757 bytes --]
On Mon, 2015-10-19 at 16:43 +0100, Russell King - ARM Linux wrote:
> On Mon, Oct 19, 2015 at 04:29:40PM +0100, David Woodhouse wrote:
> > I don't know that there *is* a coherent plan here to address it
> > all.
> >
> > Certainly, we *will* need subsystems to have firmware-specific
> > knowledge in some cases. Take GPIO as an example; ACPI *has* a way
> > to
> > describe GPIO, and properties which reference GPIO pins are
> > intended to
> > work through that — while in DT, properties which reference GPIO
> > pins
> > will have different contents. They'll be compatible at the driver
> > level, in the sense that there's a call to get a given GPIO given
> > the
> > property name, but the subsystems *will* be doing different things
> > behind the scenes.
>
> It's a bit ironic that you've chosen GPIO as an example there. The
> "new" GPIO API (the gpiod_* stuff) only has a fwnode way to get the
> gpio descriptor. There's no of_* method.
I think that part is already being worked on, but...
> If ACPI already handles GPIOs internally, then I'm left wondering
> why GPIO descriptor stuff went down the fwnode route at all - it
> seems rather pointless in this case,
ACPI already had a way for a given device to say that it uses certain
other GPIOs. But until we had device properties in ACPI, it could say
*what* it used them for. So sure, we could say that we used GPIO#15
from <this> controller and GPIOs #27 and #31 from <that> controller.
But there was no way to say that the former was the shotdown pin and
the latter was the reset pin.
While a GPIO property in DT will contain a phandle and basically be a
complete reference to find the pin you're after, the same property
represented in ACPI will just be an index into the resources that ACPI
could already refer to.
So referring to the example in Documentation/acpi/gpio-properties.txt:
Name (_CRS, ResourceTemplate ()
{
GpioIo (Exclusive, PullUp, 0, 0, IoRestrictionInputOnly,
"\\_SB.GPO0", 0, ResourceConsumer) {15}
GpioIo (Exclusive, PullUp, 0, 0, IoRestrictionInputOnly,
"\\_SB.GPO0", 0, ResourceConsumer) {27, 31}
})
That part, ACPI already had. But..
Name (_DSD, Package ()
{
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
Package ()
{
Package () {"reset-gpio", Package() {^BTH, 1, 1, 0 }},
Package () {"shutdown-gpio", Package() {^BTH, 0, 0, 0 }},
}
})
...this part is new, and allows us the full flexibility of device
properties. And the appropriate gpiod_get* function is supposed to
transparently work on either DT or ACPI.
--
dwmw2
[-- Attachment #2: smime.p7s --]
[-- Type: application/x-pkcs7-signature, Size: 5691 bytes --]
next prev parent reply other threads:[~2015-10-20 11:12 UTC|newest]
Thread overview: 103+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-14 8:34 [GIT PULL] On-demand device probing Tomeu Vizoso
2015-10-14 9:26 ` Mark Brown
2015-10-15 11:42 ` Tomeu Vizoso
[not found] ` <1444909328-24761-1-git-send-email-tomeu.vizoso-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org>
2015-10-16 21:23 ` Olof Johansson
2015-10-17 15:19 ` Rob Herring
2015-10-19 16:52 ` Olof Johansson
2015-10-17 6:57 ` Greg Kroah-Hartman
2015-10-17 15:04 ` Rob Herring
2015-10-17 15:47 ` Greg Kroah-Hartman
2015-10-17 16:28 ` Rob Herring
2015-10-17 16:56 ` Greg Kroah-Hartman
2015-10-17 17:54 ` Rob Clark
2015-10-17 18:27 ` Greg Kroah-Hartman
2015-10-17 18:45 ` Rob Clark
2015-10-17 18:59 ` Greg Kroah-Hartman
2015-10-17 19:39 ` Rob Clark
2015-10-17 20:22 ` Greg Kroah-Hartman
2015-10-17 19:04 ` Noralf Trønnes
2015-10-17 19:48 ` Rob Clark
2015-10-18 19:41 ` Mark Brown
2015-10-18 19:29 ` Mark Brown
2015-10-18 19:37 ` Greg Kroah-Hartman
2015-10-18 19:53 ` Mark Brown
2015-10-19 9:44 ` David Woodhouse
2015-10-19 9:52 ` Russell King - ARM Linux
2015-10-19 11:02 ` Mark Brown
2015-10-19 12:35 ` Rob Herring
2015-10-19 12:47 ` David Woodhouse
2015-10-19 14:50 ` Mark Brown
2015-10-19 15:29 ` David Woodhouse
2015-10-19 15:43 ` Russell King - ARM Linux
2015-10-19 18:27 ` Uwe Kleine-König
2015-10-19 18:39 ` Russell King - ARM Linux
2015-10-19 23:47 ` Alexandre Courbot
2015-10-20 7:14 ` gpiod API considerations [Was: [GIT PULL] On-demand device probing] Uwe Kleine-König
2015-10-20 11:12 ` David Woodhouse [this message]
2015-10-19 15:58 ` [GIT PULL] On-demand device probing Rob Herring
2015-10-19 21:40 ` Rafael J. Wysocki
2015-10-19 22:58 ` Rob Herring
[not found] ` <CAL_JsqKa3MFJUWKV2KxPE_NmrP2g4dOD3zr+0Kyx4yBkDOg2HA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-10-20 7:56 ` Rafael J. Wysocki
2015-10-20 14:15 ` Rob Herring
[not found] ` <CAL_JsqJuu5_Osqi+X6M6UeRDZFQB+_8riYDF1gvsGayk5-4SFw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-10-20 14:40 ` Alan Stern
2015-10-20 15:36 ` Mark Brown
2015-10-20 16:04 ` Alan Stern
2015-10-20 16:21 ` Tomeu Vizoso
2015-10-20 17:14 ` Alan Stern
2015-10-20 19:35 ` Mark Brown
2015-10-20 23:35 ` Rafael J. Wysocki
2015-10-21 6:15 ` Jean-Francois Moine
2015-10-22 0:54 ` Rafael J. Wysocki
2015-10-22 9:14 ` Tomeu Vizoso
2015-10-27 5:03 ` Rafael J. Wysocki
2015-10-20 23:34 ` Rafael J. Wysocki
2015-10-21 8:55 ` Geert Uytterhoeven
2015-10-21 23:39 ` Rafael J. Wysocki
2015-10-19 16:04 ` Mark Brown
2015-10-19 12:34 ` Tomeu Vizoso
2015-10-19 13:18 ` Russell King - ARM Linux
[not found] ` <20151019131821.GA32532-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2015-10-19 14:10 ` Tomeu Vizoso
2015-10-19 14:30 ` Russell King - ARM Linux
2015-10-19 15:00 ` Tomeu Vizoso
2015-10-19 15:35 ` Russell King - ARM Linux
2015-10-19 16:21 ` Geert Uytterhoeven
2015-10-19 16:45 ` Russell King - ARM Linux
2015-10-20 15:46 ` Alternative approach to solve the deferred probe (was: [GIT PULL] On-demand device probing) Russell King - ARM Linux
2015-10-21 3:58 ` Alternative approach to solve the deferred probe Frank Rowand
2015-10-21 8:18 ` Russell King - ARM Linux
2015-10-21 15:36 ` Frank Rowand
2015-10-21 16:55 ` Grygorii Strashko
2015-10-21 17:20 ` Russell King - ARM Linux
2015-10-21 18:13 ` Grygorii Strashko
2015-10-21 18:28 ` Russell King - ARM Linux
2015-10-22 15:12 ` Grygorii Strashko
2015-10-21 18:02 ` Frank Rowand
2015-10-21 18:29 ` Grygorii Strashko
2015-10-21 20:35 ` Russell King - ARM Linux
2015-10-22 0:05 ` Frank Rowand
2015-10-22 13:20 ` Alternative approach to solve the deferred probe (was: [GIT PULL] On-demand device probing) Mark Brown
[not found] ` <CAAObsKB2BUZ-smid45wOdAQw6h2yNqCydk+azAFNk69ewHJtZQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-10-21 15:59 ` [GIT PULL] On-demand device probing Frank Rowand
2015-10-21 16:27 ` Mark Brown
2015-10-21 18:18 ` Frank Rowand
2015-10-21 21:03 ` Mark Brown
2015-10-21 21:12 ` Rob Herring
2015-10-21 21:50 ` Frank Rowand
2015-10-22 9:05 ` Tomeu Vizoso
2015-10-22 14:38 ` Greg Kroah-Hartman
2015-10-22 14:44 ` Greg Kroah-Hartman
[not found] ` <20151022144405.GC21861-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2015-10-22 15:02 ` Russell King - ARM Linux
2015-10-22 23:33 ` Mark Brown
2015-10-22 18:53 ` Frank Rowand
2015-10-22 19:26 ` Greg Kroah-Hartman
[not found] ` <20151022192639.GC27248-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2015-10-23 12:28 ` Tomeu Vizoso
[not found] ` <562930AB.1070203-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-10-23 15:45 ` Tim Bird
2015-10-23 16:34 ` Rob Herring
2015-10-24 14:17 ` Rafael J. Wysocki
2015-10-24 22:06 ` Mark Brown
2015-10-25 13:54 ` Rafael J. Wysocki
2015-10-26 1:12 ` Mark Brown
2015-10-26 10:51 ` Michael Turquette
2015-10-26 12:55 ` Tomeu Vizoso
2015-10-26 23:37 ` Rafael J. Wysocki
2015-10-25 19:45 ` Andrew F. Davis
2015-10-24 17:55 ` Geert Uytterhoeven
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=1445339539.4486.36.camel@infradead.org \
--to=dwmw2@infradead.org \
--cc=airlied@linux.ie \
--cc=balbi@ti.com \
--cc=broonie@kernel.org \
--cc=dan.j.williams@intel.com \
--cc=dbaryshkov@gmail.com \
--cc=frowand.list@gmail.com \
--cc=gnurou@gmail.com \
--cc=grant.likely@linaro.org \
--cc=gregkh@linuxfoundation.org \
--cc=kishon@ti.com \
--cc=lgirdwood@gmail.com \
--cc=linus.walleij@linaro.org \
--cc=linux@arm.linux.org.uk \
--cc=mturquette@baylibre.com \
--cc=robh+dt@kernel.org \
--cc=sboyd@codeaurora.org \
--cc=sre@kernel.org \
--cc=swarren@wwwdotorg.org \
--cc=tbergstrom@nvidia.com \
--cc=thierry.reding@gmail.com \
--cc=tomeu.vizoso@collabora.com \
--cc=vinod.koul@intel.com \
--cc=wsa@the-dreams.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).