diff options
Diffstat (limited to 'kernel/power')
-rw-r--r-- | kernel/power/user.c | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/kernel/power/user.c b/kernel/power/user.c index d65305b515b1..09468ec61124 100644 --- a/kernel/power/user.c +++ b/kernel/power/user.c | |||
@@ -181,34 +181,25 @@ static inline int snapshot_suspend(int platform_suspend) | |||
181 | return error; | 181 | return error; |
182 | } | 182 | } |
183 | 183 | ||
184 | static inline int snapshot_restore(int platform_suspend) | 184 | static inline int snapshot_restore(void) |
185 | { | 185 | { |
186 | int error; | 186 | int error; |
187 | 187 | ||
188 | mutex_lock(&pm_mutex); | 188 | mutex_lock(&pm_mutex); |
189 | pm_prepare_console(); | 189 | pm_prepare_console(); |
190 | if (platform_suspend) { | ||
191 | error = platform_prepare(); | ||
192 | if (error) | ||
193 | goto Finish; | ||
194 | } | ||
195 | suspend_console(); | 190 | suspend_console(); |
196 | error = device_suspend(PMSG_PRETHAW); | 191 | error = device_suspend(PMSG_PRETHAW); |
197 | if (error) | 192 | if (error) |
198 | goto Resume_devices; | 193 | goto Finish; |
199 | 194 | ||
200 | error = disable_nonboot_cpus(); | 195 | error = disable_nonboot_cpus(); |
201 | if (!error) | 196 | if (!error) |
202 | error = swsusp_resume(); | 197 | error = swsusp_resume(); |
203 | 198 | ||
204 | enable_nonboot_cpus(); | 199 | enable_nonboot_cpus(); |
205 | Resume_devices: | 200 | Finish: |
206 | if (platform_suspend) | ||
207 | platform_finish(); | ||
208 | |||
209 | device_resume(); | 201 | device_resume(); |
210 | resume_console(); | 202 | resume_console(); |
211 | Finish: | ||
212 | pm_restore_console(); | 203 | pm_restore_console(); |
213 | mutex_unlock(&pm_mutex); | 204 | mutex_unlock(&pm_mutex); |
214 | return error; | 205 | return error; |
@@ -274,7 +265,7 @@ static int snapshot_ioctl(struct inode *inode, struct file *filp, | |||
274 | error = -EPERM; | 265 | error = -EPERM; |
275 | break; | 266 | break; |
276 | } | 267 | } |
277 | error = snapshot_restore(data->platform_suspend); | 268 | error = snapshot_restore(); |
278 | break; | 269 | break; |
279 | 270 | ||
280 | case SNAPSHOT_FREE: | 271 | case SNAPSHOT_FREE: |