From patchwork Sat Apr 18 06:08:02 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ovidiu Panait X-Patchwork-Id: 237971 List-Id: U-Boot discussion From: ovpanait at gmail.com (Ovidiu Panait) Date: Sat, 18 Apr 2020 09:08:02 +0300 Subject: [PATCH 1/3] common/board_r: arm: Merge initr_enable_interrupts into interrupts_init Message-ID: <20200418060804.28998-1-ovpanait@gmail.com> 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 Reviewed-by: Simon Glass --- 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(-) 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 From patchwork Sat Apr 18 06:08:03 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ovidiu Panait X-Patchwork-Id: 237972 List-Id: U-Boot discussion From: ovpanait at gmail.com (Ovidiu Panait) Date: Sat, 18 Apr 2020 09:08:03 +0300 Subject: [PATCH 2/3] cmd/bedbug.c: Make bedbug_init have a return value In-Reply-To: <20200418060804.28998-1-ovpanait@gmail.com> References: <20200418060804.28998-1-ovpanait@gmail.com> Message-ID: <20200418060804.28998-2-ovpanait@gmail.com> Do this as a preparation for removing initr_bedbug wrapper from common/board_r.c. Signed-off-by: Ovidiu Panait Reviewed-by: Simon Glass --- cmd/bedbug.c | 4 ++-- include/bedbug/type.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cmd/bedbug.c b/cmd/bedbug.c index 9fee528830..7cb6378352 100644 --- a/cmd/bedbug.c +++ b/cmd/bedbug.c @@ -44,10 +44,10 @@ int bedbug_puts (const char *str) * settings. * ====================================================================== */ -void bedbug_init (void) +int bedbug_init (void) { /* -------------------------------------------------- */ - return; + return 0; } /* bedbug_init */ diff --git a/include/bedbug/type.h b/include/bedbug/type.h index b7b447b1fe..5008b40ca8 100644 --- a/include/bedbug/type.h +++ b/include/bedbug/type.h @@ -3,7 +3,7 @@ /* Supporting routines */ int bedbug_puts (const char *); -void bedbug_init (void); +int bedbug_init (void); void bedbug860_init (void); void do_bedbug_breakpoint (struct pt_regs *); void bedbug_main_loop (unsigned long, struct pt_regs *); From patchwork Sat Apr 18 06:08:04 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ovidiu Panait X-Patchwork-Id: 237973 List-Id: U-Boot discussion From: ovpanait at gmail.com (Ovidiu Panait) Date: Sat, 18 Apr 2020 09:08:04 +0300 Subject: [PATCH 3/3] common/board_r: Drop initr_bedbug wrapper In-Reply-To: <20200418060804.28998-1-ovpanait@gmail.com> References: <20200418060804.28998-1-ovpanait@gmail.com> Message-ID: <20200418060804.28998-3-ovpanait@gmail.com> Drop initr_bedbug wrapper and call bedbug_init directly during the init sequence. Signed-off-by: Ovidiu Panait Reviewed-by: Simon Glass --- common/board_r.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/common/board_r.c b/common/board_r.c index bdb0389e31..d9015cd057 100644 --- a/common/board_r.c +++ b/common/board_r.c @@ -637,15 +637,6 @@ int initr_mem(void) } #endif -#ifdef CONFIG_CMD_BEDBUG -static int initr_bedbug(void) -{ - bedbug_init(); - - return 0; -} -#endif - static int run_main_loop(void) { #ifdef CONFIG_SANDBOX @@ -848,7 +839,7 @@ static init_fnc_t init_sequence_r[] = { #endif #ifdef CONFIG_CMD_BEDBUG INIT_FUNC_WATCHDOG_RESET - initr_bedbug, + bedbug_init, #endif #if defined(CONFIG_PRAM) initr_mem,