]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - kernel/power/power.h
[PATCH] swsusp: use less memory during resume
[mv-sheeva.git] / kernel / power / power.h
index 42c431c8bdde178974a087ab22df85d815a2cf77..98c41423f3b1013fd889c5b059056abc0ff5850a 100644 (file)
@@ -55,7 +55,7 @@ struct snapshot_handle {
        unsigned int    page;
        unsigned int    page_offset;
        unsigned int    prev;
-       struct pbe      *pbe;
+       struct pbe      *pbe, *last_pbe;
        void            *buffer;
        unsigned int    buf_offset;
 };
@@ -77,7 +77,8 @@ int snapshot_image_loaded(struct snapshot_handle *handle);
 #define SNAPSHOT_GET_SWAP_PAGE         _IOR(SNAPSHOT_IOC_MAGIC, 8, void *)
 #define SNAPSHOT_FREE_SWAP_PAGES       _IO(SNAPSHOT_IOC_MAGIC, 9)
 #define SNAPSHOT_SET_SWAP_FILE         _IOW(SNAPSHOT_IOC_MAGIC, 10, unsigned int)
-#define SNAPSHOT_IOC_MAXNR     10
+#define SNAPSHOT_S2RAM                 _IO(SNAPSHOT_IOC_MAGIC, 11)
+#define SNAPSHOT_IOC_MAXNR     11
 
 /**
  *     The bitmap is used for tracing allocated swap pages
@@ -104,6 +105,10 @@ extern struct bitmap_page *alloc_bitmap(unsigned int nr_bits);
 extern unsigned long alloc_swap_page(int swap, struct bitmap_page *bitmap);
 extern void free_all_swap_pages(int swap, struct bitmap_page *bitmap);
 
+extern unsigned int count_special_pages(void);
+extern int save_special_mem(void);
+extern int restore_special_mem(void);
+
 extern int swsusp_check(void);
 extern int swsusp_shrink_memory(void);
 extern void swsusp_free(void);
@@ -112,3 +117,4 @@ extern int swsusp_resume(void);
 extern int swsusp_read(void);
 extern int swsusp_write(void);
 extern void swsusp_close(void);
+extern int suspend_enter(suspend_state_t state);