forked from mirrors/linux
		
	 1da177e4c3
			
		
	
	
		1da177e4c3
		
	
	
	
	
		
			
			Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!
		
			
				
	
	
		
			75 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef _LINUX_SWSUSP_H
 | |
| #define _LINUX_SWSUSP_H
 | |
| 
 | |
| #if defined(CONFIG_X86) || defined(CONFIG_FRV) || defined(CONFIG_PPC32)
 | |
| #include <asm/suspend.h>
 | |
| #endif
 | |
| #include <linux/swap.h>
 | |
| #include <linux/notifier.h>
 | |
| #include <linux/config.h>
 | |
| #include <linux/init.h>
 | |
| #include <linux/pm.h>
 | |
| 
 | |
| /* page backup entry */
 | |
| typedef struct pbe {
 | |
| 	unsigned long address;		/* address of the copy */
 | |
| 	unsigned long orig_address;	/* original address of page */
 | |
| 	swp_entry_t swap_address;	
 | |
| 
 | |
| 	struct pbe *next;	/* also used as scratch space at
 | |
| 				 * end of page (see link, diskpage)
 | |
| 				 */
 | |
| } suspend_pagedir_t;
 | |
| 
 | |
| #define for_each_pbe(pbe, pblist) \
 | |
| 	for (pbe = pblist ; pbe ; pbe = pbe->next)
 | |
| 
 | |
| #define PBES_PER_PAGE      (PAGE_SIZE/sizeof(struct pbe))
 | |
| #define PB_PAGE_SKIP       (PBES_PER_PAGE-1)
 | |
| 
 | |
| #define for_each_pb_page(pbe, pblist) \
 | |
| 	for (pbe = pblist ; pbe ; pbe = (pbe+PB_PAGE_SKIP)->next)
 | |
| 
 | |
| 
 | |
| #define SWAP_FILENAME_MAXLENGTH	32
 | |
| 
 | |
| 
 | |
| extern dev_t swsusp_resume_device;
 | |
|    
 | |
| /* mm/vmscan.c */
 | |
| extern int shrink_mem(void);
 | |
| 
 | |
| /* mm/page_alloc.c */
 | |
| extern void drain_local_pages(void);
 | |
| extern void mark_free_pages(struct zone *zone);
 | |
| 
 | |
| #ifdef CONFIG_PM
 | |
| /* kernel/power/swsusp.c */
 | |
| extern int software_suspend(void);
 | |
| 
 | |
| extern int pm_prepare_console(void);
 | |
| extern void pm_restore_console(void);
 | |
| 
 | |
| #else
 | |
| static inline int software_suspend(void)
 | |
| {
 | |
| 	printk("Warning: fake suspend called\n");
 | |
| 	return -EPERM;
 | |
| }
 | |
| #endif
 | |
| 
 | |
| #ifdef CONFIG_SMP
 | |
| extern void disable_nonboot_cpus(void);
 | |
| extern void enable_nonboot_cpus(void);
 | |
| #else
 | |
| static inline void disable_nonboot_cpus(void) {}
 | |
| static inline void enable_nonboot_cpus(void) {}
 | |
| #endif
 | |
| 
 | |
| void save_processor_state(void);
 | |
| void restore_processor_state(void);
 | |
| struct saved_context;
 | |
| void __save_processor_state(struct saved_context *ctxt);
 | |
| void __restore_processor_state(struct saved_context *ctxt);
 | |
| 
 | |
| #endif /* _LINUX_SWSUSP_H */
 |