diff options
Diffstat (limited to 'kernel/power/power.h')
-rw-r--r-- | kernel/power/power.h | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/kernel/power/power.h b/kernel/power/power.h index 6c042b5ee14b..7e8492fd1423 100644 --- a/kernel/power/power.h +++ b/kernel/power/power.h | |||
@@ -9,19 +9,13 @@ | |||
9 | #define SUSPEND_CONSOLE (MAX_NR_CONSOLES-1) | 9 | #define SUSPEND_CONSOLE (MAX_NR_CONSOLES-1) |
10 | #endif | 10 | #endif |
11 | 11 | ||
12 | #define MAX_PBES ((PAGE_SIZE - sizeof(struct new_utsname) \ | ||
13 | - 4 - 3*sizeof(unsigned long) - sizeof(int) \ | ||
14 | - sizeof(void *)) / sizeof(swp_entry_t)) | ||
15 | |||
16 | struct swsusp_info { | 12 | struct swsusp_info { |
17 | struct new_utsname uts; | 13 | struct new_utsname uts; |
18 | u32 version_code; | 14 | u32 version_code; |
19 | unsigned long num_physpages; | 15 | unsigned long num_physpages; |
20 | int cpus; | 16 | int cpus; |
21 | unsigned long image_pages; | 17 | unsigned long image_pages; |
22 | unsigned long pagedir_pages; | 18 | unsigned long pages; |
23 | suspend_pagedir_t * suspend_pagedir; | ||
24 | swp_entry_t pagedir[MAX_PBES]; | ||
25 | } __attribute__((aligned(PAGE_SIZE))); | 19 | } __attribute__((aligned(PAGE_SIZE))); |
26 | 20 | ||
27 | 21 | ||
@@ -48,25 +42,27 @@ static struct subsys_attribute _name##_attr = { \ | |||
48 | 42 | ||
49 | extern struct subsystem power_subsys; | 43 | extern struct subsystem power_subsys; |
50 | 44 | ||
51 | extern int freeze_processes(void); | ||
52 | extern void thaw_processes(void); | ||
53 | |||
54 | extern int pm_prepare_console(void); | 45 | extern int pm_prepare_console(void); |
55 | extern void pm_restore_console(void); | 46 | extern void pm_restore_console(void); |
56 | 47 | ||
57 | |||
58 | /* References to section boundaries */ | 48 | /* References to section boundaries */ |
59 | extern const void __nosave_begin, __nosave_end; | 49 | extern const void __nosave_begin, __nosave_end; |
60 | 50 | ||
61 | extern unsigned int nr_copy_pages; | 51 | extern unsigned int nr_copy_pages; |
62 | extern suspend_pagedir_t *pagedir_nosave; | 52 | extern struct pbe *pagedir_nosave; |
63 | extern suspend_pagedir_t *pagedir_save; | 53 | |
54 | /* Preferred image size in MB (default 500) */ | ||
55 | extern unsigned int image_size; | ||
64 | 56 | ||
65 | extern asmlinkage int swsusp_arch_suspend(void); | 57 | extern asmlinkage int swsusp_arch_suspend(void); |
66 | extern asmlinkage int swsusp_arch_resume(void); | 58 | extern asmlinkage int swsusp_arch_resume(void); |
67 | 59 | ||
60 | extern unsigned int count_data_pages(void); | ||
68 | extern void free_pagedir(struct pbe *pblist); | 61 | extern void free_pagedir(struct pbe *pblist); |
62 | extern void release_eaten_pages(void); | ||
69 | extern struct pbe *alloc_pagedir(unsigned nr_pages, gfp_t gfp_mask, int safe_needed); | 63 | extern struct pbe *alloc_pagedir(unsigned nr_pages, gfp_t gfp_mask, int safe_needed); |
70 | extern void create_pbe_list(struct pbe *pblist, unsigned nr_pages); | ||
71 | extern void swsusp_free(void); | 64 | extern void swsusp_free(void); |
72 | extern int alloc_data_pages(struct pbe *pblist, gfp_t gfp_mask, int safe_needed); | 65 | extern int alloc_data_pages(struct pbe *pblist, gfp_t gfp_mask, int safe_needed); |
66 | extern unsigned int snapshot_nr_pages(void); | ||
67 | extern struct pbe *snapshot_pblist(void); | ||
68 | extern void snapshot_pblist_set(struct pbe *pblist); | ||