]> git.baikalelectronics.ru Git - kernel.git/commit
PM / Domains: Add "wait for parent" status for generic PM domains
authorRafael J. Wysocki <rjw@sisk.pl>
Mon, 8 Aug 2011 21:43:29 +0000 (23:43 +0200)
committerRafael J. Wysocki <rjw@sisk.pl>
Thu, 25 Aug 2011 13:33:44 +0000 (15:33 +0200)
commit5d128a64f93e1422b417b97356ebfef489204d3a
tree45b3fa3b5da4d9cbb006762118dcd0f8837434ff
parent947352b145b8d20b0c1a0144b59a3447d066c8fd
PM / Domains: Add "wait for parent" status for generic PM domains

The next patch will make it possible for a generic PM domain to have
multiple parents (i.e. multiple PM domains it depends on).  To
prepare for that change it is necessary to change pm_genpd_poweron()
so that it doesn't jump to the start label after running itself
recursively for the parent domain.  For this purpose, introduce a new
PM domain status value GPD_STATE_WAIT_PARENT that will be set by
pm_genpd_poweron() before calling itself recursively for the parent
domain and modify the code in drivers/base/power/domain.c so that
the GPD_STATE_WAIT_PARENT status is guaranteed to be preserved during
the execution of pm_genpd_poweron() for the parent.

This change also causes pm_genpd_add_subdomain() and
pm_genpd_remove_subdomain() to wait for started pm_genpd_poweron() to
complete and allows pm_genpd_runtime_resume() to avoid dropping the
lock after powering on the PM domain.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
drivers/base/power/domain.c
include/linux/pm_domain.h