Merge branch 'upstream-fixes' into upstream
[linux-2.6/mini2440.git] / arch / arm / mach-s3c2410 / pm.h
blob7a5e714c73866ca46daa6676cefa85c1cf5f2c85
1 /* linux/arch/arm/mach-s3c2410/pm.h
3 * Copyright (c) 2004 Simtec Electronics
4 * Written by Ben Dooks, <ben@simtec.co.uk>
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 */
11 /* s3c2410_pm_init
13 * called from board at initialisation time to setup the power
14 * management
17 #ifdef CONFIG_PM
19 extern __init int s3c2410_pm_init(void);
21 #else
23 static inline int s3c2410_pm_init(void)
25 return 0;
27 #endif
29 /* configuration for the IRQ mask over sleep */
30 extern unsigned long s3c_irqwake_intmask;
31 extern unsigned long s3c_irqwake_eintmask;
33 /* IRQ masks for IRQs allowed to go to sleep (see irq.c) */
34 extern unsigned long s3c_irqwake_intallow;
35 extern unsigned long s3c_irqwake_eintallow;
37 /* Flags for PM Control */
39 extern unsigned long s3c_pm_flags;
41 /* from sleep.S */
43 extern void s3c2410_cpu_suspend(unsigned long *saveblk);
44 extern void s3c2410_cpu_resume(void);
46 extern unsigned long s3c2410_sleep_save_phys;
48 /* sleep save info */
50 struct sleep_save {
51 void __iomem *reg;
52 unsigned long val;
55 #define SAVE_ITEM(x) \
56 { .reg = (x) }
58 extern void s3c2410_pm_do_save(struct sleep_save *ptr, int count);
59 extern void s3c2410_pm_do_restore(struct sleep_save *ptr, int count);