summaryrefslogtreecommitdiffstats
path: root/drivers/char
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-12-29 16:35:43 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-12-29 16:35:43 +0000
commitd0ed783f34132a6456fbee80ce5d121faf55fb8c (patch)
treeed7bb65b9ba2d86bafa9ba4631718717cd944d01 /drivers/char
parent041d5780d54608a859ac6fd0fac06ec0e670aa5b (diff)
Bunch more patches from MIPS.
Diffstat (limited to 'drivers/char')
-rw-r--r--drivers/char/Makefile6
-rw-r--r--drivers/char/serial.c28
2 files changed, 34 insertions, 0 deletions
diff --git a/drivers/char/Makefile b/drivers/char/Makefile
index 1136cc0f4..57d52cd88 100644
--- a/drivers/char/Makefile
+++ b/drivers/char/Makefile
@@ -54,6 +54,12 @@ ifeq ($(ARCH),s390)
SERIAL =
endif
+ifeq ($(ARCH),mips)
+ ifneq ($(CONFIG_PC_KEYB),y)
+ KEYBD =
+ endif
+endif
+
ifeq ($(ARCH),m68k)
ifdef CONFIG_AMIGA
KEYBD = amikeyb.o
diff --git a/drivers/char/serial.c b/drivers/char/serial.c
index 85da92470..65912962b 100644
--- a/drivers/char/serial.c
+++ b/drivers/char/serial.c
@@ -86,6 +86,16 @@ static char *serial_revdate = "2000-08-09";
* Check the magic number for the async_structure where
* ever possible.
*/
+/**************************************************************************
+ * 23 Oct, 2000.
+ * Added suport for MIPS Atlas board.
+ *
+ * 23 Nov, 2000.
+ * Hooks for serial kernel debug port support added.
+ *
+ * Kevin D. Kissell, kevink@mips.com and Carsten Langgaard, carstenl@mips.com
+ * Copyright (C) 2000 MIPS Technologies, Inc. All rights reserved.
+ *************************************************************************/
#include <linux/config.h>
#include <linux/version.h>
@@ -402,6 +412,22 @@ static inline int serial_paranoia_check(struct async_struct *info,
return 0;
}
+#ifdef CONFIG_MIPS_ATLAS
+extern unsigned int atlas_serial_in(struct async_struct *info, int offset);
+extern void atlas_serial_out(struct async_struct *info, int offset, int value);
+
+static _INLINE_ unsigned int serial_in(struct async_struct *info, int offset)
+{
+ return (atlas_serial_in(info, offset) & 0xff);
+}
+
+static _INLINE_ void serial_out(struct async_struct *info, int offset, int value)
+{
+ atlas_serial_out(info, offset, value);
+}
+
+#else
+
static _INLINE_ unsigned int serial_in(struct async_struct *info, int offset)
{
switch (info->io_type) {
@@ -445,6 +471,8 @@ static _INLINE_ void serial_out(struct async_struct *info, int offset,
outb(value, info->port+offset);
}
}
+#endif
+
/*
* We used to support using pause I/O for certain machines. We