OpenCores
URL https://opencores.org/ocsvn/test_project/test_project/trunk

Subversion Repositories test_project

[/] [test_project/] [trunk/] [linux_sd_driver/] [kernel/] [power/] [console.c] - Blame information for rev 62

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 62 marcus.erl
/*
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 "power.h"
11
 
12
#if defined(CONFIG_VT) && defined(CONFIG_VT_CONSOLE)
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
        acquire_console_sem();
20
 
21
        orig_fgconsole = fg_console;
22
 
23
        if (vc_allocate(SUSPEND_CONSOLE)) {
24
          /* we can't have a free VC for now. Too bad,
25
           * we don't want to mess the screen for now. */
26
                release_console_sem();
27
                return 1;
28
        }
29
 
30
        if (set_console(SUSPEND_CONSOLE)) {
31
                /*
32
                 * We're unable to switch to the SUSPEND_CONSOLE.
33
                 * Let the calling function know so it can decide
34
                 * what to do.
35
                 */
36
                release_console_sem();
37
                return 1;
38
        }
39
        release_console_sem();
40
 
41
        if (vt_waitactive(SUSPEND_CONSOLE)) {
42
                pr_debug("Suspend: Can't switch VCs.");
43
                return 1;
44
        }
45
        orig_kmsg = kmsg_redirect;
46
        kmsg_redirect = SUSPEND_CONSOLE;
47
        return 0;
48
}
49
 
50
void pm_restore_console(void)
51
{
52
        acquire_console_sem();
53
        set_console(orig_fgconsole);
54
        release_console_sem();
55
        kmsg_redirect = orig_kmsg;
56
        return;
57
}
58
#endif

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.