Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e59a8db8 authored by Rafael J. Wysocki's avatar Rafael J. Wysocki
Browse files

PM / Domains: Skip governor functions for CONFIG_PM_RUNTIME unset



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: default avatarKukjin Kim <kgene.kim@samsung.com>
Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
parent 0f1d6986
Loading
Loading
Loading
Loading
+19 −5
Original line number Original line Diff line number Diff line
@@ -12,6 +12,8 @@
#include <linux/pm_qos.h>
#include <linux/pm_qos.h>
#include <linux/hrtimer.h>
#include <linux/hrtimer.h>


#ifdef CONFIG_PM_RUNTIME

/**
/**
 * default_stop_ok - Default PM domain governor routine for stopping devices.
 * default_stop_ok - Default PM domain governor routine for stopping devices.
 * @dev: Device to check.
 * @dev: Device to check.
@@ -137,16 +139,28 @@ static bool default_power_down_ok(struct dev_pm_domain *pd)
	return true;
	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)
static bool always_on_power_down_ok(struct dev_pm_domain *domain)
{
{
	return false;
	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
 * pm_genpd_gov_always_on - A governor implementing an always-on policy
 */
 */