sched.c: Call debug_show_all_locks() when dumping all tasks
[safe/jmp/linux-2.6] / kernel / power / console.c
1 /*
2  * drivers/power/process.c - Functions for saving/restoring console.
3  *
4  * Originally from swsusp.
5  */
6
7 #include <linux/vt_kern.h>
8 #include <linux/kbd_kern.h>
9 #include <linux/console.h>
10 #include <linux/module.h>
11 #include "power.h"
12
13 #if defined(CONFIG_VT) && defined(CONFIG_VT_CONSOLE)
14 #define SUSPEND_CONSOLE (MAX_NR_CONSOLES-1)
15
16 static int orig_fgconsole, orig_kmsg;
17
18 int pm_prepare_console(void)
19 {
20         orig_fgconsole = vt_move_to_console(SUSPEND_CONSOLE, 1);
21         if (orig_fgconsole < 0)
22                 return 1;
23
24         orig_kmsg = kmsg_redirect;
25         kmsg_redirect = SUSPEND_CONSOLE;
26         return 0;
27 }
28
29 void pm_restore_console(void)
30 {
31         if (orig_fgconsole >= 0) {
32                 vt_move_to_console(orig_fgconsole, 0);
33                 kmsg_redirect = orig_kmsg;
34         }
35 }
36 #endif