patch-2.2.14 linux/drivers/s390/char/hwc_con.c
Next file: linux/drivers/s390/char/hwc_rw.c
Previous file: linux/drivers/s390/char/hwc.h
Back to the patch index
Back to the overall index
- Lines: 88
- Date:
Tue Jan 4 10:12:18 2000
- Orig file:
v2.2.13/linux/drivers/s390/char/hwc_con.c
- Orig date:
Wed Dec 31 16:00:00 1969
diff -u --recursive --new-file v2.2.13/linux/drivers/s390/char/hwc_con.c linux/drivers/s390/char/hwc_con.c
@@ -0,0 +1,87 @@
+/*
+ * drivers/s390/char/hwc_con.c
+ * HWC line mode console driver
+ *
+ * S390 version
+ * Copyright (C) 1999 IBM Deutschland Entwicklung GmbH, IBM Corporation
+ * Author(s): Martin Peschke <peschke@fh-brandenburg.de>
+ */
+
+#include <linux/kernel.h>
+#include <linux/major.h>
+#include <linux/errno.h>
+#include <linux/kdev_t.h>
+#include <linux/string.h>
+#include <linux/console.h>
+#include <linux/fs.h>
+#include <linux/init.h>
+
+#include "hwc_rw.h"
+
+extern void hwc_tty_init(void);
+
+
+#ifdef CONFIG_HWC_CONSOLE
+
+#define hwc_console_major 4
+#define hwc_console_minor 0
+#define hwc_console_name "console"
+
+void hwc_console_write(struct console *, const char *, unsigned int);
+kdev_t hwc_console_device(struct console *);
+
+#define HWC_CON_PRINT_HEADER "hwc console driver: "
+
+struct console hwc_console = {
+ hwc_console_name,
+ hwc_console_write,
+ NULL,
+ hwc_console_device,
+ NULL,
+ NULL,
+ NULL,
+ CON_PRINTBUFFER,
+ 0,
+ 0,
+ NULL
+};
+
+void hwc_console_write(
+ struct console *console,
+ const char *message,
+ unsigned int count)
+{
+ if (console->device(console) != hwc_console.device(&hwc_console))
+ {
+ hwc_printk(KERN_WARNING HWC_CON_PRINT_HEADER
+ "hwc_console_write() called with wrong "
+ "device number");
+ return;
+ }
+ hwc_write(0, message, count);
+}
+
+
+kdev_t hwc_console_device(struct console *c)
+{
+ return MKDEV(hwc_console_major, hwc_console_minor);
+}
+
+#endif
+
+__initfunc(unsigned long hwc_console_init(unsigned long kmem_start))
+{
+
+#ifdef CONFIG_3215
+ if (MACHINE_IS_VM)
+ return kmem_start;
+#endif
+ if (hwc_init(&kmem_start) == 0) {
+#ifdef CONFIG_HWC_CONSOLE
+ register_console(&hwc_console);
+#endif
+ hwc_tty_init();
+ }
+ else panic(HWC_CON_PRINT_HEADER "hwc initialisation failed !");
+ return kmem_start;
+}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)