mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-05 18:39:59 +00:00
ARM: shmobile: pm-rmobile: Use GENPD_FLAG_ALWAYS_ON
Improve handling of always-on PM domains by using the
GENPD_FLAG_ALWAYS_ON flag introduced in commit ffaa42e8a4
("PM /
Domains: Enable users of genpd to specify always on PM domains").
Note that the PM domain containing the serial console is still handled
locally.
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
This commit is contained in:
parent
2ea659a9ef
commit
fd8cf827d8
1 changed files with 4 additions and 15 deletions
|
@ -130,7 +130,7 @@ static void rmobile_init_pm_domain(struct rmobile_pm_domain *rmobile_pd)
|
|||
struct generic_pm_domain *genpd = &rmobile_pd->genpd;
|
||||
struct dev_power_governor *gov = rmobile_pd->gov;
|
||||
|
||||
genpd->flags = GENPD_FLAG_PM_CLK;
|
||||
genpd->flags |= GENPD_FLAG_PM_CLK;
|
||||
genpd->dev_ops.active_wakeup = rmobile_pd_active_wakeup;
|
||||
genpd->power_off = rmobile_pd_power_down;
|
||||
genpd->power_on = rmobile_pd_power_up;
|
||||
|
@ -140,14 +140,6 @@ static void rmobile_init_pm_domain(struct rmobile_pm_domain *rmobile_pd)
|
|||
pm_genpd_init(genpd, gov ? : &simple_qos_governor, false);
|
||||
}
|
||||
|
||||
static int rmobile_pd_suspend_busy(void)
|
||||
{
|
||||
/*
|
||||
* This domain should not be turned off.
|
||||
*/
|
||||
return -EBUSY;
|
||||
}
|
||||
|
||||
static int rmobile_pd_suspend_console(void)
|
||||
{
|
||||
/*
|
||||
|
@ -260,8 +252,7 @@ static void __init rmobile_setup_pm_domain(struct device_node *np,
|
|||
* only be turned off if the CPU is not in use.
|
||||
*/
|
||||
pr_debug("PM domain %s contains CPU\n", name);
|
||||
pd->gov = &pm_domain_always_on_gov;
|
||||
pd->suspend = rmobile_pd_suspend_busy;
|
||||
pd->genpd.flags |= GENPD_FLAG_ALWAYS_ON;
|
||||
break;
|
||||
|
||||
case PD_CONSOLE:
|
||||
|
@ -277,8 +268,7 @@ static void __init rmobile_setup_pm_domain(struct device_node *np,
|
|||
* is not in use.
|
||||
*/
|
||||
pr_debug("PM domain %s contains Coresight-ETM\n", name);
|
||||
pd->gov = &pm_domain_always_on_gov;
|
||||
pd->suspend = rmobile_pd_suspend_busy;
|
||||
pd->genpd.flags |= GENPD_FLAG_ALWAYS_ON;
|
||||
break;
|
||||
|
||||
case PD_MEMCTL:
|
||||
|
@ -287,8 +277,7 @@ static void __init rmobile_setup_pm_domain(struct device_node *np,
|
|||
* should only be turned off if memory is not in use.
|
||||
*/
|
||||
pr_debug("PM domain %s contains MEMCTL\n", name);
|
||||
pd->gov = &pm_domain_always_on_gov;
|
||||
pd->suspend = rmobile_pd_suspend_busy;
|
||||
pd->genpd.flags |= GENPD_FLAG_ALWAYS_ON;
|
||||
break;
|
||||
|
||||
case PD_NORMAL:
|
||||
|
|
Loading…
Reference in a new issue