This source file includes following definitions.
- s3c_pm_save_uarts
- s3c_pm_restore_uarts
1
2
3
4
5
6
7
8
9
10 #ifndef __PLAT_SAMSUNG_PM_COMMON_H
11 #define __PLAT_SAMSUNG_PM_COMMON_H __FILE__
12
13 #include <linux/irq.h>
14
15
16
17
18
19
20
21
22
23
24
25 struct sleep_save {
26 void __iomem *reg;
27 unsigned long val;
28 };
29
30 #define SAVE_ITEM(x) \
31 { .reg = (x) }
32
33
34
35 extern void s3c_pm_do_save(struct sleep_save *ptr, int count);
36 extern void s3c_pm_do_restore(const struct sleep_save *ptr, int count);
37 extern void s3c_pm_do_restore_core(const struct sleep_save *ptr, int count);
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 struct pm_uart_save {
53 u32 ulcon;
54 u32 ucon;
55 u32 ufcon;
56 u32 umcon;
57 u32 ubrdiv;
58 u32 udivslot;
59 };
60
61 #ifdef CONFIG_SAMSUNG_PM_DEBUG
62
63
64
65
66
67
68
69
70 extern void s3c_pm_dbg(const char *msg, ...);
71
72
73
74
75
76
77
78
79 extern void s3c_pm_debug_init(void);
80
81 #define S3C_PMDBG(fmt...) s3c_pm_dbg(fmt)
82
83 extern void s3c_pm_save_uarts(void);
84 extern void s3c_pm_restore_uarts(void);
85 #else
86 #define S3C_PMDBG(fmt...) pr_debug(fmt)
87 #define s3c_pm_debug_init() do { } while (0)
88
89 static inline void s3c_pm_save_uarts(void) { }
90 static inline void s3c_pm_restore_uarts(void) { }
91 #endif
92
93
94
95 #ifdef CONFIG_SAMSUNG_PM_CHECK
96 extern void s3c_pm_check_prepare(void);
97 extern void s3c_pm_check_restore(void);
98 extern void s3c_pm_check_cleanup(void);
99 extern void s3c_pm_check_store(void);
100 #else
101 #define s3c_pm_check_prepare() do { } while (0)
102 #define s3c_pm_check_restore() do { } while (0)
103 #define s3c_pm_check_cleanup() do { } while (0)
104 #define s3c_pm_check_store() do { } while (0)
105 #endif
106
107 #endif