Full support for Ginger Console
[linux-ginger.git] / arch / arm / mach-pxa / include / mach / pm.h
blobfd8360c6839d5a69d9faa44fa3bb77c3edb0dc06
1 /*
2 * Copyright (c) 2005 Richard Purdie
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.
8 */
10 #include <linux/suspend.h>
12 struct pxa_cpu_pm_fns {
13 int save_count;
14 void (*save)(unsigned long *);
15 void (*restore)(unsigned long *);
16 int (*valid)(suspend_state_t state);
17 void (*enter)(suspend_state_t state);
18 int (*prepare)(void);
19 void (*finish)(void);
22 extern struct pxa_cpu_pm_fns *pxa_cpu_pm_fns;
24 /* sleep.S */
25 extern void pxa25x_cpu_suspend(unsigned int);
26 extern void pxa27x_cpu_suspend(unsigned int);
27 extern void pxa_cpu_resume(void);
29 extern int pxa_pm_enter(suspend_state_t state);
30 extern int pxa_pm_prepare(void);
31 extern void pxa_pm_finish(void);
33 /* NOTE: this is for PM debugging on Lubbock, it's really a big
34 * ugly, but let's keep the crap minimum here, instead of direct
35 * accessing the LUBBOCK CPLD registers in arch/arm/mach-pxa/pm.c
37 #ifdef CONFIG_ARCH_LUBBOCK
38 extern void lubbock_set_hexled(uint32_t value);
39 #else
40 #define lubbock_set_hexled(x)
41 #endif