diff options
author | Michael Hennerich <michael.hennerich@analog.com> | 2008-08-05 05:38:41 -0400 |
---|---|---|
committer | Bryan Wu <cooloney@kernel.org> | 2008-08-05 05:38:41 -0400 |
commit | 4a88d0ce494034fbb8dd0076d80e71b38abf5748 (patch) | |
tree | c9c560f0314e3d494ae1b9020921128fa1e3e9f5 /arch/blackfin/mach-common/pm.c | |
parent | 5400c5aa2de41501be7529831c9df36c729bf371 (diff) |
Blackfin arch: Functional power management support
Merge VR Regulator Hibernate wakeups into set_irq_wake for internal
interrupts.
Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Diffstat (limited to 'arch/blackfin/mach-common/pm.c')
-rw-r--r-- | arch/blackfin/mach-common/pm.c | 18 |
1 files changed, 1 insertions, 17 deletions
diff --git a/arch/blackfin/mach-common/pm.c b/arch/blackfin/mach-common/pm.c index 4fe6a2366b13..143134b852ea 100644 --- a/arch/blackfin/mach-common/pm.c +++ b/arch/blackfin/mach-common/pm.c | |||
@@ -229,28 +229,12 @@ int bfin_pm_suspend_mem_enter(void) | |||
229 | wakeup = bfin_read_VR_CTL() & ~FREQ; | 229 | wakeup = bfin_read_VR_CTL() & ~FREQ; |
230 | wakeup |= SCKELOW; | 230 | wakeup |= SCKELOW; |
231 | 231 | ||
232 | /* FIXME: merge this somehow with set_irq_wake */ | ||
233 | #ifdef CONFIG_PM_BFIN_WAKE_RTC | ||
234 | wakeup |= WAKE; | ||
235 | #endif | ||
236 | #ifdef CONFIG_PM_BFIN_WAKE_PH6 | 232 | #ifdef CONFIG_PM_BFIN_WAKE_PH6 |
237 | wakeup |= PHYWE; | 233 | wakeup |= PHYWE; |
238 | #endif | 234 | #endif |
239 | #ifdef CONFIG_PM_BFIN_WAKE_CAN | ||
240 | wakeup |= CANWE; | ||
241 | #endif | ||
242 | #ifdef CONFIG_PM_BFIN_WAKE_GP | 235 | #ifdef CONFIG_PM_BFIN_WAKE_GP |
243 | wakeup |= GPWE; | 236 | wakeup |= GPWE; |
244 | #endif | 237 | #endif |
245 | #ifdef CONFIG_PM_BFIN_WAKE_USB | ||
246 | wakeup |= USBWE; | ||
247 | #endif | ||
248 | #ifdef CONFIG_PM_BFIN_WAKE_KEYPAD | ||
249 | wakeup |= KPADWE; | ||
250 | #endif | ||
251 | #ifdef CONFIG_PM_BFIN_WAKE_ROTARY | ||
252 | wakeup |= ROTWE; | ||
253 | #endif | ||
254 | 238 | ||
255 | local_irq_save(flags); | 239 | local_irq_save(flags); |
256 | 240 | ||
@@ -268,7 +252,7 @@ int bfin_pm_suspend_mem_enter(void) | |||
268 | icache_disable(); | 252 | icache_disable(); |
269 | bf53x_suspend_l1_mem(memptr); | 253 | bf53x_suspend_l1_mem(memptr); |
270 | 254 | ||
271 | do_hibernate(wakeup); /* Goodbye */ | 255 | do_hibernate(wakeup | vr_wakeup); /* Goodbye */ |
272 | 256 | ||
273 | bf53x_resume_l1_mem(memptr); | 257 | bf53x_resume_l1_mem(memptr); |
274 | 258 | ||