AVR32: Use initdram() instead of board_init_memories()

Conform to the "standard" interface and use initdram() instead of
board_init_memories() on AVR32. This enables us to get rid of the
sdram_size member of the global_data struct as well.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
diff --git a/board/atmel/atstk1000/atstk1000.c b/board/atmel/atstk1000/atstk1000.c
index 8210bc6..9f735da 100644
--- a/board/atmel/atstk1000/atstk1000.c
+++ b/board/atmel/atstk1000/atstk1000.c
@@ -53,9 +53,9 @@
 	return 0;
 }
 
-void board_init_memories(void)
+long int initdram(int board_type)
 {
-	gd->sdram_size = sdram_init(&sdram);
+	return sdram_init(&sdram);
 }
 
 void board_init_info(void)
diff --git a/include/asm-avr32/global_data.h b/include/asm-avr32/global_data.h
index 7c45b36..681c514 100644
--- a/include/asm-avr32/global_data.h
+++ b/include/asm-avr32/global_data.h
@@ -36,7 +36,6 @@
 	bd_t		*bd;
 	unsigned long	flags;
 	unsigned long	baudrate;
-	unsigned long	sdram_size;
 	unsigned long	stack_end;	/* highest stack address */
 	unsigned long	have_console;	/* serial_init() was called */
 	unsigned long	reloc_off;	/* Relocation Offset */
diff --git a/include/asm-avr32/initcalls.h b/include/asm-avr32/initcalls.h
index 7ba25cd..583e5dc 100644
--- a/include/asm-avr32/initcalls.h
+++ b/include/asm-avr32/initcalls.h
@@ -26,8 +26,6 @@
 
 extern int cpu_init(void);
 extern int timer_init(void);
-extern void board_init_memories(void);
-extern void board_init_pio(void);
 extern void board_init_info(void);
 
 #endif /* __ASM_AVR32_INITCALLS_H__ */
diff --git a/lib_avr32/board.c b/lib_avr32/board.c
index c55ebd5..a407bca 100644
--- a/lib_avr32/board.c
+++ b/lib_avr32/board.c
@@ -125,7 +125,7 @@
 	printf("at address 0x%08lx\n", gd->bd->bi_flashstart);
 }
 
-void board_init_f(ulong unused)
+void board_init_f(ulong board_type)
 {
 	gd_t gd_data;
 	gd_t *new_gd;
@@ -134,6 +134,7 @@
 	unsigned long monitor_len;
 	unsigned long monitor_addr;
 	unsigned long addr;
+	long sdram_size;
 
 	/* Initialize the global data pointer */
 	memset(&gd_data, 0, sizeof(gd_data));
@@ -147,10 +148,10 @@
 	serial_init();
 	console_init_f();
 	display_banner();
-	board_init_memories();
+	sdram_size = initdram(board_type);
 
 	/* If we have no SDRAM, we can't go on */
-	if (!gd->sdram_size)
+	if (sdram_size <= 0)
 		panic("No working SDRAM available\n");
 
 	/*
@@ -164,7 +165,7 @@
 	 *  - global data struct
 	 *  - stack
 	 */
-	addr = CFG_SDRAM_BASE + gd->sdram_size;
+	addr = CFG_SDRAM_BASE + sdram_size;
 	monitor_len = _end - _text;
 
 	/*
@@ -199,7 +200,7 @@
 	 * information we have.
 	 */
 	bd->bi_dram[0].start = CFG_SDRAM_BASE;
-	bd->bi_dram[0].size = gd->sdram_size;
+	bd->bi_dram[0].size = sdram_size;
 	bd->bi_baudrate = gd->baudrate;
 
 	memcpy(new_gd, gd, sizeof(gd_t));