From b26640971a7ba8800f0eb32af145ff0727fe21fe Mon Sep 17 00:00:00 2001
From: Michal Simek <monstr@monstr.eu>
Date: Fri, 16 Apr 2010 11:43:43 +0200
Subject: [PATCH] microblaze: Move FSL initialization to board.c

Move FSL out of interrupt controller.

Signed-off-by: Michal Simek <monstr@monstr.eu>
---
 arch/microblaze/cpu/interrupts.c                     | 7 -------
 arch/microblaze/lib/board.c                          | 7 ++++++-
 board/xilinx/microblaze-generic/microblaze-generic.c | 7 +++----
 3 files changed, 9 insertions(+), 12 deletions(-)

diff --git a/arch/microblaze/cpu/interrupts.c b/arch/microblaze/cpu/interrupts.c
index b8db68afd0..0fe9f5c610 100644
--- a/arch/microblaze/cpu/interrupts.c
+++ b/arch/microblaze/cpu/interrupts.c
@@ -46,10 +46,6 @@ int disable_interrupts (void)
 }
 
 #ifdef CONFIG_SYS_INTC_0
-#ifdef CONFIG_SYS_FSL_2
-extern void fsl_init2 (void);
-#endif
-
 
 static struct irq_action vecs[CONFIG_SYS_INTC_0_NUM];
 
@@ -139,9 +135,6 @@ int interrupts_init (void)
 	}
 	/* initialize intc controller */
 	intc_init ();
-#ifdef CONFIG_SYS_FSL_2
-	fsl_init2 ();
-#endif
 	enable_interrupts ();
 	return 0;
 }
diff --git a/arch/microblaze/lib/board.c b/arch/microblaze/lib/board.c
index 7dfa71c0fb..1d44a64565 100644
--- a/arch/microblaze/lib/board.c
+++ b/arch/microblaze/lib/board.c
@@ -47,7 +47,9 @@ extern int eth_init (bd_t * bis);
 #ifdef CONFIG_SYS_TIMER_0
 extern int timer_init (void);
 #endif
-
+#ifdef CONFIG_SYS_FSL_2
+extern void fsl_init2 (void);
+#endif
 
 /*
  * All attempts to come up with a "common" initialization sequence
@@ -74,6 +76,9 @@ init_fnc_t *init_sequence[] = {
 #endif
 #ifdef CONFIG_SYS_TIMER_0
 	timer_init,
+#endif
+#ifdef CONFIG_SYS_FSL_2
+	fsl_init2,
 #endif
 	NULL,
 };
diff --git a/board/xilinx/microblaze-generic/microblaze-generic.c b/board/xilinx/microblaze-generic/microblaze-generic.c
index f388b775c2..838f1315b3 100644
--- a/board/xilinx/microblaze-generic/microblaze-generic.c
+++ b/board/xilinx/microblaze-generic/microblaze-generic.c
@@ -60,10 +60,9 @@ void fsl_isr2 (void *arg) {
 	puts("*");
 }
 
-void fsl_init2 (void) {
+int fsl_init2 (void) {
 	puts("fsl_init2\n");
-	install_interrupt_handler (FSL_INTR_2,\
- fsl_isr2,\
- NULL);
+	install_interrupt_handler (FSL_INTR_2, fsl_isr2, NULL);
+	return 0;
 }
 #endif
-- 
2.39.5