| 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 | }
|