Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d652074ebcedd13c7ce760c7f3327f30862852fb Commit: d652074ebcedd13c7ce760c7f3327f30862852fb Parent: cf08167c82b38ed9f6401e68b3c91fb11496f101 Author: Ben Dooks <[EMAIL PROTECTED]> AuthorDate: Sun Dec 23 03:09:31 2007 +0100 Committer: Russell King <[EMAIL PROTECTED]> CommitDate: Mon Jan 28 13:20:48 2008 +0000
[ARM] 4721/1: S3C24XX: Ensure watchdog clock is enbaled for hard reset If the hard reset routine is using the watchdog, then ensure that the clock for the watchdog has been enabled before we try and issue a reset. Signed-off-by: Ben Dooks <[EMAIL PROTECTED]> Signed-off-by: Russell King <[EMAIL PROTECTED]> --- include/asm-arm/arch-s3c2410/system.h | 11 +++++++++++ 1 files changed, 11 insertions(+), 0 deletions(-) diff --git a/include/asm-arm/arch-s3c2410/system.h b/include/asm-arm/arch-s3c2410/system.h index 6389178..cb9cd9f 100644 --- a/include/asm-arm/arch-s3c2410/system.h +++ b/include/asm-arm/arch-s3c2410/system.h @@ -20,6 +20,9 @@ #include <asm/plat-s3c/regs-watchdog.h> #include <asm/arch/regs-clock.h> +#include <linux/clk.h> +#include <linux/err.h> + void (*s3c24xx_idle)(void); void (*s3c24xx_reset_hook)(void); @@ -59,6 +62,8 @@ static void arch_idle(void) static void arch_reset(char mode) { + struct clk *wdtclk; + if (mode == 's') { cpu_reset(0); } @@ -70,6 +75,12 @@ arch_reset(char mode) __raw_writel(0, S3C2410_WTCON); /* disable watchdog, to be safe */ + wdtclk = clk_get(NULL, "watchdog"); + if (!IS_ERR(wdtclk)) { + clk_enable(wdtclk); + } else + printk(KERN_WARNING "%s: warning: cannot get watchdog clock\n", __func__); + /* put initial values into count and data */ __raw_writel(0x100, S3C2410_WTCNT); __raw_writel(0x100, S3C2410_WTDAT); - To unsubscribe from this list: send the line "unsubscribe git-commits-head" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html