GCC-4.x fixes: clean up global data pointer initialization for all boards.
diff --git a/cpu/i386/serial.c b/cpu/i386/serial.c
index db13008..e7299a7 100644
--- a/cpu/i386/serial.c
+++ b/cpu/i386/serial.c
@@ -55,6 +55,8 @@
 #include <malloc.h>
 #endif
 
+DECLARE_GLOBAL_DATA_PTR;
+
 #define UART_RBR    0x00
 #define UART_THR    0x00
 #define UART_IER    0x01
@@ -126,13 +128,9 @@
 
 int serial_init(void)
 {
-	DECLARE_GLOBAL_DATA_PTR;
-
 	volatile char val;
-
 	int bdiv = serial_div(gd->baudrate);
 
-
 	outb(0x80, UART0_BASE + UART_LCR);	/* set DLAB bit */
 	outb(bdiv, UART0_BASE + UART_DLL);	/* set baudrate divisor */
 	outb(bdiv >> 8, UART0_BASE + UART_DLM);/* set baudrate divisor */
@@ -150,8 +148,6 @@
 
 void serial_setbrg(void)
 {
-	DECLARE_GLOBAL_DATA_PTR;
-
 	unsigned short bdiv;
 
 	bdiv = serial_div(gd->baudrate);
@@ -410,8 +406,6 @@
 #if (CONFIG_KGDB_SER_INDEX & 2)
 void kgdb_serial_init(void)
 {
-	DECLARE_GLOBAL_DATA_PTR;
-
 	volatile char val;
 	bdiv = serial_div (CONFIG_KGDB_BAUDRATE);