linux/kernel/power/console.c
<<
>>
Prefs
   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
  15static int orig_fgconsole, orig_kmsg;
  16
  17int 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
  27void 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