diff options
Diffstat (limited to 'arch/sh/kernel/process_64.c')
-rw-r--r-- | arch/sh/kernel/process_64.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/arch/sh/kernel/process_64.c b/arch/sh/kernel/process_64.c index 0c2bc61b66b3..47415671da0c 100644 --- a/arch/sh/kernel/process_64.c +++ b/arch/sh/kernel/process_64.c | |||
@@ -27,6 +27,7 @@ | |||
27 | #include <linux/init.h> | 27 | #include <linux/init.h> |
28 | #include <linux/module.h> | 28 | #include <linux/module.h> |
29 | #include <linux/proc_fs.h> | 29 | #include <linux/proc_fs.h> |
30 | #include <linux/io.h> | ||
30 | #include <asm/uaccess.h> | 31 | #include <asm/uaccess.h> |
31 | #include <asm/pgtable.h> | 32 | #include <asm/pgtable.h> |
32 | 33 | ||
@@ -106,9 +107,20 @@ void machine_halt(void) | |||
106 | 107 | ||
107 | void machine_power_off(void) | 108 | void machine_power_off(void) |
108 | { | 109 | { |
109 | extern void enter_deep_standby(void); | 110 | #if 0 |
111 | /* Disable watchdog timer */ | ||
112 | ctrl_outl(0xa5000000, WTCSR); | ||
113 | /* Configure deep standby on sleep */ | ||
114 | ctrl_outl(0x03, STBCR); | ||
115 | #endif | ||
116 | |||
117 | __asm__ __volatile__ ( | ||
118 | "sleep\n\t" | ||
119 | "synci\n\t" | ||
120 | "nop;nop;nop;nop\n\t" | ||
121 | ); | ||
110 | 122 | ||
111 | enter_deep_standby(); | 123 | panic("Unexpected wakeup!\n"); |
112 | } | 124 | } |
113 | 125 | ||
114 | void (*pm_power_off)(void) = machine_power_off; | 126 | void (*pm_power_off)(void) = machine_power_off; |