at v2.6.19 1.5 kB view raw
1#ifndef _LINUX_SWSUSP_H 2#define _LINUX_SWSUSP_H 3 4#if defined(CONFIG_X86) || defined(CONFIG_FRV) || defined(CONFIG_PPC32) 5#include <asm/suspend.h> 6#endif 7#include <linux/swap.h> 8#include <linux/notifier.h> 9#include <linux/init.h> 10#include <linux/pm.h> 11 12/* page backup entry */ 13struct pbe { 14 unsigned long address; /* address of the copy */ 15 unsigned long orig_address; /* original address of page */ 16 struct pbe *next; 17}; 18 19/* mm/page_alloc.c */ 20extern void drain_local_pages(void); 21extern void mark_free_pages(struct zone *zone); 22 23#ifdef CONFIG_PM 24/* kernel/power/swsusp.c */ 25extern int software_suspend(void); 26 27#if defined(CONFIG_VT) && defined(CONFIG_VT_CONSOLE) 28extern int pm_prepare_console(void); 29extern void pm_restore_console(void); 30#else 31static inline int pm_prepare_console(void) { return 0; } 32static inline void pm_restore_console(void) {} 33#endif /* defined(CONFIG_VT) && defined(CONFIG_VT_CONSOLE) */ 34#else 35static inline int software_suspend(void) 36{ 37 printk("Warning: fake suspend called\n"); 38 return -ENOSYS; 39} 40#endif /* CONFIG_PM */ 41 42void save_processor_state(void); 43void restore_processor_state(void); 44struct saved_context; 45void __save_processor_state(struct saved_context *ctxt); 46void __restore_processor_state(struct saved_context *ctxt); 47unsigned long get_safe_page(gfp_t gfp_mask); 48 49/* 50 * XXX: We try to keep some more pages free so that I/O operations succeed 51 * without paging. Might this be more? 52 */ 53#define PAGES_FOR_IO 1024 54 55#endif /* _LINUX_SWSUSP_H */