public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 1/6] arm: unify interrupt init
@ 2009-05-09 13:35 Jean-Christophe PLAGNIOL-VILLARD
  2009-05-09 13:35 ` [U-Boot] [PATCH 2/6] arm: remove cpu_init Jean-Christophe PLAGNIOL-VILLARD
  2009-05-10  7:42 ` [U-Boot] [PATCH 1/6] arm: unify interrupt init Dirk Behme
  0 siblings, 2 replies; 15+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-05-09 13:35 UTC (permalink / raw)
  To: u-boot

all arm init the IRQ stack the same way
so unify it in lib_arm/interrupts.c and then call arch specific interrupt init

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
---
applied to arm/testing

Best Regards,
J.
 cpu/arm1136/cpu.c            |   11 -----------
 cpu/arm720t/cpu.c            |    7 -------
 cpu/arm720t/interrupts.c     |    2 +-
 cpu/arm920t/cpu.c            |   11 -----------
 cpu/arm925t/cpu.c            |   11 -----------
 cpu/arm926ejs/cpu.c          |   11 -----------
 cpu/arm946es/cpu.c           |   11 -----------
 cpu/arm_cortexa8/cpu.c       |   12 ------------
 cpu/arm_intcm/cpu.c          |   11 -----------
 cpu/ixp/cpu.c                |   12 ------------
 cpu/ixp/interrupts.c         |    2 +-
 cpu/lh7a40x/cpu.c            |   11 -----------
 cpu/pxa/cpu.c                |   11 -----------
 cpu/sa1100/cpu.c             |    7 -------
 include/asm-arm/u-boot-arm.h |    1 +
 lib_arm/interrupts.c         |   13 +++++++++++++
 16 files changed, 16 insertions(+), 128 deletions(-)

diff --git a/cpu/arm1136/cpu.c b/cpu/arm1136/cpu.c
index e03a765..f467b7a 100644
--- a/cpu/arm1136/cpu.c
+++ b/cpu/arm1136/cpu.c
@@ -35,21 +35,10 @@
 #include <command.h>
 #include <asm/system.h>
 
-#ifdef CONFIG_USE_IRQ
-DECLARE_GLOBAL_DATA_PTR;
-#endif
-
 static void cache_flush(void);
 
 int cpu_init (void)
 {
-	/*
-	 * setup up stacks if necessary
-	 */
-#ifdef CONFIG_USE_IRQ
-	IRQ_STACK_START = _armboot_start - CONFIG_SYS_MALLOC_LEN - CONFIG_SYS_GBL_DATA_SIZE - 4;
-	FIQ_STACK_START = IRQ_STACK_START - CONFIG_STACKSIZE_IRQ;
-#endif
 	return 0;
 }
 
diff --git a/cpu/arm720t/cpu.c b/cpu/arm720t/cpu.c
index 6c40903..7a2b9c3 100644
--- a/cpu/arm720t/cpu.c
+++ b/cpu/arm720t/cpu.c
@@ -42,13 +42,6 @@ static void cache_flush(void);
 
 int cpu_init (void)
 {
-	/*
-	 * setup up stacks if necessary
-	 */
-#ifdef CONFIG_USE_IRQ
-	IRQ_STACK_START = _armboot_start - CONFIG_SYS_MALLOC_LEN - CONFIG_SYS_GBL_DATA_SIZE - 4;
-	FIQ_STACK_START = IRQ_STACK_START - CONFIG_STACKSIZE_IRQ;
-#endif
 	return 0;
 }
 
diff --git a/cpu/arm720t/interrupts.c b/cpu/arm720t/interrupts.c
index ff21314..91d552c 100644
--- a/cpu/arm720t/interrupts.c
+++ b/cpu/arm720t/interrupts.c
@@ -111,7 +111,7 @@ static ulong timestamp;
 static ulong lastdec;
 
 #if defined(CONFIG_USE_IRQ) && defined(CONFIG_S3C4510B)
