patch-2.1.109 linux/drivers/video/dummycon.c

Next file: linux/drivers/video/fbcmap.c
Previous file: linux/drivers/video/dnfb.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.108/linux/drivers/video/dummycon.c linux/drivers/video/dummycon.c
@@ -0,0 +1,73 @@
+/*
+ *  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/tty.h>
+#include <linux/console.h>
+#include <linux/console_struct.h>
+#include <linux/vt_kern.h>
+#include <linux/init.h>
+
+/*
+ *  Dummy console driver
+ *
+ */
+
+#ifdef __sparc__
+/* Some reasonable defaults, so that we don't loose any text */
+#define DUMMY_COLUMNS	128
+#define DUMMY_ROWS	54
+#else
+#define DUMMY_COLUMNS	80
+#define DUMMY_ROWS	25
+#endif
+
+__initfunc(static const char *dummycon_startup(void))
+{
+    return "dummy device";
+}
+
+static void dummycon_init(struct vc_data *conp, int init)
+{
+    conp->vc_can_do_color = 1;
+    if (init) {
+	conp->vc_cols = DUMMY_COLUMNS;
+	conp->vc_rows = DUMMY_ROWS;
+    } else
+	vc_resize_con(DUMMY_ROWS, DUMMY_COLUMNS, conp->vc_num);
+}
+
+static int dummycon_dummy(void)
+{
+    return 0;
+}
+
+/*
+ *  The console `switch' structure for the dummy console
+ *
+ *  Most of the operations are dummies.
+ */
+
+struct consw dummy_con = {
+    dummycon_startup, dummycon_init,
+    (void *)dummycon_dummy,	/* con_deinit */
+    (void *)dummycon_dummy,	/* con_clear */
+    (void *)dummycon_dummy,	/* con_putc */
+    (void *)dummycon_dummy,	/* con_putcs */
+    (void *)dummycon_dummy,	/* con_cursor */
+    (void *)dummycon_dummy,	/* con_scroll */
+    (void *)dummycon_dummy,	/* con_bmove */
+    (void *)dummycon_dummy,	/* con_switch */
+    (void *)dummycon_dummy,	/* con_blank */
+    (void *)dummycon_dummy,	/* con_get_font */
+    (void *)dummycon_dummy,	/* con_set_font */
+    (void *)dummycon_dummy,	/* con_set_palette */
+    (void *)dummycon_dummy,	/* con_scrolldelta */
+    NULL,			/* con_set_origin */
+    NULL,			/* con_save_screen */
+};

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov