linux/kernel/power/console.c
<<
>>
Prefs
   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/console.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
  16static int orig_fgconsole, orig_kmsg;
  17
  18int 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 = kmsg_redirect;
  25        kmsg_redirect = SUSPEND_CONSOLE;
  26        return 0;
  27}
  28
  29void pm_restore_console(void)
  30{
  31        if (orig_fgconsole >= 0) {
  32                vt_move_to_console(orig_fgconsole, 0);
  33                kmsg_redirect = orig_kmsg;
  34        }
  35}
  36#endif
  37