summaryrefslogtreecommitdiffstats
path: root/kernel/power/main.c
diff options
context:
space:
mode:
authorRafael J. Wysocki2009-02-22 18:38:50 +0100
committerLinus Torvalds2009-02-22 19:33:44 +0100
commit770824bdc421ff58a64db608294323571c949f4c (patch)
tree2fbeef604fe982bf322249a53a95dd2ff851d5f4 /kernel/power/main.c
parentx86: Add IRQF_TIMER to legacy x86 timer interrupt descriptors (diff)
downloadkernel-qcow2-linux-770824bdc421ff58a64db608294323571c949f4c.tar.gz
kernel-qcow2-linux-770824bdc421ff58a64db608294323571c949f4c.tar.xz
kernel-qcow2-linux-770824bdc421ff58a64db608294323571c949f4c.zip
PM: Split up sysdev_[suspend|resume] from device_power_[down|up]
Move the sysdev_suspend/resume from the callee to the callers, with no real change in semantics, so that we can rework the disabling of interrupts during suspend/hibernation. This is based on an earlier patch from Linus. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel/power/main.c')
-rw-r--r--kernel/power/main.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/kernel/power/main.c b/kernel/power/main.c
index b4d219016b6c..c9632f841f64 100644
--- a/kernel/power/main.c
+++ b/kernel/power/main.c
@@ -298,8 +298,12 @@ static int suspend_enter(suspend_state_t state)
goto Done;
}
- if (!suspend_test(TEST_CORE))
- error = suspend_ops->enter(state);
+ error = sysdev_suspend(PMSG_SUSPEND);
+ if (!error) {
+ if (!suspend_test(TEST_CORE))
+ error = suspend_ops->enter(state);
+ sysdev_resume();
+ }
device_power_up(PMSG_RESUME);
Done: