From: Kumar Gala Renamed global variables used to convey if the watchdog is enabled and periodicity of the timer and moved the declarations into a header for these variables Signed-off-by: Matt McClintock Signed-off-by: Kumar Gala Signed-off-by: Andrew Morton --- arch/ppc/kernel/setup.c | 8 ++------ drivers/char/watchdog/Kconfig | 3 +++ drivers/char/watchdog/booke_wdt.c | 23 ++++++++++++----------- include/asm-ppc/system.h | 4 ++++ 4 files changed, 21 insertions(+), 17 deletions(-) diff -puN arch/ppc/kernel/setup.c~ppc32-cleaned-up-global-namespace-of-book-e-watchdog arch/ppc/kernel/setup.c --- 25/arch/ppc/kernel/setup.c~ppc32-cleaned-up-global-namespace-of-book-e-watchdog Wed Aug 17 15:29:50 2005 +++ 25-akpm/arch/ppc/kernel/setup.c Wed Aug 17 15:29:50 2005 @@ -623,10 +623,8 @@ machine_init(unsigned long r3, unsigned /* Checks wdt=x and wdt_period=xx command-line option */ int __init early_parse_wdt(char *p) { - extern u32 wdt_enable; - if (p && strncmp(p, "0", 1) != 0) - wdt_enable = 1; + booke_wdt_enabled = 1; return 0; } @@ -634,10 +632,8 @@ early_param("wdt", early_parse_wdt); int __init early_parse_wdt_period (char *p) { - extern u32 wdt_period; - if (p) - wdt_period = simple_strtoul(p, NULL, 0); + booke_wdt_period = simple_strtoul(p, NULL, 0); return 0; } diff -puN drivers/char/watchdog/booke_wdt.c~ppc32-cleaned-up-global-namespace-of-book-e-watchdog drivers/char/watchdog/booke_wdt.c --- 25/drivers/char/watchdog/booke_wdt.c~ppc32-cleaned-up-global-namespace-of-book-e-watchdog Wed Aug 17 15:29:50 2005 +++ 25-akpm/drivers/char/watchdog/booke_wdt.c Wed Aug 17 15:29:50 2005 @@ -23,6 +23,7 @@ #include #include +#include /* If the kernel parameter wdt_enable=1, the watchdog will be enabled at boot. * Also, the wdt_period sets the watchdog timer period timeout. @@ -38,8 +39,8 @@ #define WDT_PERIOD_DEFAULT 4 /* Refer to the PPC40x and PPC4xx manuals */ #endif /* for timing information */ -u32 wdt_enable = 0; -u32 wdt_period = WDT_PERIOD_DEFAULT; +u32 booke_wdt_enabled = 0; +u32 booke_wdt_period = WDT_PERIOD_DEFAULT; #ifdef CONFIG_FSL_BOOKE #define WDTP(x) ((((63-x)&0x3)<<30)|(((63-x)&0x3c)<<15)) @@ -55,7 +56,7 @@ static __inline__ void booke_wdt_enable( u32 val; val = mfspr(SPRN_TCR); - val |= (TCR_WIE|TCR_WRC(WRC_CHIP)|WDTP(wdt_period)); + val |= (TCR_WIE|TCR_WRC(WRC_CHIP)|WDTP(booke_wdt_period)); mtspr(SPRN_TCR, val); } @@ -108,12 +109,12 @@ static int booke_wdt_ioctl (struct inode booke_wdt_ping(); return 0; case WDIOC_SETTIMEOUT: - if (get_user(wdt_period, (u32 *) arg)) + if (get_user(booke_wdt_period, (u32 *) arg)) return -EFAULT; - mtspr(SPRN_TCR, (mfspr(SPRN_TCR)&~WDTP(0))|WDTP(wdt_period)); + mtspr(SPRN_TCR, (mfspr(SPRN_TCR)&~WDTP(0))|WDTP(booke_wdt_period)); return 0; case WDIOC_GETTIMEOUT: - return put_user(wdt_period, (u32 *) arg); + return put_user(booke_wdt_period, (u32 *) arg); case WDIOC_SETOPTIONS: if (get_user(tmp, (u32 *) arg)) return -EINVAL; @@ -134,11 +135,11 @@ static int booke_wdt_ioctl (struct inode */ static int booke_wdt_open (struct inode *inode, struct file *file) { - if (wdt_enable == 0) { - wdt_enable = 1; + if (booke_wdt_enabled == 0) { + booke_wdt_enabled = 1; booke_wdt_enable(); printk (KERN_INFO "PowerPC Book-E Watchdog Timer Enabled (wdt_period=%d)\n", - wdt_period); + booke_wdt_period); } return 0; @@ -180,9 +181,9 @@ static int __init booke_wdt_init(void) return ret; } - if (wdt_enable == 1) { + if (booke_wdt_enabled == 1) { printk (KERN_INFO "PowerPC Book-E Watchdog Timer Enabled (wdt_period=%d)\n", - wdt_period); + booke_wdt_period); booke_wdt_enable(); } diff -puN drivers/char/watchdog/Kconfig~ppc32-cleaned-up-global-namespace-of-book-e-watchdog drivers/char/watchdog/Kconfig --- 25/drivers/char/watchdog/Kconfig~ppc32-cleaned-up-global-namespace-of-book-e-watchdog Wed Aug 17 15:29:50 2005 +++ 25-akpm/drivers/char/watchdog/Kconfig Wed Aug 17 15:29:50 2005 @@ -363,6 +363,9 @@ config MV64X60_WDT config BOOKE_WDT tristate "PowerPC Book-E Watchdog Timer" depends on WATCHDOG && (BOOKE || 4xx) + ---help--- + Please see Documentation/watchdog/watchdog-api.txt for + more information. # MIPS Architecture diff -puN include/asm-ppc/system.h~ppc32-cleaned-up-global-namespace-of-book-e-watchdog include/asm-ppc/system.h --- 25/include/asm-ppc/system.h~ppc32-cleaned-up-global-namespace-of-book-e-watchdog Wed Aug 17 15:29:50 2005 +++ 25-akpm/include/asm-ppc/system.h Wed Aug 17 15:29:50 2005 @@ -87,6 +87,10 @@ extern void cacheable_memzero(void *p, u extern int do_page_fault(struct pt_regs *, unsigned long, unsigned long); extern void bad_page_fault(struct pt_regs *, unsigned long, int); extern void die(const char *, struct pt_regs *, long); +#ifdef CONFIG_BOOKE_WDT +extern u32 booke_wdt_enabled; +extern u32 booke_wdt_period; +#endif /* CONFIG_BOOKE_WDT */ struct device_node; extern void note_scsi_host(struct device_node *, void *); _