From: David Cohen <david.a.cohen@linux.intel.com>
To: Mika Westerberg <mika.westerberg@linux.intel.com>
Cc: Felipe Balbi <balbi@ti.com>,
Linus Walleij <linus.walleij@linaro.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-gpio@vger.kernel.org" <linux-gpio@vger.kernel.org>,
stable <stable@vger.kernel.org>,
mathias.nyman@linux.intel.com
Subject: Re: [PATCH] pinctrl: baytrail: show output gpio state correctly on Intel Baytrail
Date: Tue, 4 Nov 2014 13:51:53 -0800 [thread overview]
Message-ID: <20141104215153.GA25606@psi-dev26.jf.intel.com> (raw)
In-Reply-To: <20141104193424.GT1618@lahna.fi.intel.com>
On Tue, Nov 04, 2014 at 09:34:24PM +0200, Mika Westerberg wrote:
> On Tue, Nov 04, 2014 at 11:11:16AM -0800, David Cohen wrote:
> > > It is not implicit at all.
> > >
> > > The user of the GPIO in ACPI DSDT table says something like:
> > >
> > > Name (_DEP, Package () { \_SB.GPO2 })
> > >
> > > or similar. That is *explicit* dependency. Here \_SB.GPO2 is one of the
> > > GPIO banks.
> >
> > Either kernel knows on-the-fly or statically the required dependency.
> > The static dependency is well described by Kconfig. An on-the-fly
> > dependency could be a probe execution failing because it couldn't access
> > part of required resources. If the dependency is temporarily not
> > described this way, it would still be acceptable a documentation
> > somewhere explaining that we do have this hidden thing going on.
>
> The only thing kernel knows about this is when it finds that the
> device in question has _DEP object. Once that happens and it evaluates
That's all kernel needs to know.
> to a list of devices we depend on, we can defer this particular driver
> going further in probe until all the dependencies listed in _DEP are
> resolved.
That's the best way to prevent this issue IMHO, but looks like it's
already being addressed:
https://lkml.org/lkml/2014/10/27/455
>
> The documentation you are after is ACPI 5.1 specification downloadable
> freely at uefi.org/acpi.
Nope. The documentation I am referring to is the one that doesn't exist.
It supposed to be a simple comment on pinctrl_baytrail.c's file, or
maybe a comment on Kconfig. Wherever it could tell ppl not involved with
original development that there might be an implicit dependency to this
gpio driver by other drivers. And because of that, it's recommended to
let this driver probed as soon as possible on Bay Trail platforms.
BTW if we can't find the dependency either on Kconfig or on kernel
codes, if no dependent is checking for this resource when probing, if
all we have to define that this dependency exists is by looking random
ACPI tables (which are neither generic, nor part of kernel), it is then
implicit WRT kernel. Kernel cannot find it, nor developers can foresee
it.
>
> > > > But IMHO all dependency to a driver should be explicitly described
> > > > (e.g. on Kconfigs, or maybe failing probe). With current situation if we
> > > > do not select pinctrl_baytrail, instead of affecting just the drivers
> > > > that explicitly depend on that, it affects others which we are unable to
> > > > easily identify.
> > >
> > > So how do you propose we describe the dependency? It is completely in
> > > firmware. Should we make i2c-hid.c dependent on pinctrl-baytrail.c just
> > > because some underlying firmware method (_PSx for example) needs the
> > > GPIO but the driver itself does not?
> >
> > i2c-hid.c should fail, WARN, yell, scream or whatever :)
> > This way one could say: hey, we needed GPIO.
>
> But i2c-hid.c does not know anything about GPIOS in the first place.
> Like I said the dependency is in the firmware level. It may need GPIOs
> to do something or not but the driver never sees those GPIOs.
AFAIU any gpio usage by FW would start from a call from i2c-hid.c
driver. Maybe this call could fail, and then nothing implicit happens.
But i2c-hid.c does know about the dependency if checks its ACPI table
during the probe. But that's being addressed by the thread I posted
above.
Br, David
next prev parent reply other threads:[~2014-11-04 21:51 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1412355319-18946-1-git-send-email-david.a.cohen@linux.intel.com>
2014-10-13 18:23 ` [PATCH] pinctrl: baytrail: show output gpio state correctly on Intel Baytrail David Cohen
2014-10-13 19:14 ` Felipe Balbi
2014-10-13 19:24 ` David Cohen
2014-10-13 19:26 ` Felipe Balbi
2014-10-13 19:36 ` Felipe Balbi
2014-10-13 20:19 ` David Cohen
2014-10-28 10:15 ` Linus Walleij
2014-10-28 14:42 ` Felipe Balbi
2014-10-31 8:12 ` Linus Walleij
2014-10-31 13:20 ` Felipe Balbi
2014-10-31 16:23 ` David Cohen
2014-10-31 18:45 ` David Cohen
2014-11-03 9:24 ` Mika Westerberg
2014-11-03 15:00 ` Felipe Balbi
2014-11-03 15:27 ` Mika Westerberg
2014-11-03 15:35 ` Felipe Balbi
2014-11-03 15:42 ` Mika Westerberg
2014-11-03 15:50 ` Felipe Balbi
2014-11-03 18:42 ` Mika Westerberg
2014-11-03 20:40 ` Felipe Balbi
2014-11-04 7:51 ` Mika Westerberg
2014-11-04 14:44 ` Felipe Balbi
2014-11-03 22:19 ` David Cohen
2014-11-04 7:59 ` Mika Westerberg
2014-11-04 18:05 ` David Cohen
2014-11-04 18:57 ` Mika Westerberg
2014-11-04 19:11 ` David Cohen
2014-11-04 19:34 ` Mika Westerberg
2014-11-04 21:51 ` David Cohen [this message]
2014-11-05 8:40 ` Mika Westerberg
2014-11-14 9:40 ` Linus Walleij
2014-11-14 9:39 ` Linus Walleij
2014-11-14 9:53 ` Mika Westerberg
2014-11-14 23:19 ` Rafael J. Wysocki
2014-11-14 9:30 ` Linus Walleij
2014-11-03 15:33 ` Linus Walleij
2014-10-13 20:16 ` David Cohen
2014-10-14 17:54 ` [PATCH v2] " David Cohen
2014-10-14 18:19 ` Felipe Balbi
2014-10-28 10:17 ` 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=20141104215153.GA25606@psi-dev26.jf.intel.com \
--to=david.a.cohen@linux.intel.com \
--cc=balbi@ti.com \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mathias.nyman@linux.intel.com \
--cc=mika.westerberg@linux.intel.com \
--cc=stable@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;
as well as URLs for NNTP newsgroup(s).