summaryrefslogtreecommitdiffstats
path: root/arch/mips64
diff options
context:
space:
mode:
authorKanoj Sarcar <kanoj@engr.sgi.com>2000-08-29 22:22:11 +0000
committerKanoj Sarcar <kanoj@engr.sgi.com>2000-08-29 22:22:11 +0000
commit1e5e4189137e2bae18ea0763bbaf9e6f2ddaf817 (patch)
tree49896c45238fdf46ec0ae6eede44fb78b63f07b8 /arch/mips64
parenta60c6812feb6ba35b5b8a9ee8a5ca3d01d1fcd5f (diff)
Define prom_putchar/prom_getchar() for IP27s. The IP27 console printk
routine now uses prom_printf to correctly parse the format string.
Diffstat (limited to 'arch/mips64')
-rw-r--r--arch/mips64/arc/Makefile6
-rw-r--r--arch/mips64/sgi-ip27/ip27-console.c17
2 files changed, 13 insertions, 10 deletions
diff --git a/arch/mips64/arc/Makefile b/arch/mips64/arc/Makefile
index ca655299f..141093f78 100644
--- a/arch/mips64/arc/Makefile
+++ b/arch/mips64/arc/Makefile
@@ -3,9 +3,13 @@
#
L_TARGET = arclib.a
-L_OBJS = console.o init.o printf.o tree.o env.o cmdline.o misc.o time.o \
+L_OBJS = init.o printf.o tree.o env.o cmdline.o misc.o time.o \
file.o identify.o
+ifndef CONFIG_SGI_IP27
+L_OBJS += console.o
+endif
+
ifdef CONFIG_ARC_MEMORY
L_OBJS += memory.o
endif
diff --git a/arch/mips64/sgi-ip27/ip27-console.c b/arch/mips64/sgi-ip27/ip27-console.c
index a1bf912b9..3ba76f596 100644
--- a/arch/mips64/sgi-ip27/ip27-console.c
+++ b/arch/mips64/sgi-ip27/ip27-console.c
@@ -9,9 +9,10 @@
#include <asm/sn/sn0/hub.h>
#include <asm/sn/klconfig.h>
#include <asm/ioc3.h>
+#include <asm/sgialib.h>
#include <asm/sn/sn_private.h>
-void ip27_putchar(char c)
+void prom_putchar(char c)
{
struct ioc3 *ioc3;
struct ioc3_uartregs *uart;
@@ -23,17 +24,15 @@ void ip27_putchar(char c)
uart->iu_thr = c;
}
+char __init prom_getchar(void)
+{
+ return(0);
+}
+
static void
ip27prom_console_write(struct console *con, const char *s, unsigned n)
{
- char c;
-
- while (n--) {
- c = *(s++);
- if (c == '\n')
- ip27_putchar('\r');
- ip27_putchar(c);
- }
+ prom_printf("%s", s);
}
static struct console ip27_prom_console = {