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/vt.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 = vt_kmsg_redirect(SUSPEND_CONSOLE); 25 return 0; 26 } 27 28 void pm_restore_console(void) 29 { 30 if (orig_fgconsole >= 0) { 31 vt_move_to_console(orig_fgconsole, 0); 32 vt_kmsg_redirect(orig_kmsg); 33 } 34 } 35 #endif 36