From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Sat, 16 Apr 2005 15:20:36 -0700 Subject: Linux-2.6.12-rc2 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! --- include/linux/suspend.h | 75 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 include/linux/suspend.h (limited to 'include/linux/suspend.h') diff --git a/include/linux/suspend.h b/include/linux/suspend.h new file mode 100644 index 000000000000..2bf0d5fabcdb --- /dev/null +++ b/include/linux/suspend.h @@ -0,0 +1,75 @@ +#ifndef _LINUX_SWSUSP_H +#define _LINUX_SWSUSP_H + +#if defined(CONFIG_X86) || defined(CONFIG_FRV) || defined(CONFIG_PPC32) +#include +#endif +#include +#include +#include +#include +#include + +/* 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 */ -- cgit v1.2.3-59-g8ed1b