diff options
| -rw-r--r-- | arch/m68k/lib/board.c | 1 | ||||
| -rw-r--r-- | arch/powerpc/lib/board.c | 11 | ||||
| -rw-r--r-- | arch/sh/lib/board.c | 1 | ||||
| -rw-r--r-- | include/watchdog.h | 18 | 
4 files changed, 22 insertions, 9 deletions
| diff --git a/arch/m68k/lib/board.c b/arch/m68k/lib/board.c index b676255dd..adaccfe69 100644 --- a/arch/m68k/lib/board.c +++ b/arch/m68k/lib/board.c @@ -80,6 +80,7 @@ extern ulong __init_end;  extern ulong __bss_end;  #if defined(CONFIG_WATCHDOG) +# undef INIT_FUNC_WATCHDOG_INIT  # define INIT_FUNC_WATCHDOG_INIT	watchdog_init,  # define WATCHDOG_DISABLE		watchdog_disable diff --git a/arch/powerpc/lib/board.c b/arch/powerpc/lib/board.c index 0b23d30b8..acb6fdbf6 100644 --- a/arch/powerpc/lib/board.c +++ b/arch/powerpc/lib/board.c @@ -237,25 +237,18 @@ static int init_func_spi(void)  /***********************************************************************/  #if defined(CONFIG_WATCHDOG) -static int init_func_watchdog_init(void) +int init_func_watchdog_init(void)  {  	puts("       Watchdog enabled\n");  	WATCHDOG_RESET();  	return 0;  } -#define INIT_FUNC_WATCHDOG_INIT	init_func_watchdog_init, - -static int init_func_watchdog_reset(void) +int init_func_watchdog_reset(void)  {  	WATCHDOG_RESET();  	return 0;  } - -#define INIT_FUNC_WATCHDOG_RESET	init_func_watchdog_reset, -#else -#define INIT_FUNC_WATCHDOG_INIT		/* undef */ -#define INIT_FUNC_WATCHDOG_RESET	/* undef */  #endif /* CONFIG_WATCHDOG */  /* diff --git a/arch/sh/lib/board.c b/arch/sh/lib/board.c index 34d7881f4..6e43acfbd 100644 --- a/arch/sh/lib/board.c +++ b/arch/sh/lib/board.c @@ -65,6 +65,7 @@ static int sh_flash_init(void)  #if defined(CONFIG_WATCHDOG)  extern int watchdog_init(void);  extern int watchdog_disable(void); +# undef INIT_FUNC_WATCHDOG_INIT  # define INIT_FUNC_WATCHDOG_INIT	watchdog_init,  # define WATCHDOG_DISABLE       	watchdog_disable  #else diff --git a/include/watchdog.h b/include/watchdog.h index 8c92a0b31..97ec186be 100644 --- a/include/watchdog.h +++ b/include/watchdog.h @@ -27,6 +27,24 @@  #ifndef _WATCHDOG_H_  #define _WATCHDOG_H_ +#if !defined(__ASSEMBLY__) +/* + * Reset the watchdog timer, always returns 0 + * + * This function is here since it is shared between board_f() and board_r(), + * and the legacy arch/<arch>/board.c code. + */ +int init_func_watchdog_reset(void); +#endif + +#ifdef CONFIG_WATCHDOG +#define INIT_FUNC_WATCHDOG_INIT	init_func_watchdog_init, +#define INIT_FUNC_WATCHDOG_RESET	init_func_watchdog_reset, +#else +#define INIT_FUNC_WATCHDOG_INIT +#define INIT_FUNC_WATCHDOG_RESET +#endif +  #if defined(CONFIG_HW_WATCHDOG) && defined(CONFIG_WATCHDOG)  #  error "Configuration error: CONFIG_HW_WATCHDOG and CONFIG_WATCHDOG can't be used together."  #endif |