Commit | Line | Data |
---|---|---|
756c7b74 RP |
1 | /* |
2 | * Copyright (c) 2005 Richard Purdie | |
3 | * | |
4 | * This program is free software; you can redistribute it and/or modify | |
5 | * it under the terms of the GNU General Public License version 2 as | |
6 | * published by the Free Software Foundation. | |
7 | * | |
8 | */ | |
9 | ||
95d9ffbe RW |
10 | #include <linux/suspend.h> |
11 | ||
711be5cc | 12 | struct pxa_cpu_pm_fns { |
649de51b | 13 | int save_count; |
711be5cc EM |
14 | void (*save)(unsigned long *); |
15 | void (*restore)(unsigned long *); | |
16 | int (*valid)(suspend_state_t state); | |
17 | void (*enter)(suspend_state_t state); | |
4104980a RK |
18 | int (*prepare)(void); |
19 | void (*finish)(void); | |
711be5cc EM |
20 | }; |
21 | ||
22 | extern struct pxa_cpu_pm_fns *pxa_cpu_pm_fns; | |
23 | ||
b750a093 | 24 | /* sleep.S */ |
29cb3cd2 RK |
25 | extern int pxa25x_finish_suspend(unsigned long); |
26 | extern int pxa27x_finish_suspend(unsigned long); | |
b750a093 | 27 | |
756c7b74 | 28 | extern int pxa_pm_enter(suspend_state_t state); |
51cdd928 PM |
29 | extern int pxa_pm_prepare(void); |
30 | extern void pxa_pm_finish(void); | |
54386145 EM |
31 | |
32 | /* NOTE: this is for PM debugging on Lubbock, it's really a big | |
33 | * ugly, but let's keep the crap minimum here, instead of direct | |
34 | * accessing the LUBBOCK CPLD registers in arch/arm/mach-pxa/pm.c | |
35 | */ | |
36 | #ifdef CONFIG_ARCH_LUBBOCK | |
37 | extern void lubbock_set_hexled(uint32_t value); | |
38 | #else | |
39 | #define lubbock_set_hexled(x) | |
40 | #endif |