-int interrupt_init (void)
+int arch_interrupt_init (void)
 {
 	int i;
 
diff --git a/cpu/arm920t/cpu.c b/cpu/arm920t/cpu.c
index 8542f0a..9d5d025 100644
--- a/cpu/arm920t/cpu.c
+++ b/cpu/arm920t/cpu.c
@@ -33,21 +33,10 @@
 #include <command.h>
 #include <asm/system.h>
 
-#ifdef CONFIG_USE_IRQ
-DECLARE_GLOBAL_DATA_PTR;
-#endif
-
 static void cache_flush(void);
 
 int cpu_init (void)
 {
-	/*
-	 * setup up stacks if necessary
-	 */
-#ifdef CONFIG_USE_IRQ
-	IRQ_STACK_START = _armboot_start - CONFIG_SYS_MALLOC_LEN - CONFIG_SYS_GBL_DATA_SIZE - 4;
-	FIQ_STACK_START = IRQ_STACK_START - CONFIG_STACKSIZE_IRQ;
-#endif
 	return 0;
 }
 
diff --git a/cpu/arm925t/cpu.c b/cpu/arm925t/cpu.c
index a9778dc..354ba5c 100644
--- a/cpu/arm925t/cpu.c
+++ b/cpu/arm925t/cpu.c
@@ -34,21 +34,10 @@
 #include <arm925t.h>
 #include <asm/system.h>
 
-#ifdef CONFIG_USE_IRQ
-DECLARE_GLOBAL_DATA_PTR;
-#endif
-
 static void cache_flush(void);
 
 int cpu_init (void)
 {
-	/*
-	 * setup up stacks if necessary
-	 */
-#ifdef CONFIG_USE_IRQ
-	IRQ_STACK_START = _armboot_start - CONFIG_SYS_MALLOC_LEN - CONFIG_SYS_GBL_DATA_SIZE - 4;
-	FIQ_STACK_START = IRQ_STACK_START - CONFIG_STACKSIZE_IRQ;
-#endif
 	return 0;
 }
 
diff --git a/cpu/arm926ejs/cpu.c b/cpu/arm926ejs/cpu.c
index e483de6..978bfcd 100644
--- a/cpu/arm926ejs/cpu.c
+++ b/cpu/arm926ejs/cpu.c
@@ -33,21 +33,10 @@
 #include <command.h>
 #include <asm/system.h>
 
-#ifdef CONFIG_USE_IRQ
-DECLARE_GLOBAL_DATA_PTR;
-#endif
-
 static void cache_flush(void);
 
 int cpu_init (void)
 {
-	/*
-	 * setup up stacks if necessary
-	 */
-#ifdef CONFIG_USE_IRQ
-	IRQ_STACK_START = _armboot_start - CONFIG_SYS_MALLOC_LEN - CONFIG_SYS_GBL_DATA_SIZE - 4;
-	FIQ_STACK_START = IRQ_STACK_START - CONFIG_STACKSIZE_IRQ;
-#endif
 	return 0;
 }
 
diff --git a/cpu/arm946es/cpu.c b/cpu/arm946es/cpu.c
index 04e49d6..3939322 100644
--- a/cpu/arm946es/cpu.c
+++ b/cpu/arm946es/cpu.c
@@ -33,21 +33,10 @@
 #include <command.h>
 #include <asm/system.h>
 
-#ifdef CONFIG_USE_IRQ
-DECLARE_GLOBAL_DATA_PTR;
-#endif
-
 static void cache_flush(void);
 
 int cpu_init (void)
 {
-	/*
-	 * setup up stacks if necessary
-	 */
-#ifdef CONFIG_USE_IRQ
-	IRQ_STACK_START = _armboot_start - CONFIG_SYS_MALLOC_LEN - CONFIG_SYS_GBL_DATA_SIZE - 4;
-	FIQ_STACK_START = IRQ_STACK_START - CONFIG_STACKSIZE_IRQ;
-#endif
 	return 0;
 }
 
diff --git a/cpu/arm_cortexa8/cpu.c b/cpu/arm_cortexa8/cpu.c
index 3e1780b..e911206 100644
--- a/cpu/arm_cortexa8/cpu.c
+++ b/cpu/arm_cortexa8/cpu.c
@@ -36,10 +36,6 @@
 #include <asm/arch/sys_proto.h>
 #include <asm/system.h>
 
-#ifdef CONFIG_USE_IRQ
-DECLARE_GLOBAL_DATA_PTR;
-#endif
-
 #ifndef CONFIG_L2_OFF
 void l2cache_disable(void);
 #endif
@@ -48,14 +44,6 @@ static void cache_flush(void);
 
 int cpu_init(void)
 {
-	/*
-	 * setup up stacks if necessary
-	 */
-#ifdef CONFIG_USE_IRQ
-	IRQ_STACK_START =
-	    _armboot_start - CONFIG_SYS_MALLOC_LEN - CONFIG_SYS_GBL_DATA_SIZE - 4;
-	FIQ_STACK_START = IRQ_STACK_START - CONFIG_STACKSIZE_IRQ;
-#endif
 	return 0;
 }
 
diff --git a/cpu/arm_intcm/cpu.c b/cpu/arm_intcm/cpu.c
index 1636ffb..9ce17f2 100644
--- a/cpu/arm_intcm/cpu.c
+++ b/cpu/arm_intcm/cpu.c
@@ -33,19 +33,8 @@
 #include <common.h>
 #include <command.h>
 
-#ifdef CONFIG_USE_IRQ
-DECLARE_GLOBAL_DATA_PTR;
-#endif
-
 int cpu_init (void)
 {
-	/*
-	 * setup up stacks if necessary
-	 */
-#ifdef CONFIG_USE_IRQ
-	IRQ_STACK_START = _armboot_start - CONFIG_SYS_MALLOC_LEN - CONFIG_SYS_GBL_DATA_SIZE - 4;
-	FIQ_STACK_START = IRQ_STACK_START - CONFIG_STACKSIZE_IRQ;
-#endif
 	return 0;
 }
 
diff --git a/cpu/ixp/cpu.c b/cpu/ixp/cpu.c
index 42c62f6..5cfc39d 100644
--- a/cpu/ixp/cpu.c
+++ b/cpu/ixp/cpu.c
@@ -38,10 +38,6 @@
 
 ulong loops_per_jiffy;
 
-#ifdef CONFIG_USE_IRQ
-DECLARE_GLOBAL_DATA_PTR;
-#endif
-
 static void cache_flush(void);
 
 #if defined(CONFIG_DISPLAY_CPUINFO)
@@ -81,14 +77,6 @@ int print_cpuinfo (void)
 
 int cpu_init (void)
 {
-	/*
-	 * setup up stacks if necessary
-	 */
-#ifdef CONFIG_USE_IRQ
-	IRQ_STACK_START = _armboot_start - CONFIG_SYS_MALLOC_LEN - CONFIG_SYS_GBL_DATA_SIZE - 4;
-	FIQ_STACK_START = IRQ_STACK_START - CONFIG_STACKSIZE_IRQ;
-#endif
-
 	return 0;
 }
 
diff --git a/cpu/ixp/interrupts.c b/cpu/ixp/interrupts.c
index a05e439..06a826a 100644
--- a/cpu/ixp/interrupts.c
+++ b/cpu/ixp/interrupts.c
@@ -67,7 +67,7 @@ void irq_install_handler (int irq, interrupt_handler_t handle_irq, void *data)
 	IRQ_HANDLER[irq].m_func = handle_irq;
 }
 
