From: Mika Westerberg <mika.westerberg@linux.intel.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Alexandre Courbot <gnurou@gmail.com>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Grant Likely <grant.likely@linaro.org>,
ACPI Devel Maling List <linux-acpi@vger.kernel.org>,
Aaron Lu <aaron.lu@intel.com>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
Linus Walleij <linus.walleij@linaro.org>,
Dmitry Torokhov <dmitry.torokhov@gmail.com>,
Bryan Wu <cooloney@gmail.com>,
Darren Hart <dvhart@linux.intel.com>,
Mark Rutland <mark.rutland@arm.com>
Subject: Re: GPIO bindings guidelines (Was: Re: [PATCH v5 10/12] gpio: Support for unified device properties interface)
Date: Wed, 22 Oct 2014 11:51:40 +0300 [thread overview]
Message-ID: <20141022085140.GF1484@lahna.fi.intel.com> (raw)
In-Reply-To: <4711930.7fsc2oSxcp@wuerfel>
On Wed, Oct 22, 2014 at 10:33:32AM +0200, Arnd Bergmann wrote:
> On Wednesday 22 October 2014 11:10:44 Mika Westerberg wrote:
> >
> > It expects that GPIOs returned from _CRS are in specific order. Since we
> > can't change these existing ACPI tables, we must support them somehow.
> >
> > This patch series handles it so that:
> >
> > 1) If we can't find given property (e.g "reset-gpios" or
> > "shutdown-gpios") the index above will refer directly to the GPIO
> > resource returned from _CRS.
> >
> > 2) If the property is found we ignore index and take it from the
> > property instead.
> >
> > This has the drawback that we cannot support this:
> >
> > Package () { "reset-gpios", Package () { ^GPIO, 0, 0, 0, ^GPIO, 1, 0, 0}}
> > ^^^^^^^^^^^^^^
> > So the second entry in the above is not accessible using
> > gpiod_get_index() and the reason is that we want to support the existing
> > and new ACPI tables where _DSD is not being used.
>
> So this is not using the DT binding but does thing slightly differently then.
> In this case (supporting two incompatible bindings for DT and ACPI), I think
> the only sensible driver implementation would be to know what we are asking
> for and use different devm_gpiod_get_index statements based on the firmware
> interface.
Yes something like that is probably needed.
Alternatively (I didn't try if this works) we could do it so that
when we see:
gpio = devm_gpiod_get_index(&pdev->dev, "shutdown", 1);
we check first for the property ("shutdown-gpios"), and check if it has
more than one entry in the value, like:
Package () { "reset-gpios", Package () { ^GPIO, 0, 0, 0, ^GPIO, 1, 0, 0}}
and in that case return the second entry. If we find this instead:
Package () { "reset-gpios", Package () { ^GPIO, 0, 0, 0 }}
we just ignore the index.
Last if there is no _DSD the index refers directly to the GPIO resource
in _CRS.
This would support both _DSD and non-_DSD at the same time but it makes
the implementation more complex.
next prev parent reply other threads:[~2014-10-22 8:51 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-21 5:14 GPIO bindings guidelines (Was: Re: [PATCH v5 10/12] gpio: Support for unified device properties interface) Alexandre Courbot
2014-10-21 7:54 ` Arnd Bergmann
2014-10-22 8:10 ` Mika Westerberg
2014-10-22 8:33 ` Arnd Bergmann
2014-10-22 8:51 ` Mika Westerberg [this message]
2014-10-22 9:28 ` Arnd Bergmann
2014-10-22 14:07 ` Rafael J. Wysocki
2014-10-22 14:56 ` Mika Westerberg
2014-10-22 23:21 ` Rafael J. Wysocki
2014-10-23 12:56 ` Mika Westerberg
2014-10-23 21:51 ` Rafael J. Wysocki
2014-10-24 7:15 ` Alexandre Courbot
2014-10-24 7:34 ` Mika Westerberg
2014-10-24 22:00 ` Rafael J. Wysocki
2014-10-24 22:05 ` [PATCH] ACPI / GPIO: Driver GPIO mappings for ACPI GPIOs Rafael J. Wysocki
2014-10-27 5:21 ` Alexandre Courbot
2014-10-27 22:34 ` Rafael J. Wysocki
2014-10-28 4:11 ` Alexandre Courbot
2014-10-30 0:45 ` Rafael J. Wysocki
2014-10-30 10:22 ` Mika Westerberg
2014-11-03 13:22 ` Linus Walleij
2014-11-03 22:56 ` Rafael J. Wysocki
2014-11-14 8:58 ` Linus Walleij
2014-11-14 22:54 ` Rafael J. Wysocki
2014-11-17 4:28 ` Alexandre Courbot
2014-11-17 23:31 ` Rafael J. Wysocki
2014-10-27 7:50 ` GPIO bindings guidelines (Was: Re: [PATCH v5 10/12] gpio: Support for unified device properties interface) Mika Westerberg
2014-10-23 6:10 ` Alexandre Courbot
2014-10-23 12:08 ` Arnd Bergmann
2014-10-23 6:02 ` Alexandre Courbot
2014-10-23 12:25 ` Arnd Bergmann
2014-10-30 15:11 ` 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=20141022085140.GF1484@lahna.fi.intel.com \
--to=mika.westerberg@linux.intel.com \
--cc=aaron.lu@intel.com \
--cc=arnd@arndb.de \
--cc=cooloney@gmail.com \
--cc=devicetree@vger.kernel.org \
--cc=dmitry.torokhov@gmail.com \
--cc=dvhart@linux.intel.com \
--cc=gnurou@gmail.com \
--cc=grant.likely@linaro.org \
--cc=gregkh@linuxfoundation.org \
--cc=linus.walleij@linaro.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=rjw@rjwysocki.net \
/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.