Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[pandora-kernel.git] / arch / arm / mach-u300 / include / mach / system.h
1 /*
2  *
3  * arch/arm/mach-u300/include/mach/system.h
4  *
5  *
6  * Copyright (C) 2007-2009 ST-Ericsson AB
7  * License terms: GNU General Public License (GPL) version 2
8  * System shutdown and reset functions.
9  * Author: Linus Walleij <linus.walleij@stericsson.com>
10  */
11 #include <mach/hardware.h>
12 #include <asm/io.h>
13 #include <asm/hardware/vic.h>
14 #include <asm/irq.h>
15
16 /* Forward declare this function from the watchdog */
17 void coh901327_watchdog_reset(void);
18
19 static inline void arch_idle(void)
20 {
21         cpu_do_idle();
22 }
23
24 static void arch_reset(char mode, const char *cmd)
25 {
26         switch (mode) {
27         case 's':
28         case 'h':
29                 printk(KERN_CRIT "RESET: shutting down/rebooting system\n");
30                 /* Disable interrupts */
31                 local_irq_disable();
32 #ifdef CONFIG_COH901327_WATCHDOG
33                 coh901327_watchdog_reset();
34 #endif
35                 break;
36         default:
37                 /* Do nothing */
38                 break;
39         }
40         /* Wait for system do die/reset. */
41         while (1);
42 }