Trying to build the Intel SCU Watchdog fails for me with gcc 4.6.0 - $ gcc --version | head -n 1 gcc (GCC) 4.6.0 20110513 (prerelease) like this : CC drivers/watchdog/intel_scu_watchdog.o In file included from drivers/watchdog/intel_scu_watchdog.c:49:0: /home/jj/src/linux-2.6/arch/x86/include/asm/apb_timer.h: In function ʽapbt_time_initʼ: /home/jj/src/linux-2.6/arch/x86/include/asm/apb_timer.h:65:42: warning: ʽreturnʼ with a value, in function returning void [enabled by default] drivers/watchdog/intel_scu_watchdog.c: In function ʽintel_scu_watchdog_initʼ: drivers/watchdog/intel_scu_watchdog.c:468:2: error: implicit declaration of function ʽsfi_get_mtmrʼ [-Werror=implicit-function-declaration] drivers/watchdog/intel_scu_watchdog.c:468:32: warning: assignment makes pointer from integer without a cast [enabled by default] cc1: some warnings being treated as errors make[1]: *** [drivers/watchdog/intel_scu_watchdog.o] Error 1 make: *** [drivers/watchdog/intel_scu_watchdog.o] Error 2 Additionally, linux/types.h is needlessly being included twice in drivers/watchdog/intel_scu_watchdog.c This patch fixes it all and I can now build the code. Signed-off-by: Jesper Juhl <jj@xxxxxxxxxxxxx> --- arch/x86/include/asm/apb_timer.h | 2 +- drivers/watchdog/intel_scu_watchdog.c | 1 - drivers/watchdog/intel_scu_watchdog.h | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) Patch has been compile tested only. diff --git a/arch/x86/include/asm/apb_timer.h b/arch/x86/include/asm/apb_timer.h index 2fefa50..af60d8a 100644 --- a/arch/x86/include/asm/apb_timer.h +++ b/arch/x86/include/asm/apb_timer.h @@ -62,7 +62,7 @@ extern int sfi_mtimer_num; #else /* CONFIG_APB_TIMER */ static inline unsigned long apbt_quick_calibrate(void) {return 0; } -static inline void apbt_time_init(void) {return 0; } +static inline void apbt_time_init(void) { } #endif #endif /* ASM_X86_APBT_H */ diff --git a/drivers/watchdog/intel_scu_watchdog.c b/drivers/watchdog/intel_scu_watchdog.c index 919bdd1..ba43860 100644 --- a/drivers/watchdog/intel_scu_watchdog.c +++ b/drivers/watchdog/intel_scu_watchdog.c @@ -42,7 +42,6 @@ #include <linux/sched.h> #include <linux/signal.h> #include <linux/sfi.h> -#include <linux/types.h> #include <asm/irq.h> #include <asm/atomic.h> #include <asm/intel_scu_ipc.h> diff --git a/drivers/watchdog/intel_scu_watchdog.h b/drivers/watchdog/intel_scu_watchdog.h index d2b074a..a9ca0d7 100644 --- a/drivers/watchdog/intel_scu_watchdog.h +++ b/drivers/watchdog/intel_scu_watchdog.h @@ -62,5 +62,5 @@ struct intel_scu_watchdog_dev { extern int sfi_mtimer_num; -/* extern struct sfi_timer_table_entry *sfi_get_mtmr(int hint); */ +extern struct sfi_timer_table_entry *sfi_get_mtmr(int hint); #endif /* __INTEL_SCU_WATCHDOG_H */ -- Jesper Juhl <jj@xxxxxxxxxxxxx> http://www.chaosbits.net/ Don't top-post http://www.catb.org/jargon/html/T/top-post.html Plain text mails only, please.