dummycon.c
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:2k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

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