Skip to content

Commit

Permalink
PM / Domains: Skip governor functions for CONFIG_PM_RUNTIME unset
Browse files Browse the repository at this point in the history
The governor functions in drivers/base/power/domain_governor.c
are only used if CONFIG_PM_RUNTIME is set and they refer to data
structures that are only present in that case.  For this reason,
they shouldn't be compiled at all when CONFIG_PM_RUNTIME is not set.

Reported-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
  • Loading branch information
Rafael J. Wysocki committed Jan 13, 2012
1 parent 0f1d698 commit e59a8db
Showing 1 changed file with 19 additions and 5 deletions.
24 changes: 19 additions & 5 deletions drivers/base/power/domain_governor.c
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
#include <linux/pm_qos.h>
#include <linux/hrtimer.h>

#ifdef CONFIG_PM_RUNTIME

/**
* default_stop_ok - Default PM domain governor routine for stopping devices.
* @dev: Device to check.
Expand Down Expand Up @@ -137,16 +139,28 @@ static bool default_power_down_ok(struct dev_pm_domain *pd)
return true;
}

struct dev_power_governor simple_qos_governor = {
.stop_ok = default_stop_ok,
.power_down_ok = default_power_down_ok,
};

static bool always_on_power_down_ok(struct dev_pm_domain *domain)
{
return false;
}

#else /* !CONFIG_PM_RUNTIME */

bool default_stop_ok(struct device *dev)
{
return false;
}

#define default_power_down_ok NULL
#define always_on_power_down_ok NULL

#endif /* !CONFIG_PM_RUNTIME */

struct dev_power_governor simple_qos_governor = {
.stop_ok = default_stop_ok,
.power_down_ok = default_power_down_ok,
};

/**
* pm_genpd_gov_always_on - A governor implementing an always-on policy
*/
Expand Down

0 comments on commit e59a8db

Please sign in to comment.