1
0
Fork 0

PM / Domains: Remove redundant pm_runtime_get|put*() in pm_genpd_prepare()

The PM core increases and decreases the runtime PM usage count in the
system PM prepare phase. This makes some of the pm_runtime_get|put*()
calls in pm_genpd_prepare() redundant, so let's remove them.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Reviewed-by: Kevin Hilman <khilman@baylibre.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
hifive-unleashed-5.1
Ulf Hansson 2016-04-26 08:47:17 +02:00 committed by Rafael J. Wysocki
parent 54eeddbf92
commit 624c8df7d2
1 changed files with 2 additions and 8 deletions

View File

@ -730,14 +730,11 @@ static int pm_genpd_prepare(struct device *dev)
* at this point and a system wakeup event should be reported if it's
* set up to wake up the system from sleep states.
*/
pm_runtime_get_noresume(dev);
if (pm_runtime_barrier(dev) && device_may_wakeup(dev))
pm_wakeup_event(dev, 0);
if (pm_wakeup_pending()) {
pm_runtime_put(dev);
if (pm_wakeup_pending())
return -EBUSY;
}
if (resume_needed(dev, genpd))
pm_runtime_resume(dev);
@ -751,10 +748,8 @@ static int pm_genpd_prepare(struct device *dev)
mutex_unlock(&genpd->lock);
if (genpd->suspend_power_off) {
pm_runtime_put_noidle(dev);
if (genpd->suspend_power_off)
return 0;
}
/*
* The PM domain must be in the GPD_STATE_ACTIVE state at this point,
@ -776,7 +771,6 @@ static int pm_genpd_prepare(struct device *dev)
pm_runtime_enable(dev);
}
pm_runtime_put(dev);
return ret;
}