File: /usr/src/linux/drivers/video/dummycon.c

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>
10     #include <linux/tty.h>
11     #include <linux/console.h>
12     #include <linux/console_struct.h>
13     #include <linux/vt_kern.h>
14     #include <linux/init.h>
15     
16     /*
17      *  Dummy console driver
18      */
19     
20     #if defined(__arm__)
21     #define DUMMY_COLUMNS	ORIG_VIDEO_COLS
22     #define DUMMY_ROWS	ORIG_VIDEO_LINES
23     #elif defined(__hppa__)
24     #define DUMMY_COLUMNS	80	/* fixme ! (mine uses 160x64 at 1280x1024) */
25     #define DUMMY_ROWS	25
26     #else
27     #define DUMMY_COLUMNS	80
28     #define DUMMY_ROWS	25
29     #endif
30     
31     static const char *dummycon_startup(void)
32     {
33         return "dummy device";
34     }
35     
36     static void dummycon_init(struct vc_data *conp, int init)
37     {
38         conp->vc_can_do_color = 1;
39         if (init) {
40     	conp->vc_cols = DUMMY_COLUMNS;
41     	conp->vc_rows = DUMMY_ROWS;
42         } else
43     	vc_resize_con(DUMMY_ROWS, DUMMY_COLUMNS, conp->vc_num);
44     }
45     
46     static int dummycon_dummy(void)
47     {
48         return 0;
49     }
50     
51     #define DUMMY	(void *)dummycon_dummy
52     
53     /*
54      *  The console `switch' structure for the dummy console
55      *
56      *  Most of the operations are dummies.
57      */
58     
59     const struct consw dummy_con = {
60         con_startup:	dummycon_startup,
61         con_init:		dummycon_init,
62         con_deinit:		DUMMY,
63         con_clear:		DUMMY,
64         con_putc:		DUMMY,
65         con_putcs:		DUMMY,
66         con_cursor:		DUMMY,
67         con_scroll:		DUMMY,
68         con_bmove:		DUMMY,
69         con_switch:		DUMMY,
70         con_blank:		DUMMY,
71         con_font_op:	DUMMY,
72         con_set_palette:	DUMMY,
73         con_scrolldelta:	DUMMY,
74     };
75