diff --git a/drivers/serial/serial_ixp.c b/drivers/serial/serial_ixp.c
index a9acd47..6e3f7f0 100644
--- a/drivers/serial/serial_ixp.c
+++ b/drivers/serial/serial_ixp.c
@@ -31,6 +31,8 @@
 #include <common.h>
 #include <asm/arch/ixp425.h>
 #include <watchdog.h>
+#include <serial.h>
+#include <linux/compiler.h>
 
 /*
  *               14.7456 MHz
@@ -41,7 +43,7 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
-void serial_setbrg (void)
+static void ixp_serial_setbrg(void)
 {
 	unsigned int quot = 0;
 	int uart = CONFIG_SYS_IXP425_CONSOLE;
@@ -72,7 +74,7 @@
  * are always 8 data bits, no parity, 1 stop bit, no start bits.
  *
  */
-int serial_init (void)
+static int ixp_serial_init(void)
 {
 	serial_setbrg ();
 
@@ -83,7 +85,7 @@
 /*
  * Output a single byte to the serial port.
  */
-void serial_putc (const char c)
+static void ixp_serial_putc(const char c)
 {
 	/* wait for room in the tx FIFO on UART */
 	while ((LSR(CONFIG_SYS_IXP425_CONSOLE) & LSR_TEMT) == 0)
@@ -101,7 +103,7 @@
  * otherwise. When the function is succesfull, the character read is
  * written into its argument c.
  */
-int serial_tstc (void)
+static int ixp_serial_tstc(void)
 {
 	return LSR(CONFIG_SYS_IXP425_CONSOLE) & LSR_DR;
 }
@@ -111,7 +113,7 @@
  * otherwise. When the function is succesfull, the character read is
  * written into its argument c.
  */
-int serial_getc (void)
+static int ixp_serial_getc(void)
 {
 	while (!(LSR(CONFIG_SYS_IXP425_CONSOLE) & LSR_DR))
 		WATCHDOG_RESET();	/* Reset HW Watchdog, if needed */
@@ -119,10 +121,62 @@
 	return (char) RBR(CONFIG_SYS_IXP425_CONSOLE) & 0xff;
 }
 
-void
-serial_puts (const char *s)
+static void ixp_serial_puts(const char *s)
 {
 	while (*s) {
 		serial_putc (*s++);
 	}
 }
+
+#ifdef CONFIG_SERIAL_MULTI
+static struct serial_device ixp_serial_drv = {
+	.name	= "ixp_serial",
+	.start	= ixp_serial_init,
+	.stop	= NULL,
+	.setbrg	= ixp_serial_setbrg,
+	.putc	= ixp_serial_putc,
+	.puts	= ixp_serial_puts,
+	.getc	= ixp_serial_getc,
+	.tstc	= ixp_serial_tstc,
+};
+
+void ixp_serial_initialize(void)
+{
+	serial_register(&ixp_serial_drv);
+}
+
+__weak struct serial_device *default_serial_console(void)
+{
+	return &ixp_serial_drv;
+}
+#else
+int serial_init(void)
+{
+	return ixp_serial_init();
+}
+
+void serial_setbrg(void)
+{
+	ixp_serial_setbrg();
+}
+
+void serial_putc(const char c)
+{
+	ixp_serial_putc(c);
+}
+
+void serial_puts(const char *s)
+{
+	ixp_serial_puts(s);
+}
+
+int serial_getc(void)
+{
+	return ixp_serial_getc();
+}
+
+int serial_tstc(void)
+{
+	return ixp_serial_tstc();
+}
+#endif
