]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | #include <linux/suspend.h> |
2 | #include <linux/utsname.h> | |
3 | ||
1da177e4 LT |
4 | struct swsusp_info { |
5 | struct new_utsname uts; | |
6 | u32 version_code; | |
7 | unsigned long num_physpages; | |
8 | int cpus; | |
9 | unsigned long image_pages; | |
7088a5c0 | 10 | unsigned long pages; |
1da177e4 LT |
11 | } __attribute__((aligned(PAGE_SIZE))); |
12 | ||
13 | ||
14 | ||
15 | #ifdef CONFIG_SOFTWARE_SUSPEND | |
16 | extern int pm_suspend_disk(void); | |
17 | ||
18 | #else | |
19 | static inline int pm_suspend_disk(void) | |
20 | { | |
21 | return -EPERM; | |
22 | } | |
23 | #endif | |
24 | extern struct semaphore pm_sem; | |
25 | #define power_attr(_name) \ | |
26 | static struct subsys_attribute _name##_attr = { \ | |
27 | .attr = { \ | |
28 | .name = __stringify(_name), \ | |
29 | .mode = 0644, \ | |
30 | }, \ | |
31 | .show = _name##_show, \ | |
32 | .store = _name##_store, \ | |
33 | } | |
34 | ||
35 | extern struct subsystem power_subsys; | |
36 | ||
25761b6e RW |
37 | /* References to section boundaries */ |
38 | extern const void __nosave_begin, __nosave_end; | |
39 | ||
40 | extern unsigned int nr_copy_pages; | |
72a97e08 RW |
41 | extern struct pbe *pagedir_nosave; |
42 | ||
853609b6 RW |
43 | /* Preferred image size in bytes (default 500 MB) */ |
44 | extern unsigned long image_size; | |
25761b6e RW |
45 | |
46 | extern asmlinkage int swsusp_arch_suspend(void); | |
47 | extern asmlinkage int swsusp_arch_resume(void); | |
48 | ||
72a97e08 | 49 | extern unsigned int count_data_pages(void); |
ed14b527 | 50 | extern void free_pagedir(struct pbe *pblist); |
72a97e08 | 51 | extern void release_eaten_pages(void); |
054bd4c1 | 52 | extern struct pbe *alloc_pagedir(unsigned nr_pages, gfp_t gfp_mask, int safe_needed); |
2c1b4a5c | 53 | extern void swsusp_free(void); |
054bd4c1 | 54 | extern int alloc_data_pages(struct pbe *pblist, gfp_t gfp_mask, int safe_needed); |
7088a5c0 RW |
55 | extern unsigned int snapshot_nr_pages(void); |
56 | extern struct pbe *snapshot_pblist(void); | |
57 | extern void snapshot_pblist_set(struct pbe *pblist); |