0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 #include "pm-common.h"
0015
0016 struct device;
0017
0018 #ifdef CONFIG_SAMSUNG_PM
0019
0020 extern __init int s3c_pm_init(void);
0021 extern __init int s3c64xx_pm_init(void);
0022
0023 #else
0024
0025 static inline int s3c_pm_init(void)
0026 {
0027 return 0;
0028 }
0029
0030 static inline int s3c64xx_pm_init(void)
0031 {
0032 return 0;
0033 }
0034 #endif
0035
0036
0037 extern unsigned long s3c_irqwake_intmask;
0038 extern unsigned long s3c_irqwake_eintmask;
0039
0040
0041
0042 extern void (*pm_cpu_prep)(void);
0043 extern int (*pm_cpu_sleep)(unsigned long);
0044
0045
0046
0047 extern unsigned long s3c_pm_flags;
0048
0049
0050
0051 extern int s3c2410_cpu_suspend(unsigned long);
0052
0053 #ifdef CONFIG_PM_SLEEP
0054 extern int s3c_irq_wake(struct irq_data *data, unsigned int state);
0055 extern void s3c_cpu_resume(void);
0056 #else
0057 #define s3c_irq_wake NULL
0058 #define s3c_cpu_resume NULL
0059 #endif
0060
0061 #ifdef CONFIG_SAMSUNG_PM
0062 extern int s3c_irqext_wake(struct irq_data *data, unsigned int state);
0063 #else
0064 #define s3c_irqext_wake NULL
0065 #endif
0066
0067 #ifdef CONFIG_S3C_PM_DEBUG_LED_SMDK
0068
0069
0070
0071
0072
0073 extern void s3c_pm_debug_smdkled(u32 set, u32 clear);
0074
0075 #else
0076 static inline void s3c_pm_debug_smdkled(u32 set, u32 clear) { }
0077 #endif
0078
0079
0080
0081
0082
0083
0084
0085 extern void s3c_pm_configure_extint(void);
0086
0087 #ifdef CONFIG_GPIO_SAMSUNG
0088
0089
0090
0091
0092
0093
0094
0095 extern void samsung_pm_restore_gpios(void);
0096
0097
0098
0099
0100
0101
0102 extern void samsung_pm_save_gpios(void);
0103 #else
0104 static inline void samsung_pm_restore_gpios(void) {}
0105 static inline void samsung_pm_save_gpios(void) {}
0106 #endif
0107
0108 extern void s3c_pm_save_core(void);
0109 extern void s3c_pm_restore_core(void);