1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- /*
- * linux/drivers/video/dummycon.c -- A dummy console driver
- *
- * To be used if there's no other console driver (e.g. for plain VGA text)
- * available, usually until fbcon takes console over.
- */
- #include <linux/types.h>
- #include <linux/kdev_t.h>
- #include <linux/console.h>
- #include <linux/vt_kern.h>
- #include <linux/screen_info.h>
- #include <linux/init.h>
- #include <linux/module.h>
- /*
- * Dummy console driver
- */
- #if defined(__arm__)
- #define DUMMY_COLUMNS screen_info.orig_video_cols
- #define DUMMY_ROWS screen_info.orig_video_lines
- #elif defined(__hppa__)
- /* set by Kconfig. Use 80x25 for 640x480 and 160x64 for 1280x1024 */
- #define DUMMY_COLUMNS CONFIG_DUMMY_CONSOLE_COLUMNS
- #define DUMMY_ROWS CONFIG_DUMMY_CONSOLE_ROWS
- #else
- #define DUMMY_COLUMNS 80
- #define DUMMY_ROWS 25
- #endif
- static const char *dummycon_startup(void)
- {
- return "dummy device";
- }
- static void dummycon_init(struct vc_data *vc, int init)
- {
- vc->vc_can_do_color = 1;
- if (init) {
- vc->vc_cols = DUMMY_COLUMNS;
- vc->vc_rows = DUMMY_ROWS;
- } else
- vc_resize(vc, DUMMY_COLUMNS, DUMMY_ROWS);
- }
- static int dummycon_dummy(void)
- {
- return 0;
- }
- #define DUMMY (void *)dummycon_dummy
- /*
- * The console `switch' structure for the dummy console
- *
- * Most of the operations are dummies.
- */
- const struct consw dummy_con = {
- .owner = THIS_MODULE,
- .con_startup = dummycon_startup,
- .con_init = dummycon_init,
- .con_deinit = DUMMY,
- .con_clear = DUMMY,
- .con_putc = DUMMY,
- .con_putcs = DUMMY,
- .con_cursor = DUMMY,
- .con_scroll = DUMMY,
- .con_bmove = DUMMY,
- .con_switch = DUMMY,
- .con_blank = DUMMY,
- .con_font_set = DUMMY,
- .con_font_get = DUMMY,
- .con_font_default = DUMMY,
- .con_font_copy = DUMMY,
- .con_set_palette = DUMMY,
- .con_scrolldelta = DUMMY,
- };
|