diff mbox series

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

Message ID 20200420073146.29787-1-ovpanait@gmail.com
State Accepted
Commit 5cf9e3b237f24e66ff1a657e954ffe3dc92e09eb
Headers show
Series [v2,1/3] common/board_r: arm: Merge initr_enable_interrupts into interrupts_init | expand

Commit Message

Ovidiu Panait April 20, 2020, 7:31 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>
Reviewed-by: Simon Glass <sjg at chromium.org>
---
v2 updates:
  - add reviewed-by tag

 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

Tom Rini May 1, 2020, 9:55 p.m. UTC | #1
On Mon, Apr 20, 2020 at 10:31:44AM +0300, Ovidiu Panait 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>
> Reviewed-by: Simon Glass <sjg at chromium.org>

Applied to u-boot/master, thanks!
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