Declare watchdog functions in watchdog.h

These functions are only available for powerpc and are not declared in a
header file. We want to use the rest function in two places (board_f and
board_r), so declare the functions in watchdog.h.

Signed-off-by: Simon Glass <sjg@chromium.org>
master
Simon Glass 12 years ago committed by Tom Rini
parent 5c1a7ea6ad
commit a6741bce50
  1. 1
      arch/m68k/lib/board.c
  2. 11
      arch/powerpc/lib/board.c
  3. 1
      arch/sh/lib/board.c
  4. 18
      include/watchdog.h

@ -80,6 +80,7 @@ extern ulong __init_end;
extern ulong __bss_end; extern ulong __bss_end;
#if defined(CONFIG_WATCHDOG) #if defined(CONFIG_WATCHDOG)
# undef INIT_FUNC_WATCHDOG_INIT
# define INIT_FUNC_WATCHDOG_INIT watchdog_init, # define INIT_FUNC_WATCHDOG_INIT watchdog_init,
# define WATCHDOG_DISABLE watchdog_disable # define WATCHDOG_DISABLE watchdog_disable

@ -237,25 +237,18 @@ static int init_func_spi(void)
/***********************************************************************/ /***********************************************************************/
#if defined(CONFIG_WATCHDOG) #if defined(CONFIG_WATCHDOG)
static int init_func_watchdog_init(void) int init_func_watchdog_init(void)
{ {
puts(" Watchdog enabled\n"); puts(" Watchdog enabled\n");
WATCHDOG_RESET(); WATCHDOG_RESET();
return 0; return 0;
} }
#define INIT_FUNC_WATCHDOG_INIT init_func_watchdog_init, int init_func_watchdog_reset(void)
static int init_func_watchdog_reset(void)
{ {
WATCHDOG_RESET(); WATCHDOG_RESET();
return 0; 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 */ #endif /* CONFIG_WATCHDOG */
/* /*

@ -65,6 +65,7 @@ static int sh_flash_init(void)
#if defined(CONFIG_WATCHDOG) #if defined(CONFIG_WATCHDOG)
extern int watchdog_init(void); extern int watchdog_init(void);
extern int watchdog_disable(void); extern int watchdog_disable(void);
# undef INIT_FUNC_WATCHDOG_INIT
# define INIT_FUNC_WATCHDOG_INIT watchdog_init, # define INIT_FUNC_WATCHDOG_INIT watchdog_init,
# define WATCHDOG_DISABLE watchdog_disable # define WATCHDOG_DISABLE watchdog_disable
#else #else

@ -27,6 +27,24 @@
#ifndef _WATCHDOG_H_ #ifndef _WATCHDOG_H_
#define _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) #if defined(CONFIG_HW_WATCHDOG) && defined(CONFIG_WATCHDOG)
# error "Configuration error: CONFIG_HW_WATCHDOG and CONFIG_WATCHDOG can't be used together." # error "Configuration error: CONFIG_HW_WATCHDOG and CONFIG_WATCHDOG can't be used together."
#endif #endif

Loading…
Cancel
Save