diff --git a/arch/blackfin/cpu/cpu.h b/arch/blackfin/cpu/cpu.h index ba85e0b9a5cf07808a62048e456b65ca938493b6..e70560f4de19d185869f9d4abc3ae5dd300b1ad4 100644 --- a/arch/blackfin/cpu/cpu.h +++ b/arch/blackfin/cpu/cpu.h @@ -28,7 +28,6 @@ #include <command.h> void board_reset(void) __attribute__((__weak__)); -void bfin_reset_or_hang(void) __attribute__((__noreturn__)); void bfin_dump(struct pt_regs *reg); void bfin_panic(struct pt_regs *reg); void dump(struct pt_regs *regs); diff --git a/arch/blackfin/cpu/reset.c b/arch/blackfin/cpu/reset.c index 164afde33138dd00fde5d22b99e0e2651a9f7b77..9307e9f9e2005670f28549820e82215e989cf240 100644 --- a/arch/blackfin/cpu/reset.c +++ b/arch/blackfin/cpu/reset.c @@ -80,27 +80,11 @@ static void bfin_reset(void) * PC relative call with a 25 bit immediate. This is not enough * to get us from the top of SDRAM into L1. */ -__attribute__ ((__noreturn__)) -static inline void bfin_reset_trampoline(void) +int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) { if (board_reset) board_reset(); while (1) asm("jump (%0);" : : "a" (bfin_reset)); -} - -__attribute__ ((__noreturn__)) -void bfin_reset_or_hang(void) -{ -#ifdef CONFIG_PANIC_HANG - hang(); -#else - bfin_reset_trampoline(); -#endif -} - -int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) -{ - bfin_reset_trampoline(); return 0; } diff --git a/arch/blackfin/cpu/traps.c b/arch/blackfin/cpu/traps.c index 09388aa3d53a15ed8b34d188732ee31eded5499f..0cb833a0e43f0db3fb4daaf0b8e17a5662ac510d 100644 --- a/arch/blackfin/cpu/traps.c +++ b/arch/blackfin/cpu/traps.c @@ -426,5 +426,5 @@ void bfin_panic(struct pt_regs *regs) unsigned long tflags; trace_buffer_save(tflags); bfin_dump(regs); - bfin_reset_or_hang(); + panic("PANIC: Blackfin internal error"); }