diff -urpN -X ../dontdiff linux-2.6.20-rmk-12feb2007-s3c2443-4/include/asm-arm/arch-s3c2410/reset.h linux-2.6.20-rmk-12feb2007-s3c2443-5/include/asm-arm/arch-s3c2410/reset.h --- linux-2.6.20-rmk-12feb2007-s3c2443-4/include/asm-arm/arch-s3c2410/reset.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.20-rmk-12feb2007-s3c2443-5/include/asm-arm/arch-s3c2410/reset.h 2007-02-15 21:33:22.000000000 +0000 @@ -0,0 +1,22 @@ +/* linux/include/asm-arm/arch-s3c2410/reset.h + * + * Copyright (c) 2007 Simtec Electronics + * Ben Dooks + * http://armlinux.simtec.co.uk/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * S3C2410 CPU reset controls +*/ + +#ifndef __ASM_ARCH_RESET_H +#define __ASM_ARCH_RESET_H __FILE__ + +/* This allows the over-ride of the default reset code +*/ + +extern void (*s3c24xx_reset_hook)(void); + +#endif /* __ASM_ARCH_RESET_H */ diff -urpN -X ../dontdiff linux-2.6.20-rmk-12feb2007-s3c2443-4/include/asm-arm/arch-s3c2410/system.h linux-2.6.20-rmk-12feb2007-s3c2443-5/include/asm-arm/arch-s3c2410/system.h --- linux-2.6.20-rmk-12feb2007-s3c2443-4/include/asm-arm/arch-s3c2410/system.h 2007-02-04 18:44:54.000000000 +0000 +++ linux-2.6.20-rmk-12feb2007-s3c2443-5/include/asm-arm/arch-s3c2410/system.h 2007-02-15 21:44:58.000000000 +0000 @@ -15,11 +15,13 @@ #include #include +#include #include #include void (*s3c24xx_idle)(void); +void (*s3c24xx_reset_hook)(void); void s3c24xx_default_idle(void) { @@ -53,7 +55,6 @@ static void arch_idle(void) s3c24xx_default_idle(); } - static void arch_reset(char mode) { @@ -61,6 +62,9 @@ arch_reset(char mode) cpu_reset(0); } + if (s3c24xx_reset_hook) + s3c24xx_reset_hook(); + printk("arch_reset: attempting watchdog reset\n"); __raw_writel(0, S3C2410_WTCON); /* disable watchdog, to be safe */