From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
To: Mark Brown <broonie@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>,
Furquan Shaikh <furquan@chromium.org>,
"Rafael J. Wysocki" <rafael@kernel.org>,
"Rafael J . Wysocki" <rjw@rjwysocki.net>,
Liam Girdwood <lgirdwood@gmail.com>,
Tony Lindgren <tony@atomide.com>, Len Brown <lenb@kernel.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
Hanjun Guo <hanjun.guo@linaro.org>,
Will Deacon <will.deacon@arm.com>, Rob Herring <robh@kernel.org>,
Sathyanarayana Nujella <sathyanarayana.nujella@intel.com>,
Heikki Krogerus <heikki.krogerus@linux.intel.com>,
Adam Thomson <Adam.Thomson.Opensource@diasemi.com>,
Linus Walleij <linus.walleij@linaro.org>,
Alexandre Courbot <gnurou@gmail.com>,
linux-gpio@vger.kernel.org, ACPI Devel Maling List <linux-acp>
Subject: Re: [PATCH 0/7] Implement generic regulator constraints parsing for ACPI and OF
Date: Wed, 25 Jan 2017 14:05:58 -0800 [thread overview]
Message-ID: <20170125220558.GB36291@dtor-ws> (raw)
In-Reply-To: <20170125213040.2et4wkgt6y72zn5i@sirena.org.uk>
On Wed, Jan 25, 2017 at 09:30:40PM +0000, Mark Brown wrote:
> On Wed, Jan 25, 2017 at 01:17:14PM -0800, Dmitry Torokhov wrote:
> > On Wed, Jan 25, 2017 at 08:39:07PM +0000, Mark Brown wrote:
>
> > > That's *not* a sensible thing for drivers to assume regardless of the
> > > presence or absence of explicitly controlled regulators, that just seems
> > > like a plain old driver bug. Even if there are regulators that doesn't
> > > mean there isn't a suspend mode configuration that disables those
> > > regulators.
>
> > That means your platform description is incomplete, AKA a plain old
> > device tree bug.
>
> What makes you say that? Like I say even with an explicitly described
> regulator we might power it off during suspend (perhaps even through
> explicit device tree configuration).
>
> > > That's not an ACPI thing, unless the device thinks it's actively
> > > providing a wakeup source then if the system suspends the driver should
> > > not be surprised to have power pulled - that's pretty normal. If the
> > > driver is a wakeup source then it's a bit different.
>
> > From the practical standpoint many drivers make this assumption because
> > this shortens resume time for device. I.e. it makes difference whether
> > we go through full controller reset, possibly reloading firmware, and
> > applying desired configuration, versus taking the chip out of deep sleep
> > mode.
>
> Really? They've been used on a limited set of systems and if they're
> attempting to use the presence of a regulator to figure out if this is
> going to happen they are just completely broken in this regard and need
> to be fixed before anyone copies that code. Even ignoring the suspend
> mode configuration dummy regulators mean such a check would return true
> in essentially all systems.
I think many of them do not use regulators and just expect the power not
be cut off. Or use regulator + reset gpio combo to make the decision.
For example, we actually keying the need of doing power sequence in Elan
touchscreen driver off presence of GPIO because having GPIO is essential
in implementing required sequence.
>
> > So if we indeed saying that drivers should expect handling power loss
> > even when devices are not on a hot-pluggable buses then we need a
> > generic API for querying whether device lost it's state or not.
>
> Yes. Querying the suspend mode configuration would be one way to do it
> already.
Suspend mode of what though? Regulator? I would not mind cleaning up at
least some of the drivers if we had a generic API for doing such
query... Would it be something like:
bool device_has_lost_state(struct device *dev,
struct regulator *supplies)
with DT systems going strictly off regulator data and ACPI throwing
its internal state in the mix?
Or you meant something else?
--
Dmitry
next prev parent reply other threads:[~2017-01-25 22:05 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-25 0:06 [PATCH 0/7] Implement generic regulator constraints parsing for ACPI and OF Furquan Shaikh
2017-01-25 0:06 ` [PATCH 1/7] drivers/regulator: Rename of_map_mode to map_mode in regulator desc Furquan Shaikh
2017-01-25 0:06 ` [PATCH 2/7] ACPI / property: have acpi_get_next_subnode take fwnode_handle Furquan Shaikh
2017-01-25 11:00 ` kbuild test robot
2017-01-25 0:06 ` [PATCH 3/7] device property: introduce fwnode_for_each_child() Furquan Shaikh
2017-01-25 0:06 ` [PATCH 4/7] device property: introduce fwnode_get_named_child_node() Furquan Shaikh
2017-01-25 0:06 ` [PATCH 5/7] device property: Export dev_fwnode Furquan Shaikh
2017-01-25 0:06 ` [PATCH 6/7] drivers/gpio: Add and export gpiod_lookup[_index] Furquan Shaikh
2017-01-25 11:18 ` kbuild test robot
2017-01-26 15:24 ` Linus Walleij
2017-01-25 0:06 ` [PATCH 7/7] drivers/regulator: Initialize regulator init data for ACPI regulators Furquan Shaikh
2017-01-25 12:29 ` [PATCH 0/7] Implement generic regulator constraints parsing for ACPI and OF Lorenzo Pieralisi
2017-01-25 12:49 ` Mark Brown
2017-01-25 12:55 ` Rafael J. Wysocki
2017-01-25 16:56 ` Furquan Shaikh
2017-01-25 18:23 ` Mark Rutland
2017-01-25 18:29 ` Mark Brown
2017-01-25 18:34 ` Mark Rutland
2017-01-25 18:49 ` Mark Brown
2017-01-25 19:39 ` Mark Rutland
2017-01-25 18:44 ` Dmitry Torokhov
2017-01-25 19:27 ` Dmitry Torokhov
2017-01-25 20:39 ` Mark Brown
2017-01-25 21:17 ` Dmitry Torokhov
2017-01-25 21:30 ` Mark Brown
2017-01-25 22:05 ` Dmitry Torokhov [this message]
2017-01-25 22:25 ` Mark Brown
2017-01-25 21:44 ` Al Stone
2017-01-25 23:27 ` Dmitry Torokhov
2017-01-26 0:15 ` Al Stone
2017-01-26 0:33 ` Dmitry Torokhov
2017-01-26 10:35 ` Rafael J. Wysocki
2017-02-04 16:08 ` Mark Brown
2017-01-25 19:21 ` Lorenzo Pieralisi
2017-01-25 20:40 ` Mark Brown
2017-01-25 18:25 ` Mark Brown
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=20170125220558.GB36291@dtor-ws \
--to=dmitry.torokhov@gmail.com \
--cc=Adam.Thomson.Opensource@diasemi.com \
--cc=broonie@kernel.org \
--cc=furquan@chromium.org \
--cc=gnurou@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=hanjun.guo@linaro.org \
--cc=heikki.krogerus@linux.intel.com \
--cc=lenb@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=lorenzo.pieralisi@arm.com \
--cc=mark.rutland@arm.com \
--cc=rafael@kernel.org \
--cc=rjw@rjwysocki.net \
--cc=robh@kernel.org \
--cc=sathyanarayana.nujella@intel.com \
--cc=tony@atomide.com \
--cc=will.deacon@arm.com \
/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).