linux/drivers/video/console/dummycon.c
<<
>>
Prefs
   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/console.h>
  11#include <linux/vt_kern.h>
  12#include <linux/screen_info.h>
  13#include <linux/init.h>
  14#include <linux/module.h>
  15
  16/*
  17 *  Dummy console driver
  18 */
  19
  20#if defined(__arm__)
  21#define DUMMY_COLUMNS   screen_info.orig_video_cols
  22#define DUMMY_ROWS      screen_info.orig_video_lines
  23#else
  24/* set by Kconfig. Use 80x25 for 640x480 and 160x64 for 1280x1024 */
  25#define DUMMY_COLUMNS   CONFIG_DUMMY_CONSOLE_COLUMNS
  26#define DUMMY_ROWS      CONFIG_DUMMY_CONSOLE_ROWS
  27#endif
  28
  29static const char *dummycon_startup(void)
  30{
  31    return "dummy device";
  32}
  33
  34static void dummycon_init(struct vc_data *vc, int init)
  35{
  36    vc->vc_can_do_color = 1;
  37    if (init) {
  38        vc->vc_cols = DUMMY_COLUMNS;
  39        vc->vc_rows = DUMMY_ROWS;
  40    } else
  41        vc_resize(vc, DUMMY_COLUMNS, DUMMY_ROWS);
  42}
  43
  44static int dummycon_dummy(void)
  45{
  46    return 0;
  47}
  48
  49#define DUMMY   (void *)dummycon_dummy
  50
  51/*
  52 *  The console `switch' structure for the dummy console
  53 *
  54 *  Most of the operations are dummies.
  55 */
  56
  57const struct consw dummy_con = {
  58    .owner =            THIS_MODULE,
  59    .con_startup =      dummycon_startup,
  60    .con_init =         dummycon_init,
  61    .con_deinit =       DUMMY,
  62    .con_clear =        DUMMY,
  63    .con_putc =         DUMMY,
  64    .con_putcs =        DUMMY,
  65    .con_cursor =       DUMMY,
  66    .con_scroll =       DUMMY,
  67    .con_switch =       DUMMY,
  68    .con_blank =        DUMMY,
  69    .con_font_set =     DUMMY,
  70    .con_font_get =     DUMMY,
  71    .con_font_default = DUMMY,
  72    .con_font_copy =    DUMMY,
  73};
  74EXPORT_SYMBOL_GPL(dummy_con);
  75