-int interrupt_init (void)
+int arch_interrupt_init (void)
 {
 	int i;
 
diff --git a/cpu/lh7a40x/cpu.c b/cpu/lh7a40x/cpu.c
index 77e6394..f47ca03 100644
--- a/cpu/lh7a40x/cpu.c
+++ b/cpu/lh7a40x/cpu.c
@@ -33,21 +33,10 @@
 #include <command.h>
 #include <asm/system.h>
 
-#ifdef CONFIG_USE_IRQ
-DECLARE_GLOBAL_DATA_PTR;
-#endif
-
 static void cache_flush(void);
 
 int cpu_init (void)
 {
-	/*
-	 * setup up stacks if necessary
-	 */
-#ifdef CONFIG_USE_IRQ
-	IRQ_STACK_START = _armboot_start - CONFIG_SYS_MALLOC_LEN - CONFIG_SYS_GBL_DATA_SIZE - 4;
-	FIQ_STACK_START = IRQ_STACK_START - CONFIG_STACKSIZE_IRQ;
-#endif
 	return 0;
 }
 
diff --git a/cpu/pxa/cpu.c b/cpu/pxa/cpu.c
index 3a1be57..8edb44e 100644
--- a/cpu/pxa/cpu.c
+++ b/cpu/pxa/cpu.c
@@ -35,21 +35,10 @@
 #include <asm/arch/pxa-regs.h>
 #include <asm/system.h>
 
-#ifdef CONFIG_USE_IRQ
-DECLARE_GLOBAL_DATA_PTR;
-#endif
-
 static void cache_flush(void);
 
 int cpu_init (void)
 {
-	/*
-	 * setup up stacks if necessary
-	 */
-#ifdef CONFIG_USE_IRQ
-	IRQ_STACK_START = _armboot_start - CONFIG_SYS_MALLOC_LEN - CONFIG_SYS_GBL_DATA_SIZE - 4;
-	FIQ_STACK_START = IRQ_STACK_START - CONFIG_STACKSIZE_IRQ;
-#endif
 	return 0;
 }
 
diff --git a/cpu/sa1100/cpu.c b/cpu/sa1100/cpu.c
index ed1a6f7..39285a0 100644
--- a/cpu/sa1100/cpu.c
+++ b/cpu/sa1100/cpu.c
@@ -42,13 +42,6 @@ static void cache_flush(void);
 
 int cpu_init (void)
 {
-	/*
-	 * setup up stacks if necessary
-	 */
-#ifdef CONFIG_USE_IRQ
-	IRQ_STACK_START = _armboot_start - CONFIG_SYS_MALLOC_LEN - CONFIG_SYS_GBL_DATA_SIZE - 4;
-	FIQ_STACK_START = IRQ_STACK_START - CONFIG_STACKSIZE_IRQ;
-#endif
 	return 0;
 }
 
diff --git a/include/asm-arm/u-boot-arm.h b/include/asm-arm/u-boot-arm.h
index 238d408..76f1ffa 100644
--- a/include/asm-arm/u-boot-arm.h
+++ b/include/asm-arm/u-boot-arm.h
@@ -58,6 +58,7 @@ void	setup_revision_tag (struct tag **params);
 int	setenv		(char *, char *);
 
 /* cpu/.../interrupt.c */
+int	arch_interrupt_init	(void);
 void	reset_timer_masked	(void);
 ulong	get_timer_masked	(void);
 void	udelay_masked		(unsigned long usec);
diff --git a/lib_arm/interrupts.c b/lib_arm/interrupts.c
index 4dafbfa..d26b724 100644
--- a/lib_arm/interrupts.c
+++ b/lib_arm/interrupts.c
@@ -39,6 +39,19 @@
 #include <asm/proc-armv/ptrace.h>
 
 #ifdef CONFIG_USE_IRQ
+DECLARE_GLOBAL_DATA_PTR;
+
+int interrupt_init (void)
+{
+	/*
+	 * setup up stacks if necessary
+	 */
+	IRQ_STACK_START = _armboot_start - CONFIG_SYS_MALLOC_LEN - CONFIG_SYS_GBL_DATA_SIZE - 4;
+	FIQ_STACK_START = IRQ_STACK_START - CONFIG_STACKSIZE_IRQ;
+
+	return arch_interrupt_init();
+}
+
 /* enable IRQ interrupts */
 void enable_interrupts (void)
 {
-- 
1.6.2.4

^ permalink raw reply related	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2009-05-12  1:18 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-05-09 13:35 [U-Boot] [PATCH 1/6] arm: unify interrupt init Jean-Christophe PLAGNIOL-VILLARD
2009-05-09 13:35 ` [U-Boot] [PATCH 2/6] arm: remove cpu_init Jean-Christophe PLAGNIOL-VILLARD
2009-05-09 13:35   ` [U-Boot] [PATCH 3/6] s3c4510b: move interrupts code to soc Jean-Christophe PLAGNIOL-VILLARD
2009-05-09 13:35     ` [U-Boot] [PATCH 4/6] lpc2292: " Jean-Christophe PLAGNIOL-VILLARD
2009-05-09 13:35       ` [U-Boot] [PATCH 5/6] arm920t/interrupts: Move conditional compilation to Makefile Jean-Christophe PLAGNIOL-VILLARD
2009-05-09 13:35         ` [U-Boot] [PATCH 6/6] S3C24x0: extract interrupts from timer Jean-Christophe PLAGNIOL-VILLARD
2009-05-09 18:26     ` [U-Boot] [PATCH 3/6] s3c4510b: move interrupts code to soc Wolfgang Denk
2009-05-10 14:40       ` Jean-Christophe PLAGNIOL-VILLARD
2009-05-10 19:39         ` Wolfgang Denk
2009-05-10 20:49           ` Jean-Christophe PLAGNIOL-VILLARD
2009-05-12  1:18             ` Jean-Christophe PLAGNIOL-VILLARD
2009-05-10  7:42   ` [U-Boot] [PATCH 2/6] arm: remove cpu_init Dirk Behme
2009-05-10 14:44     ` Jean-Christophe PLAGNIOL-VILLARD
2009-05-10  7:42 ` [U-Boot] [PATCH 1/6] arm: unify interrupt init Dirk Behme
2009-05-10 14:42   ` Jean-Christophe PLAGNIOL-VILLARD

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox