diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2007-05-06 17:50:49 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-07 15:12:59 -0400 |
commit | ab3bfca7abf3fd0fe41d26d839610a787aa7e587 (patch) | |
tree | e62e58beaf9d22d4156b27d4523c3728bf5769bc /kernel | |
parent | b1296cc48b39355241470ef934a5e2270e3f23bd (diff) |
remove software_suspend()
Remove software_suspend() and all its users since
pm_suspend(PM_SUSPEND_DISK) should be equivalent and there's no point in
having two interfaces for the same thing.
The patch also changes the valid_state function to return 0 (false) for
PM_SUSPEND_DISK when SOFTWARE_SUSPEND is not configured instead of
accepting it and having the whole thing fail later.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Acked-by: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/power/main.c | 21 | ||||
-rw-r--r-- | kernel/sys.c | 2 |
2 files changed, 8 insertions, 15 deletions
diff --git a/kernel/power/main.c b/kernel/power/main.c index 5a779270cdbc..f6dda685e7e2 100644 --- a/kernel/power/main.c +++ b/kernel/power/main.c | |||
@@ -184,17 +184,21 @@ static void suspend_finish(suspend_state_t state) | |||
184 | static const char * const pm_states[PM_SUSPEND_MAX] = { | 184 | static const char * const pm_states[PM_SUSPEND_MAX] = { |
185 | [PM_SUSPEND_STANDBY] = "standby", | 185 | [PM_SUSPEND_STANDBY] = "standby", |
186 | [PM_SUSPEND_MEM] = "mem", | 186 | [PM_SUSPEND_MEM] = "mem", |
187 | #ifdef CONFIG_SOFTWARE_SUSPEND | ||
188 | [PM_SUSPEND_DISK] = "disk", | 187 | [PM_SUSPEND_DISK] = "disk", |
189 | #endif | ||
190 | }; | 188 | }; |
191 | 189 | ||
192 | static inline int valid_state(suspend_state_t state) | 190 | static inline int valid_state(suspend_state_t state) |
193 | { | 191 | { |
194 | /* Suspend-to-disk does not really need low-level support. | 192 | /* Suspend-to-disk does not really need low-level support. |
195 | * It can work with reboot if needed. */ | 193 | * It can work with shutdown/reboot if needed. If it isn't |
194 | * configured, then it cannot be supported. | ||
195 | */ | ||
196 | if (state == PM_SUSPEND_DISK) | 196 | if (state == PM_SUSPEND_DISK) |
197 | #ifdef CONFIG_SOFTWARE_SUSPEND | ||
197 | return 1; | 198 | return 1; |
199 | #else | ||
200 | return 0; | ||
201 | #endif | ||
198 | 202 | ||
199 | /* all other states need lowlevel support and need to be | 203 | /* all other states need lowlevel support and need to be |
200 | * valid to the lowlevel implementation, no valid callback | 204 | * valid to the lowlevel implementation, no valid callback |
@@ -244,17 +248,6 @@ static int enter_state(suspend_state_t state) | |||
244 | return error; | 248 | return error; |
245 | } | 249 | } |
246 | 250 | ||
247 | #ifdef CONFIG_SOFTWARE_SUSPEND | ||
248 | /* | ||
249 | * This is main interface to the outside world. It needs to be | ||
250 | * called from process context. | ||
251 | */ | ||
252 | int software_suspend(void) | ||
253 | { | ||
254 | return enter_state(PM_SUSPEND_DISK); | ||
255 | } | ||
256 | #endif | ||
257 | |||
258 | 251 | ||
259 | /** | 252 | /** |
260 | * pm_suspend - Externally visible function for suspending system. | 253 | * pm_suspend - Externally visible function for suspending system. |
diff --git a/kernel/sys.c b/kernel/sys.c index 123b165080e6..fe1f3ab20477 100644 --- a/kernel/sys.c +++ b/kernel/sys.c | |||
@@ -881,7 +881,7 @@ asmlinkage long sys_reboot(int magic1, int magic2, unsigned int cmd, void __user | |||
881 | #ifdef CONFIG_SOFTWARE_SUSPEND | 881 | #ifdef CONFIG_SOFTWARE_SUSPEND |
882 | case LINUX_REBOOT_CMD_SW_SUSPEND: | 882 | case LINUX_REBOOT_CMD_SW_SUSPEND: |
883 | { | 883 | { |
884 | int ret = software_suspend(); | 884 | int ret = pm_suspend(PM_SUSPEND_DISK); |
885 | unlock_kernel(); | 885 | unlock_kernel(); |
886 | return ret; | 886 | return ret; |
887 | } | 887 | } |