aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin/mach-common/pm.c
diff options
context:
space:
mode:
authorMichael Hennerich <michael.hennerich@analog.com>2008-08-05 05:38:41 -0400
committerBryan Wu <cooloney@kernel.org>2008-08-05 05:38:41 -0400
commit4a88d0ce494034fbb8dd0076d80e71b38abf5748 (patch)
treec9c560f0314e3d494ae1b9020921128fa1e3e9f5 /arch/blackfin/mach-common/pm.c
parent5400c5aa2de41501be7529831c9df36c729bf371 (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.c18
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