From: ulf.hansson@linaro.org (Ulf Hansson)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 0/9] PM / Domains: Fix race conditions during boot
Date: Mon, 13 Oct 2014 16:02:01 +0200 [thread overview]
Message-ID: <1413208930-26019-1-git-send-email-ulf.hansson@linaro.org> (raw)
Changes in v3:
-Rework the entire intermediate step which was suggested in v2.
That means solving the race condition, but also cope with PM domains
that are initialized in powered off state.
Changes in v2:
-Added some acks.
-Updated commit messages.
-Included a wider audience of the patchset. V1 was lacking SoC
maintainers.
Here are link to the first patchset, were some discussion started.
http://marc.info/?l=linux-pm&m=141208104729597&w=2
There may be more than one device in a PM domain which then will be
probed at different points in time.
Depending on timing and runtime PM support, in for the device related
driver/subsystem, a PM domain may be advised to power off after a
successful probe sequence.
A general requirement for a device within a PM domain, is that the
PM domain must stay powered during the probe sequence. To cope with
such requirement, let's add two new APIs, dev_pm_domain_get|put().
These APIs are intended to be invoked from subsystem-level code and the
calls between get/put needs to be balanced.
dev_pm_domain_get(), tells the PM domain that it needs to increase a
usage count and to keep supplying power. dev_pm_domain_put(), does the
opposite.
Ulf Hansson (9):
PM / Domains: Add dev_pm_domain_get|put() APIs
PM / Domains: Enable genpd to support ->get|put() callbacks
amba: Keep PM domain powered during ->probe()
drivercore / platform: Keep PM domain powered during ->probe()
i2c: core: Keep PM domain powered during ->probe()
spi: core: Keep PM domain powered during ->probe()
mmc: core: Attach PM domain prior probing of SDIO func driver
mmmc: core: Keep PM domain powered during ->probe() of SDIO func
driver
PM / Domains: Remove pm_genpd_dev_need_restore() API
drivers/amba/bus.c | 8 ++++++++
drivers/base/platform.c | 7 +++++++
drivers/base/power/common.c | 40 +++++++++++++++++++++++++++++++++++++++
drivers/base/power/domain.c | 46 ++++++++++++++++++++++++---------------------
drivers/i2c/i2c-core.c | 7 +++++++
drivers/mmc/core/sdio_bus.c | 21 +++++++++++++++++----
drivers/spi/spi.c | 7 +++++++
include/linux/pm.h | 2 ++
include/linux/pm_domain.h | 7 +++++--
9 files changed, 118 insertions(+), 27 deletions(-)
--
1.9.1
next reply other threads:[~2014-10-13 14:02 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-13 14:02 Ulf Hansson [this message]
2014-10-13 14:02 ` [PATCH v3 1/9] PM / Domains: Add dev_pm_domain_get|put() APIs Ulf Hansson
2014-10-13 14:02 ` [PATCH v3 2/9] PM / Domains: Enable genpd to support ->get|put() callbacks Ulf Hansson
2014-10-13 14:02 ` [PATCH v3 3/9] amba: Keep PM domain powered during ->probe() Ulf Hansson
2014-10-13 14:02 ` [PATCH v3 4/9] drivercore / platform: " Ulf Hansson
2014-10-30 20:47 ` Kevin Hilman
2014-10-31 0:07 ` Dmitry Torokhov
2014-10-31 9:23 ` Ulf Hansson
2014-11-01 0:21 ` Rafael J. Wysocki
2014-10-31 9:19 ` Ulf Hansson
2014-10-13 14:02 ` [PATCH v3 5/9] i2c: core: " Ulf Hansson
2014-10-13 14:02 ` [PATCH v3 6/9] spi: " Ulf Hansson
2014-10-13 14:02 ` [PATCH v3 7/9] mmc: core: Attach PM domain prior probing of SDIO func driver Ulf Hansson
2014-10-13 14:02 ` [PATCH v3 8/9] mmmc: core: Keep PM domain powered during ->probe() " Ulf Hansson
2014-10-13 14:02 ` [PATCH v3 9/9] PM / Domains: Remove pm_genpd_dev_need_restore() API Ulf Hansson
2014-10-24 16:12 ` [PATCH v3 0/9] PM / Domains: Fix race conditions during boot Kevin Hilman
2014-10-24 16:18 ` Mark Brown
2014-10-30 20:46 ` Kevin Hilman
2014-10-30 23:56 ` Mark Brown
2014-10-31 9:16 ` Ulf Hansson
2014-11-01 0:20 ` Rafael J. Wysocki
2014-11-01 1:08 ` pm_runtime_enable() in ->probe() (was: Re: [PATCH v3 0/9] PM / Domains: Fix race conditions during boot) Rafael J. Wysocki
2014-11-01 1:14 ` Rafael J. Wysocki
2014-11-03 17:00 ` pm_runtime_enable() in ->probe() Kevin Hilman
2014-11-03 23:55 ` Rafael J. Wysocki
2014-11-03 14:03 ` [PATCH v3 0/9] PM / Domains: Fix race conditions during boot Ulf Hansson
2014-11-04 1:43 ` Rafael J. Wysocki
2014-11-04 8:20 ` Geert Uytterhoeven
2014-11-04 13:32 ` Rafael J. Wysocki
2014-11-04 8:54 ` Ulf Hansson
2014-11-04 9:05 ` Dmitry Torokhov
2014-11-04 9:24 ` Ulf Hansson
2014-11-04 13:56 ` Rafael J. Wysocki
2014-11-04 17:01 ` Ulf Hansson
2014-11-04 18:29 ` Dmitry Torokhov
2014-11-04 21:38 ` Rafael J. Wysocki
2014-11-05 8:17 ` Ulf Hansson
2014-11-04 13:52 ` Rafael J. Wysocki
2014-11-04 13:51 ` Rafael J. Wysocki
2014-11-04 16:42 ` Ulf Hansson
2014-11-07 17:25 ` Grygorii Strashko
2014-11-11 11:05 ` Ulf Hansson
2014-11-12 18:01 ` Grygorii Strashko
2014-11-13 2:07 ` Rafael J. Wysocki
2014-11-13 20:13 ` Grygorii Strashko
2014-11-13 14:05 ` Pavel Machek
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=1413208930-26019-1-git-send-email-ulf.hansson@linaro.org \
--to=ulf.hansson@linaro.org \
--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;
as well as URLs for NNTP newsgroup(s).