diff options
Diffstat (limited to 'kernel/power')
-rw-r--r-- | kernel/power/Kconfig | 2 | ||||
-rw-r--r-- | kernel/power/disk.c | 9 | ||||
-rw-r--r-- | kernel/power/main.c | 4 |
3 files changed, 4 insertions, 11 deletions
diff --git a/kernel/power/Kconfig b/kernel/power/Kconfig index 5ec248cb7f4a..9fd8d4f03595 100644 --- a/kernel/power/Kconfig +++ b/kernel/power/Kconfig | |||
@@ -38,7 +38,7 @@ config PM_DEBUG | |||
38 | 38 | ||
39 | config SOFTWARE_SUSPEND | 39 | config SOFTWARE_SUSPEND |
40 | bool "Software Suspend" | 40 | bool "Software Suspend" |
41 | depends on PM && SWAP && (X86 && (!SMP || SUSPEND_SMP)) || ((FVR || PPC32) && !SMP) | 41 | depends on PM && SWAP && (X86 && (!SMP || SUSPEND_SMP)) || ((FRV || PPC32) && !SMP) |
42 | ---help--- | 42 | ---help--- |
43 | Enable the possibility of suspending the machine. | 43 | Enable the possibility of suspending the machine. |
44 | It doesn't need APM. | 44 | It doesn't need APM. |
diff --git a/kernel/power/disk.c b/kernel/power/disk.c index e24446f8d8cd..e03d85e55291 100644 --- a/kernel/power/disk.c +++ b/kernel/power/disk.c | |||
@@ -53,7 +53,7 @@ static void power_down(suspend_disk_method_t mode) | |||
53 | 53 | ||
54 | switch(mode) { | 54 | switch(mode) { |
55 | case PM_DISK_PLATFORM: | 55 | case PM_DISK_PLATFORM: |
56 | kernel_power_off_prepare(); | 56 | kernel_shutdown_prepare(SYSTEM_SUSPEND_DISK); |
57 | error = pm_ops->enter(PM_SUSPEND_DISK); | 57 | error = pm_ops->enter(PM_SUSPEND_DISK); |
58 | break; | 58 | break; |
59 | case PM_DISK_SHUTDOWN: | 59 | case PM_DISK_SHUTDOWN: |
@@ -95,13 +95,6 @@ static int prepare_processes(void) | |||
95 | goto thaw; | 95 | goto thaw; |
96 | } | 96 | } |
97 | 97 | ||
98 | if (pm_disk_mode == PM_DISK_PLATFORM) { | ||
99 | if (pm_ops && pm_ops->prepare) { | ||
100 | if ((error = pm_ops->prepare(PM_SUSPEND_DISK))) | ||
101 | goto thaw; | ||
102 | } | ||
103 | } | ||
104 | |||
105 | /* Free memory before shutting down devices. */ | 98 | /* Free memory before shutting down devices. */ |
106 | if (!(error = swsusp_shrink_memory())) | 99 | if (!(error = swsusp_shrink_memory())) |
107 | return 0; | 100 | return 0; |
diff --git a/kernel/power/main.c b/kernel/power/main.c index d253f3ae2fa5..9cb235cba4a9 100644 --- a/kernel/power/main.c +++ b/kernel/power/main.c | |||
@@ -133,10 +133,10 @@ static int suspend_enter(suspend_state_t state) | |||
133 | static void suspend_finish(suspend_state_t state) | 133 | static void suspend_finish(suspend_state_t state) |
134 | { | 134 | { |
135 | device_resume(); | 135 | device_resume(); |
136 | if (pm_ops && pm_ops->finish) | ||
137 | pm_ops->finish(state); | ||
138 | thaw_processes(); | 136 | thaw_processes(); |
139 | enable_nonboot_cpus(); | 137 | enable_nonboot_cpus(); |
138 | if (pm_ops && pm_ops->finish) | ||
139 | pm_ops->finish(state); | ||
140 | pm_restore_console(); | 140 | pm_restore_console(); |
141 | } | 141 | } |
142 | 142 | ||