PM / Domains: Sync runtime PM status with genpd after probe
authorRussell King <rmk+kernel@arm.linux.org.uk>
Fri, 20 Mar 2015 14:55:12 +0000 (15:55 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Sun, 22 Mar 2015 21:15:11 +0000 (22:15 +0100)
commit632f7ce3f9b65039ac6c4f14ef91a0a1f3bdff59
tree3b22a31cb051851f3e5f0acc550e6ea74fd3beb0
parente90d5532773e2bcccc538dd346b9fc3482cd700c
PM / Domains: Sync runtime PM status with genpd after probe

Buses which currently supports attaching devices to their PM domains,
will invoke the dev_pm_domain_attach() API from their ->probe()
callbacks. During the attach procedure, genpd power up the PM domain.

In those scenarios where the bus/driver don't need to access its device
during probe, it may leave it in runtime PM suspended state since
that's also the default state. In that way, no notifications through
the runtime PM callbacks will reach the PM domain during probe.

For genpd, the consequence from the above scenario means the PM domain
will remain powered. Therefore, implement the struct dev_pm_domain's
->sync() callback, which is invoked from driver core after the
bus/driver has probed the device. It allows genpd to power off the PM
domain if it's unused.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
[ Ulf: Updated patch according to updates in driver core ]
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Acked-by: Kevin Hilman <khilman@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/base/power/domain.c