diff options
| -rw-r--r-- | drivers/base/power/domain.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c index 45937f88e77c..295ff7189504 100644 --- a/drivers/base/power/domain.c +++ b/drivers/base/power/domain.c | |||
| @@ -2130,6 +2130,17 @@ static void genpd_dev_pm_detach(struct device *dev, bool power_off) | |||
| 2130 | genpd_queue_power_off_work(pd); | 2130 | genpd_queue_power_off_work(pd); |
| 2131 | } | 2131 | } |
| 2132 | 2132 | ||
| 2133 | static void genpd_dev_pm_sync(struct device *dev) | ||
| 2134 | { | ||
| 2135 | struct generic_pm_domain *pd; | ||
| 2136 | |||
| 2137 | pd = dev_to_genpd(dev); | ||
| 2138 | if (IS_ERR(pd)) | ||
| 2139 | return; | ||
| 2140 | |||
| 2141 | genpd_queue_power_off_work(pd); | ||
| 2142 | } | ||
| 2143 | |||
| 2133 | /** | 2144 | /** |
| 2134 | * genpd_dev_pm_attach - Attach a device to its PM domain using DT. | 2145 | * genpd_dev_pm_attach - Attach a device to its PM domain using DT. |
| 2135 | * @dev: Device to attach. | 2146 | * @dev: Device to attach. |
| @@ -2196,6 +2207,7 @@ int genpd_dev_pm_attach(struct device *dev) | |||
| 2196 | } | 2207 | } |
| 2197 | 2208 | ||
| 2198 | dev->pm_domain->detach = genpd_dev_pm_detach; | 2209 | dev->pm_domain->detach = genpd_dev_pm_detach; |
| 2210 | dev->pm_domain->sync = genpd_dev_pm_sync; | ||
| 2199 | pm_genpd_poweron(pd); | 2211 | pm_genpd_poweron(pd); |
| 2200 | 2212 | ||
| 2201 | return 0; | 2213 | return 0; |
