diff mbox series

[1/3] common/board_r: arm: Merge initr_enable_interrupts into interrupts_init

Message ID 20200418060804.28998-1-ovpanait@gmail.com
State Superseded
Headers show
Series [1/3] common/board_r: arm: Merge initr_enable_interrupts into interrupts_init | expand

Commit Message

Ovidiu Panait April 18, 2020, 6:08 a.m. UTC
initr_enable_interrupts() is an ARM-specific wrapper over enable_interrupts(),
which is run during the common init sequence. It can be eliminated by moving
the enable_interrupts() call to the end of interrupt_init() function, in
arch/arm/lib/interrupts*.c.

Signed-off-by: Ovidiu Panait <ovpanait at gmail.com>
---
 arch/arm/lib/interrupts.c    |  2 ++
 arch/arm/lib/interrupts_64.c |  2 ++
 arch/arm/lib/interrupts_m.c  |  2 ++
 common/board_r.c             | 12 ------------
 4 files changed, 6 insertions(+), 12 deletions(-)

Comments

Simon Glass April 19, 2020, 11:38 p.m. UTC | #1
On Sat, 18 Apr 2020 at 00:08, Ovidiu Panait <ovpanait at gmail.com> wrote:
>
> initr_enable_interrupts() is an ARM-specific wrapper over enable_interrupts(),
> which is run during the common init sequence. It can be eliminated by moving
> the enable_interrupts() call to the end of interrupt_init() function, in
> arch/arm/lib/interrupts*.c.
>
> Signed-off-by: Ovidiu Panait <ovpanait at gmail.com>
> ---
>  arch/arm/lib/interrupts.c    |  2 ++
>  arch/arm/lib/interrupts_64.c |  2 ++
>  arch/arm/lib/interrupts_m.c  |  2 ++
>  common/board_r.c             | 12 ------------
>  4 files changed, 6 insertions(+), 12 deletions(-)
>

Reviewed-by: Simon Glass <sjg at chromium.org>
diff mbox series

Patch

diff --git a/arch/arm/lib/interrupts.c b/arch/arm/lib/interrupts.c
index 6dbf03b00c..36299d6e54 100644
--- a/arch/arm/lib/interrupts.c
+++ b/arch/arm/lib/interrupts.c
@@ -34,6 +34,8 @@  int interrupt_init(void)
 	 */
 	IRQ_STACK_START_IN = gd->irq_sp + 8;
 
+	enable_interrupts();
+
 	return 0;
 }
 
diff --git a/arch/arm/lib/interrupts_64.c b/arch/arm/lib/interrupts_64.c
index dffdf57aa2..a2df7cf193 100644
--- a/arch/arm/lib/interrupts_64.c
+++ b/arch/arm/lib/interrupts_64.c
@@ -13,6 +13,8 @@  DECLARE_GLOBAL_DATA_PTR;
 
 int interrupt_init(void)
 {
+	enable_interrupts();
+
 	return 0;
 }
 
diff --git a/arch/arm/lib/interrupts_m.c b/arch/arm/lib/interrupts_m.c
index 1f6fdf2995..2ae1c5ba76 100644
--- a/arch/arm/lib/interrupts_m.c
+++ b/arch/arm/lib/interrupts_m.c
@@ -31,6 +31,8 @@  struct autosave_regs {
 
 int interrupt_init(void)
 {
+	enable_interrupts();
+
 	return 0;
 }
 
diff --git a/common/board_r.c b/common/board_r.c
index 0bbeaa7594..bdb0389e31 100644
--- a/common/board_r.c
+++ b/common/board_r.c
@@ -518,15 +518,6 @@  static int initr_api(void)
 }
 #endif
 
-/* enable exceptions */
-#ifdef CONFIG_ARM
-static int initr_enable_interrupts(void)
-{
-	enable_interrupts();
-	return 0;
-}
-#endif
-
 #ifdef CONFIG_CMD_NET
 static int initr_ethaddr(void)
 {
@@ -813,9 +804,6 @@  static init_fnc_t init_sequence_r[] = {
 	initr_kgdb,
 #endif
 	interrupt_init,
-#ifdef CONFIG_ARM
-	initr_enable_interrupts,
-#endif
 #if defined(CONFIG_MICROBLAZE) || defined(CONFIG_M68K)
 	timer_init,		/* initialize timer */
 #endif