diff --git a/cpu/lh7a40x/interrupts.c b/cpu/lh7a40x/interrupts.c
index 2ebbe56..a716269 100644
--- a/cpu/lh7a40x/interrupts.c
+++ b/cpu/lh7a40x/interrupts.c
@@ -41,7 +41,7 @@
 /* macro to read the 16 bit timer */
 static inline ulong READ_TIMER(void)
 {
-	LH7A40X_TIMERS_PTR(timers);
+	lh7a40x_timers_t* timers = LH7A40X_TIMERS_PTR;
 	lh7a40x_timer_t* timer = &timers->timer1;
 
 	return (timer->value & 0x0000ffff);
@@ -185,7 +185,7 @@
 
 int interrupt_init (void)
 {
-	LH7A40X_TIMERS_PTR(timers);
+	lh7a40x_timers_t* timers = LH7A40X_TIMERS_PTR;
 	lh7a40x_timer_t* timer = &timers->timer1;
 
 	/* a periodic timer using the 508kHz source */
diff --git a/cpu/lh7a40x/serial.c b/cpu/lh7a40x/serial.c
index 241d568..ff5b2d8 100644
--- a/cpu/lh7a40x/serial.c
+++ b/cpu/lh7a40x/serial.c
@@ -34,7 +34,7 @@
 void serial_setbrg (void)
 {
 	DECLARE_GLOBAL_DATA_PTR;
-	LH7A40X_UART_PTR(uart,UART_CONSOLE);
+	lh7a40x_uart_t* uart = LH7A40X_UART_PTR(UART_CONSOLE);
 	int i;
 	unsigned int reg = 0;
 
@@ -62,7 +62,7 @@
  */
 int serial_init (void)
 {
-	LH7A40X_UART_PTR(uart,UART_CONSOLE);
+	lh7a40x_uart_t* uart = LH7A40X_UART_PTR(UART_CONSOLE);
 
 	/* UART must be enabled before writing to any config registers */
 	uart->con |= (UART_EN);
@@ -96,7 +96,7 @@
  */
 int serial_getc (void)
 {
-	LH7A40X_UART_PTR(uart,UART_CONSOLE);
+	lh7a40x_uart_t* uart = LH7A40X_UART_PTR(UART_CONSOLE);
 
 	/* wait for character to arrive */
 	while (uart->status & UART_RXFE);
@@ -142,7 +142,7 @@
  */
 void serial_putc (const char c)
 {
-	LH7A40X_UART_PTR(uart,UART_CONSOLE);
+	lh7a40x_uart_t* uart = LH7A40X_UART_PTR(UART_CONSOLE);
 
 #ifdef CONFIG_MODEM_SUPPORT
 	if (be_quiet)
@@ -169,7 +169,7 @@
  */
 int serial_tstc (void)
 {
-	LH7A40X_UART_PTR(uart,UART_CONSOLE);
+	lh7a40x_uart_t* uart = LH7A40X_UART_PTR(UART_CONSOLE);
 
 	return(!(uart->status & UART_RXFE));
 }
diff --git a/cpu/lh7a40x/speed.c b/cpu/lh7a40x/speed.c
index e80b046..333ebb5 100644
--- a/cpu/lh7a40x/speed.c
+++ b/cpu/lh7a40x/speed.c
@@ -46,7 +46,7 @@
 /* return FCLK frequency */
 ulong get_FCLK (void)
 {
-	LH7A40X_CSC_PTR (csc);
+	lh7a40x_csc_t* csc = LH7A40X_CSC_PTR;
 	ulong maindiv1, maindiv2, prediv, ps;
 
 	/*
@@ -68,7 +68,7 @@
 /* return HCLK frequency */
 ulong get_HCLK (void)
 {
-	LH7A40X_CSC_PTR (csc);
+	lh7a40x_csc_t* csc = LH7A40X_CSC_PTR;
 
 	return (get_FCLK () / ((csc->clkset & CLKSET_HCLKDIV) + 1));
 }
@@ -76,7 +76,7 @@
 /* return PCLK frequency */
 ulong get_PCLK (void)
 {
-	LH7A40X_CSC_PTR (csc);
+	lh7a40x_csc_t* csc = LH7A40X_CSC_PTR;
 
 	return (get_HCLK () /
 		(1 << (((csc->clkset & CLKSET_PCLKDIV) >> 16) + 1)));
