|  | /* | 
|  | * Functions for saving/restoring console. | 
|  | * | 
|  | * Originally from swsusp. | 
|  | */ | 
|  |  | 
|  | #include <linux/vt_kern.h> | 
|  | #include <linux/kbd_kern.h> | 
|  | #include <linux/vt.h> | 
|  | #include <linux/module.h> | 
|  | #include "power.h" | 
|  |  | 
|  | #define SUSPEND_CONSOLE	(MAX_NR_CONSOLES-1) | 
|  |  | 
|  | static int orig_fgconsole, orig_kmsg; | 
|  |  | 
|  | int pm_prepare_console(void) | 
|  | { | 
|  | orig_fgconsole = vt_move_to_console(SUSPEND_CONSOLE, 1); | 
|  | if (orig_fgconsole < 0) | 
|  | return 1; | 
|  |  | 
|  | orig_kmsg = vt_kmsg_redirect(SUSPEND_CONSOLE); | 
|  | return 0; | 
|  | } | 
|  |  | 
|  | void pm_restore_console(void) | 
|  | { | 
|  | if (orig_fgconsole >= 0) { | 
|  | vt_move_to_console(orig_fgconsole, 0); | 
|  | vt_kmsg_redirect(orig_kmsg); | 
|  | } | 
|  | } |