[PATCH] Intel SCU Watchdog: Fix build failure and duplicateinclude

From: Jesper Juhl
Date: Thu May 26 2011 - 05:20:38 EST


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.