[PATCH v2 0/4] PM / Domains: Fix race conditions during boot
Ulf Hansson
ulf.hansson at linaro.org
Wed Oct 1 07:41:30 PDT 2014
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
When there are more than one device in a PM domain these will obviously
be probed at different times. Depending on timing and the implemented
support for runtime PM in a driver/subsystem, genpd may be advised to
power off a PM domain after a successful probe sequence.
Ideally we should have relied on the driver/subsystem, through runtime
PM, to bring their device's PM domain into powered state prior doing
probing if such requirement exist.
Since this is not a common practice by drivers/subsystems, enforcing
such a change doesn't seem viable.
Instead, let's improve the situation, by preventing genpd from powering
off any of the PM domains until late_init. At that point genpd already
tries to power off unused PM domains, so it seems like a decent match.
Cases which can't be covered within the window of until late_init needs
to be adressed separately and likely through a more common long term
solution.
Ulf Hansson (4):
PM / Domains: Remove pm_genpd_dev_need_restore() API
ARM: exynos: Ensure PM domains are powered at initialization
PM / Domains: Expect PM domains being powered at initialization
PM / Domains: Enforce PM domains to stay powered during boot
arch/arm/mach-exynos/pm_domains.c | 7 ++++---
arch/arm/mach-s3c64xx/pm.c | 4 ++--
arch/arm/mach-shmobile/pm-r8a7779.c | 2 +-
arch/arm/mach-shmobile/pm-rmobile.c | 2 +-
drivers/base/power/domain.c | 42 ++++++++++++++++---------------------
include/linux/pm_domain.h | 7 +++----
6 files changed, 29 insertions(+), 35 deletions(-)
--
1.9.1
More information about the linux-arm-kernel
mailing list