aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorRafael J. Wysocki <rjw@sisk.pl>2011-07-14 14:59:35 -0400
committerRafael J. Wysocki <rjw@sisk.pl>2011-07-14 14:59:35 -0400
commit5ca80817e231723f1399bff495854ba2171103ca (patch)
treefeef09654d8045e30d854bebadc4766d73f12fd7 /arch
parentd28054020f97c7c9f15327a53945f0f40ffc5d7a (diff)
ARM / shmobile: Return -EBUSY from A4LC power off if A3RV is active
Since the A4LC should only be powered off if the A3RV is off, make the A4LC's power down routine return -EBUSY if A3RV is not off to indicate to the core that it doesn't want to power off the domain in that case. This will cause the core to regard A4LC as active, so the pm_genpd_poweron() in pd_power_down_a3rv() is not necessary any more. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Acked-by: Magnus Damm <damm@opensource.se>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-shmobile/pm-sh7372.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/arm/mach-shmobile/pm-sh7372.c b/arch/arm/mach-shmobile/pm-sh7372.c
index 0b07138908b..933fb411be0 100644
--- a/arch/arm/mach-shmobile/pm-sh7372.c
+++ b/arch/arm/mach-shmobile/pm-sh7372.c
@@ -106,7 +106,6 @@ static int pd_power_down_a3rv(struct generic_pm_domain *genpd)
106 int ret = pd_power_down(genpd); 106 int ret = pd_power_down(genpd);
107 107
108 /* try to power down A4LC after A3RV is requested off */ 108 /* try to power down A4LC after A3RV is requested off */
109 pm_genpd_poweron(&sh7372_a4lc.genpd);
110 genpd_queue_power_off_work(&sh7372_a4lc.genpd); 109 genpd_queue_power_off_work(&sh7372_a4lc.genpd);
111 110
112 return ret; 111 return ret;
@@ -118,7 +117,7 @@ static int pd_power_down_a4lc(struct generic_pm_domain *genpd)
118 if (!(__raw_readl(PSTR) & (1 << sh7372_a3rv.bit_shift))) 117 if (!(__raw_readl(PSTR) & (1 << sh7372_a3rv.bit_shift)))
119 return pd_power_down(genpd); 118 return pd_power_down(genpd);
120 119
121 return 0; 120 return -EBUSY;
122} 121}
123 122
124static bool pd_active_wakeup(struct device *dev) 123static bool pd_active_wakeup(struct device *dev)