diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-at91/pm.c | 17 | ||||
-rw-r--r-- | arch/powerpc/platforms/52xx/lite5200_pm.c | 10 |
2 files changed, 21 insertions, 6 deletions
diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c index 4b120cc36135..a67defd50438 100644 --- a/arch/arm/mach-at91/pm.c +++ b/arch/arm/mach-at91/pm.c | |||
@@ -52,7 +52,7 @@ static suspend_state_t target_state; | |||
52 | /* | 52 | /* |
53 | * Called after processes are frozen, but before we shutdown devices. | 53 | * Called after processes are frozen, but before we shutdown devices. |
54 | */ | 54 | */ |
55 | static int at91_pm_set_target(suspend_state_t state) | 55 | static int at91_pm_begin(suspend_state_t state) |
56 | { | 56 | { |
57 | target_state = state; | 57 | target_state = state; |
58 | return 0; | 58 | return 0; |
@@ -202,11 +202,20 @@ error: | |||
202 | return 0; | 202 | return 0; |
203 | } | 203 | } |
204 | 204 | ||
205 | /* | ||
206 | * Called right prior to thawing processes. | ||
207 | */ | ||
208 | static void at91_pm_end(void) | ||
209 | { | ||
210 | target_state = PM_SUSPEND_ON; | ||
211 | } | ||
212 | |||
205 | 213 | ||
206 | static struct platform_suspend_ops at91_pm_ops ={ | 214 | static struct platform_suspend_ops at91_pm_ops ={ |
207 | .valid = at91_pm_valid_state, | 215 | .valid = at91_pm_valid_state, |
208 | .set_target = at91_pm_set_target, | 216 | .begin = at91_pm_begin, |
209 | .enter = at91_pm_enter, | 217 | .enter = at91_pm_enter, |
218 | .end = at91_pm_end, | ||
210 | }; | 219 | }; |
211 | 220 | ||
212 | static int __init at91_pm_init(void) | 221 | static int __init at91_pm_init(void) |
diff --git a/arch/powerpc/platforms/52xx/lite5200_pm.c b/arch/powerpc/platforms/52xx/lite5200_pm.c index c0f13e8deb0b..41c7fd91e99e 100644 --- a/arch/powerpc/platforms/52xx/lite5200_pm.c +++ b/arch/powerpc/platforms/52xx/lite5200_pm.c | |||
@@ -31,7 +31,7 @@ static int lite5200_pm_valid(suspend_state_t state) | |||
31 | } | 31 | } |
32 | } | 32 | } |
33 | 33 | ||
34 | static int lite5200_pm_set_target(suspend_state_t state) | 34 | static int lite5200_pm_begin(suspend_state_t state) |
35 | { | 35 | { |
36 | if (lite5200_pm_valid(state)) { | 36 | if (lite5200_pm_valid(state)) { |
37 | lite5200_pm_target_state = state; | 37 | lite5200_pm_target_state = state; |
@@ -219,12 +219,18 @@ static void lite5200_pm_finish(void) | |||
219 | mpc52xx_pm_finish(); | 219 | mpc52xx_pm_finish(); |
220 | } | 220 | } |
221 | 221 | ||
222 | static void lite5200_pm_end(void) | ||
223 | { | ||
224 | lite5200_pm_target_state = PM_SUSPEND_ON; | ||
225 | } | ||
226 | |||
222 | static struct platform_suspend_ops lite5200_pm_ops = { | 227 | static struct platform_suspend_ops lite5200_pm_ops = { |
223 | .valid = lite5200_pm_valid, | 228 | .valid = lite5200_pm_valid, |
224 | .set_target = lite5200_pm_set_target, | 229 | .begin = lite5200_pm_begin, |
225 | .prepare = lite5200_pm_prepare, | 230 | .prepare = lite5200_pm_prepare, |
226 | .enter = lite5200_pm_enter, | 231 | .enter = lite5200_pm_enter, |
227 | .finish = lite5200_pm_finish, | 232 | .finish = lite5200_pm_finish, |
233 | .end = lite5200_pm_end, | ||
228 | }; | 234 | }; |
229 | 235 | ||
230 | int __init lite5200_pm_init(void) | 236 | int __init lite5200_pm_init(void) |