1 /* 2 * 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 #define SUSPEND_CONSOLE (MAX_NR_CONSOLES-1) 14 15 static int orig_fgconsole, orig_kmsg; 16 17 int pm_prepare_console(void) 18 { 19 orig_fgconsole = vt_move_to_console(SUSPEND_CONSOLE, 1); 20 if (orig_fgconsole < 0) 21 return 1; 22 23 orig_kmsg = vt_kmsg_redirect(SUSPEND_CONSOLE); 24 return 0; 25 } 26 27 void pm_restore_console(void) 28 { 29 if (orig_fgconsole >= 0) { 30 vt_move_to_console(orig_fgconsole, 0); 31 vt_kmsg_redirect(orig_kmsg); 32 } 33 } 34