diff options
author | Keith M Wesolowski <wesolows@foobazco.org> | 2000-08-01 04:24:49 +0000 |
---|---|---|
committer | Keith M Wesolowski <wesolows@foobazco.org> | 2000-08-01 04:24:49 +0000 |
commit | f7bbf9552e93a3fa9e5aa7c5cfed458b77b37695 (patch) | |
tree | 137da613a3a73d0c311fbcc3210f51c6f15c1ae4 /arch/mips/arc/arc_con.c | |
parent | 7f78cc6fbe77afbbd4c84f2c8fab9c92f58b1976 (diff) |
ARC console is not just for IP22.
Timer dead code cleanup.
Diffstat (limited to 'arch/mips/arc/arc_con.c')
-rw-r--r-- | arch/mips/arc/arc_con.c | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/arch/mips/arc/arc_con.c b/arch/mips/arc/arc_con.c new file mode 100644 index 000000000..6fe94a6c7 --- /dev/null +++ b/arch/mips/arc/arc_con.c @@ -0,0 +1,69 @@ +/* + * Wrap-around code for a console using the + * ARC io-routines. + * + * Copyright (c) 1998 Harald Koerfgen + */ + +#include <linux/tty.h> +#include <linux/major.h> +#include <linux/ptrace.h> +#include <linux/init.h> +#include <linux/console.h> +#include <linux/fs.h> + +extern char prom_getchar (void); +extern void prom_printf (char *, ...); + +static void prom_console_write(struct console *co, const char *s, + unsigned count) +{ + unsigned i; + + /* + * Now, do each character + */ + for (i = 0; i < count; i++) { + if (*s == 10) + prom_printf("%c", 13); + prom_printf("%c", *s++); + } +} + +static int prom_console_wait_key(struct console *co) +{ + return prom_getchar(); +} + +static int __init prom_console_setup(struct console *co, char *options) +{ + return 0; +} + +static kdev_t prom_console_device(struct console *c) +{ + return MKDEV(TTY_MAJOR, 64 + c->index); +} + +static struct console arc_cons = { + "ttyS", + prom_console_write, + NULL, + prom_console_device, + prom_console_wait_key, + NULL, + prom_console_setup, + CON_PRINTBUFFER, + -1, + 0, + NULL +}; + +/* + * Register console. + */ + +void __init arc_console_init(void) +{ + register_console(&arc_cons); +} |