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

嵌入式Linux

开发平台:

Unix_Linux

  1. /*
  2.  *  drivers/s390/char/hwc_con.c
  3.  *    HWC line mode console driver
  4.  *
  5.  *  S390 version
  6.  *    Copyright (C) 1999 IBM Deutschland Entwicklung GmbH, IBM Corporation
  7.  *    Author(s): Martin Peschke <mpeschke@de.ibm.com>
  8.  */
  9. #include <linux/config.h>
  10. #include <linux/kernel.h>
  11. #include <linux/major.h>
  12. #include <linux/errno.h>
  13. #include <linux/kdev_t.h>
  14. #include <linux/string.h>
  15. #include <linux/console.h>
  16. #include <linux/fs.h>
  17. #include <linux/init.h>
  18. #include "hwc_rw.h"
  19. #ifdef CONFIG_HWC_CONSOLE
  20. #define  hwc_console_major 4
  21. #define  hwc_console_minor 64
  22. #define  hwc_console_name  "console"
  23. void hwc_console_write (struct console *, const char *, unsigned int);
  24. kdev_t hwc_console_device (struct console *);
  25. void hwc_console_unblank (void);
  26. #define  HWC_CON_PRINT_HEADER "hwc console driver: "
  27. struct console hwc_console =
  28. {
  29. hwc_console_name,
  30. hwc_console_write,
  31. NULL,
  32. hwc_console_device,
  33. NULL,
  34. hwc_console_unblank,
  35. NULL,
  36. CON_PRINTBUFFER,
  37. 0,
  38. 0,
  39. NULL
  40. };
  41. void 
  42. hwc_console_write (
  43.   struct console *console,
  44.   const char *message,
  45.   unsigned int count)
  46. {
  47. if (console->device (console) != hwc_console.device (&hwc_console)) {
  48. hwc_printk (KERN_WARNING HWC_CON_PRINT_HEADER
  49.     "hwc_console_write() called with wrong "
  50.     "device number");
  51. return;
  52. }
  53. hwc_write (0, message, count);
  54. }
  55. kdev_t 
  56. hwc_console_device (struct console * c)
  57. {
  58. return MKDEV (hwc_console_major, hwc_console_minor);
  59. }
  60. void 
  61. hwc_console_unblank (void)
  62. {
  63. hwc_unblank ();
  64. }
  65. #endif
  66. void __init 
  67. hwc_console_init (void)
  68. {
  69. if (!MACHINE_HAS_HWC)
  70. return;
  71. if (hwc_init () == 0) {
  72. #ifdef CONFIG_HWC_CONSOLE
  73. if (CONSOLE_IS_HWC)
  74. register_console (&hwc_console);
  75. #endif
  76. } else
  77. panic (HWC_CON_PRINT_HEADER "hwc initialisation failed !");
  78. return;
  79. }