diff options
Diffstat (limited to 'arch/blackfin/lib/cpu.c')
-rw-r--r-- | arch/blackfin/lib/cpu.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/arch/blackfin/lib/cpu.c b/arch/blackfin/lib/cpu.c index 9d4c6e3e89..34b93e78ac 100644 --- a/arch/blackfin/lib/cpu.c +++ b/arch/blackfin/lib/cpu.c @@ -27,8 +27,9 @@ #include <asm/entry.h> #include <asm/cpu.h> #include <init.h> +#include <restart.h> -void __noreturn reset_cpu(unsigned long addr) +static void __noreturn blackfin_restart_cpu(struct restart_handler *rst) { icache_disable(); @@ -41,9 +42,17 @@ void __noreturn reset_cpu(unsigned long addr) ); /* Not reached */ - while (1); + hang(); } +static int restart_register_feature(void) +{ + restart_handler_register_fn(blackfin_restart_cpu); + + return 0; +} +coredevice_initcall(restart_register_feature); + void icache_disable(void) { #ifdef __ADSPBF537__ |