Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /* |
2 | * linux/drivers/video/dummycon.c -- A dummy console driver | |
3 | * | |
4 | * To be used if there's no other console driver (e.g. for plain VGA text) | |
5 | * available, usually until fbcon takes console over. | |
6 | */ | |
7 | ||
8 | #include <linux/types.h> | |
9 | #include <linux/kdev_t.h> | |
1da177e4 LT |
10 | #include <linux/console.h> |
11 | #include <linux/vt_kern.h> | |
894673ee | 12 | #include <linux/screen_info.h> |
1da177e4 LT |
13 | #include <linux/init.h> |
14 | #include <linux/module.h> | |
15 | ||
16 | /* | |
17 | * Dummy console driver | |
18 | */ | |
19 | ||
20 | #if defined(__arm__) | |
3ea33510 PA |
21 | #define DUMMY_COLUMNS screen_info.orig_video_cols |
22 | #define DUMMY_ROWS screen_info.orig_video_lines | |
1da177e4 LT |
23 | #elif defined(__hppa__) |
24 | /* set by Kconfig. Use 80x25 for 640x480 and 160x64 for 1280x1024 */ | |
1da177e4 LT |
25 | #define DUMMY_COLUMNS CONFIG_DUMMY_CONSOLE_COLUMNS |
26 | #define DUMMY_ROWS CONFIG_DUMMY_CONSOLE_ROWS | |
27 | #else | |
28 | #define DUMMY_COLUMNS 80 | |
29 | #define DUMMY_ROWS 25 | |
30 | #endif | |
31 | ||
32 | static const char *dummycon_startup(void) | |
33 | { | |
34 | return "dummy device"; | |
35 | } | |
36 | ||
37 | static void dummycon_init(struct vc_data *vc, int init) | |
38 | { | |
39 | vc->vc_can_do_color = 1; | |
40 | if (init) { | |
41 | vc->vc_cols = DUMMY_COLUMNS; | |
42 | vc->vc_rows = DUMMY_ROWS; | |
43 | } else | |
44 | vc_resize(vc, DUMMY_COLUMNS, DUMMY_ROWS); | |
45 | } | |
46 | ||
47 | static int dummycon_dummy(void) | |
48 | { | |
49 | return 0; | |
50 | } | |
51 | ||
52 | #define DUMMY (void *)dummycon_dummy | |
53 | ||
54 | /* | |
55 | * The console `switch' structure for the dummy console | |
56 | * | |
57 | * Most of the operations are dummies. | |
58 | */ | |
59 | ||
60 | const struct consw dummy_con = { | |
61 | .owner = THIS_MODULE, | |
62 | .con_startup = dummycon_startup, | |
63 | .con_init = dummycon_init, | |
64 | .con_deinit = DUMMY, | |
65 | .con_clear = DUMMY, | |
66 | .con_putc = DUMMY, | |
67 | .con_putcs = DUMMY, | |
68 | .con_cursor = DUMMY, | |
69 | .con_scroll = DUMMY, | |
70 | .con_bmove = DUMMY, | |
71 | .con_switch = DUMMY, | |
72 | .con_blank = DUMMY, | |
73 | .con_font_set = DUMMY, | |
74 | .con_font_get = DUMMY, | |
75 | .con_font_default = DUMMY, | |
76 | .con_font_copy = DUMMY, | |
77 | .con_set_palette = DUMMY, | |
78 | .con_scrolldelta = DUMMY, | |
79 | }; |