diff --git a/drivers/serial/serial_xuartlite.c b/drivers/serial/serial_xuartlite.c
index 9c1d025..e613994 100644
--- a/drivers/serial/serial_xuartlite.c
+++ b/drivers/serial/serial_xuartlite.c
@@ -39,7 +39,7 @@
 #endif
 };
 
-void uartlite_serial_putc(const char c, const int port)
+static void uartlite_serial_putc(const char c, const int port)
 {
 	struct uartlite *regs = userial_ports[port];
 
@@ -51,13 +51,13 @@
 	out_be32(&regs->tx_fifo, c & 0xff);
 }
 
-void uartlite_serial_puts(const char *s, const int port)
+static void uartlite_serial_puts(const char *s, const int port)
 {
 	while (*s)
 		uartlite_serial_putc(*s++, port);
 }
 
-int uartlite_serial_getc(const int port)
+static int uartlite_serial_getc(const int port)
 {
 	struct uartlite *regs = userial_ports[port];
 
@@ -66,7 +66,7 @@
 	return in_be32(&regs->rx_fifo) & 0xff;
 }
 
-int uartlite_serial_tstc(const int port)
+static int uartlite_serial_tstc(const int port)
 {
 	struct uartlite *regs = userial_ports[port];
 
@@ -82,16 +82,16 @@
 
 /* Multi serial device functions */
 #define DECLARE_ESERIAL_FUNCTIONS(port) \
-	int userial##port##_init(void) \
+	static int userial##port##_init(void) \
 				{ return uartlite_serial_init(port); } \
-	void userial##port##_setbrg(void) {} \
-	int userial##port##_getc(void) \
+	static void userial##port##_setbrg(void) {} \
+	static int userial##port##_getc(void) \
 				{ return uartlite_serial_getc(port); } \
-	int userial##port##_tstc(void) \
+	static int userial##port##_tstc(void) \
 				{ return uartlite_serial_tstc(port); } \
-	void userial##port##_putc(const char c) \
+	static void userial##port##_putc(const char c) \
 				{ uartlite_serial_putc(c, port); } \
-	void userial##port##_puts(const char *s) \
+	static void userial##port##_puts(const char *s) \
 				{ uartlite_serial_puts(s, port); }
 
 /* Serial device descriptor */
