Subject: [PATCH V2] PM / Domains: Sync runtime PM status with genpd after probe

From: [email-masked] (Kevin Hilman)
Date: Fri, 20 Mar 2015 17:14:34 -0700

Ulf Hansson <[email-masked]> writes:

> From: Russell King <[email-masked]>
>
> 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 <[email-masked]>
> [Ulf: Updated patch according to updates in driver core]
> Signed-off-by: Ulf Hansson <[email-masked]>
> ---
>
> Changes in v2:
> 	- I picked up Russell's earlier patch [1] and updated it to fit the
> 	changes [2] proposed to be done to the driver core.
>
> 	[1]: [PATCH 3/9] pm: domains: sync runtime PM status with PM domains
> 	after probe
>
> 	[2]: [PATCH v3] driver core / PM: Add PM domain callbacks for device
> 	setup/cleanup
> 	http://www.spinics.net/lists/arm-kernel/msg407394.html

Ah, I hadn't seen this when I reviewed Rafael's v3 and suggested
Russell's patch be reworked.  This is just what I had in mind.

Acked-by: Kevin Hilman <[email-masked]>