diff options
author | Michal Simek <michal.simek@xilinx.com> | 2013-10-16 09:06:32 +0200 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2013-10-16 09:24:38 -0400 |
commit | 8c4dba1a5e5ff67380ae8d54fd5756e44dc2da59 (patch) | |
tree | 3d6eb0b2ff42179bad5e5d9da3127d855c22726b | |
parent | 100ea07e331b7898dc774aeba108d66bdd5a5cf5 (diff) | |
download | u-boot-imx-8c4dba1a5e5ff67380ae8d54fd5756e44dc2da59.zip u-boot-imx-8c4dba1a5e5ff67380ae8d54fd5756e44dc2da59.tar.gz u-boot-imx-8c4dba1a5e5ff67380ae8d54fd5756e44dc2da59.tar.bz2 |
microblaze: Fix watchdog initialization
The patch:
"blackfin: Move blackfin watchdog driver out of the blackfin arch folder."
(sha1: e9a389a18477c1c57a0b30e9ea8f4d38c6e26e63)
changed hw_watchdog_init() prototype which didn't match
with Microblaze one.
This patch fixes the driver and Microblaze initialization.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
-rw-r--r-- | arch/microblaze/include/asm/processor.h | 1 | ||||
-rw-r--r-- | arch/microblaze/lib/board.c | 6 | ||||
-rw-r--r-- | drivers/watchdog/xilinx_tb_wdt.c | 6 |
3 files changed, 5 insertions, 8 deletions
diff --git a/arch/microblaze/include/asm/processor.h b/arch/microblaze/include/asm/processor.h index a2a5811..5afc8f9 100644 --- a/arch/microblaze/include/asm/processor.h +++ b/arch/microblaze/include/asm/processor.h @@ -16,7 +16,6 @@ extern char __text_start[]; void board_init(void); /* Watchdog functions */ -extern int hw_watchdog_init(void); extern void hw_watchdog_disable(void); #endif /* __ASM_MICROBLAZE_PROCESSOR_H */ diff --git a/arch/microblaze/lib/board.c b/arch/microblaze/lib/board.c index f7182f2..896e73a 100644 --- a/arch/microblaze/lib/board.c +++ b/arch/microblaze/lib/board.c @@ -46,9 +46,6 @@ init_fnc_t *init_sequence[] = { serial_init, console_init_f, interrupts_init, -#ifdef CONFIG_XILINX_TB_WATCHDOG - hw_watchdog_init, -#endif timer_init, NULL, }; @@ -97,6 +94,9 @@ void board_init_f(ulong not_used) serial_initialize(); +#ifdef CONFIG_XILINX_TB_WATCHDOG + hw_watchdog_init(); +#endif for (init_fnc_ptr = init_sequence; *init_fnc_ptr; ++init_fnc_ptr) { WATCHDOG_RESET(); if ((*init_fnc_ptr) () != 0) diff --git a/drivers/watchdog/xilinx_tb_wdt.c b/drivers/watchdog/xilinx_tb_wdt.c index 4e46e4c..6336c94 100644 --- a/drivers/watchdog/xilinx_tb_wdt.c +++ b/drivers/watchdog/xilinx_tb_wdt.c @@ -54,7 +54,7 @@ static void hw_watchdog_isr(void *arg) hw_watchdog_reset(); } -int hw_watchdog_init(void) +void hw_watchdog_init(void) { int ret; @@ -65,7 +65,5 @@ int hw_watchdog_init(void) ret = install_interrupt_handler(CONFIG_WATCHDOG_IRQ, hw_watchdog_isr, NULL); if (ret) - return 1; - - return 0; + puts("Watchdog IRQ registration failed."); } |