Index: arch/mips32/include/drivers/arc.h
===================================================================
--- arch/mips32/include/drivers/arc.h	(revision c0b7f005e1ee1f0871599246c44fc2bac692b8b9)
+++ arch/mips32/include/drivers/arc.h	(revision af9a7c57cb5b1118b9fe7512bf136d64c3eee3b2)
@@ -216,5 +216,5 @@
 extern void arc_print_devices(void);
 void arc_frame_init(void);
-chardev_t * arc_console(void);
+void arc_console(void);
 
 #endif
Index: arch/mips32/include/drivers/msim.h
===================================================================
--- arch/mips32/include/drivers/msim.h	(revision c0b7f005e1ee1f0871599246c44fc2bac692b8b9)
+++ arch/mips32/include/drivers/msim.h	(revision af9a7c57cb5b1118b9fe7512bf136d64c3eee3b2)
@@ -37,5 +37,5 @@
 #define MSIM_KBD_IRQ	2
 
-chardev_t * msim_console(void);
+void msim_console(void);
 
 #endif
Index: arch/mips32/include/drivers/serial.h
===================================================================
--- arch/mips32/include/drivers/serial.h	(revision c0b7f005e1ee1f0871599246c44fc2bac692b8b9)
+++ arch/mips32/include/drivers/serial.h	(revision af9a7c57cb5b1118b9fe7512bf136d64c3eee3b2)
@@ -57,5 +57,5 @@
 }serial_t;
 
-chardev_t * serial_console(void);
+void serial_console(void);
 int serial_init(void);
 
Index: arch/mips32/src/console.c
===================================================================
--- arch/mips32/src/console.c	(revision c0b7f005e1ee1f0871599246c44fc2bac692b8b9)
+++ arch/mips32/src/console.c	(revision af9a7c57cb5b1118b9fe7512bf136d64c3eee3b2)
@@ -35,14 +35,9 @@
 void console_init(void)
 {
-	chardev_t *console;
-
 	if (arc_enabled()) {
-		console = arc_console();
+		arc_console();
 	} else if (serial_init()) {
-		console = serial_console();
+		serial_console();
 	} else
-		console = msim_console();
-
-	stdin = console;
-	stdout = console;
+		msim_console();
 }
Index: arch/mips32/src/drivers/arc.c
===================================================================
--- arch/mips32/src/drivers/arc.c	(revision c0b7f005e1ee1f0871599246c44fc2bac692b8b9)
+++ arch/mips32/src/drivers/arc.c	(revision af9a7c57cb5b1118b9fe7512bf136d64c3eee3b2)
@@ -36,4 +36,5 @@
 #include <interrupt.h>
 #include <align.h>
+#include <console/console.h>
 
 /* This is a good joke, SGI HAS different types than NT bioses... */
@@ -247,6 +248,5 @@
 }
 
-
-chardev_t * arc_console(void)
+void arc_console(void)
 {
 	kbd_polling_enabled = true;
@@ -254,5 +254,6 @@
 	chardev_initialize("arc_console", &console, &arc_ops);
 	old_timer = int_register(TIMER_IRQ, "arc_kb_poll", timer_replace);
-	return &console;
+	stdin = &console;
+	stdout = &console;
 }
 
Index: arch/mips32/src/drivers/msim.c
===================================================================
--- arch/mips32/src/drivers/msim.c	(revision c0b7f005e1ee1f0871599246c44fc2bac692b8b9)
+++ arch/mips32/src/drivers/msim.c	(revision af9a7c57cb5b1118b9fe7512bf136d64c3eee3b2)
@@ -31,4 +31,5 @@
 #include <arch/drivers/msim.h>
 #include <arch/cp0.h>
+#include <console/console.h>
 
 static chardev_t console;
@@ -78,5 +79,5 @@
 
 /* Return console object representing msim console */
-chardev_t * msim_console(void)
+void msim_console(void)
 {
 	chardev_initialize("msim_console", &console, &msim_ops);
@@ -86,4 +87,5 @@
 	cp0_unmask_int(MSIM_KBD_IRQ);
 
-	return &console;
+	stdin = &console;
+	stdout = &console;
 }
Index: arch/mips32/src/drivers/serial.c
===================================================================
--- arch/mips32/src/drivers/serial.c	(revision c0b7f005e1ee1f0871599246c44fc2bac692b8b9)
+++ arch/mips32/src/drivers/serial.c	(revision af9a7c57cb5b1118b9fe7512bf136d64c3eee3b2)
@@ -102,6 +102,5 @@
 }
 
-#include <print.h>
-chardev_t * serial_console(void)
+void serial_console(void)
 {
 	serial_t *sd = &sconf[0];
@@ -118,6 +117,5 @@
 	old_timer = int_register(TIMER_IRQ, "serial_drvr_poll", timer_replace);
 	
-
-	return &console;
-	
+	stdin = &console;
+	stdout = &console;
 }
