Replace CONFIG_SOFTWARE_SUSPEND with CONFIG_HIBERNATION
Replace CONFIG_SOFTWARE_SUSPEND with CONFIG_HIBERNATION to avoid confusion (among other things, with CONFIG_SUSPEND introduced in the next patch). Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
6c8dca5d53
Коммит
b0cb1a19d0
|
@ -36,11 +36,11 @@ config DEBUG_STACK_USAGE
|
||||||
This option will slow down process creation somewhat.
|
This option will slow down process creation somewhat.
|
||||||
|
|
||||||
comment "Page alloc debug is incompatible with Software Suspend on i386"
|
comment "Page alloc debug is incompatible with Software Suspend on i386"
|
||||||
depends on DEBUG_KERNEL && SOFTWARE_SUSPEND
|
depends on DEBUG_KERNEL && HIBERNATION
|
||||||
|
|
||||||
config DEBUG_PAGEALLOC
|
config DEBUG_PAGEALLOC
|
||||||
bool "Debug page memory allocations"
|
bool "Debug page memory allocations"
|
||||||
depends on DEBUG_KERNEL && !SOFTWARE_SUSPEND && !HUGETLBFS
|
depends on DEBUG_KERNEL && !HIBERNATION && !HUGETLBFS
|
||||||
help
|
help
|
||||||
Unmap pages from the kernel linear mapping after free_pages().
|
Unmap pages from the kernel linear mapping after free_pages().
|
||||||
This results in a large slowdown, but helps to find certain types
|
This results in a large slowdown, but helps to find certain types
|
||||||
|
|
|
@ -321,7 +321,7 @@ static int __init request_standard_resources(void)
|
||||||
|
|
||||||
subsys_initcall(request_standard_resources);
|
subsys_initcall(request_standard_resources);
|
||||||
|
|
||||||
#if defined(CONFIG_PM) && defined(CONFIG_SOFTWARE_SUSPEND)
|
#if defined(CONFIG_PM) && defined(CONFIG_HIBERNATION)
|
||||||
/**
|
/**
|
||||||
* e820_mark_nosave_regions - Find the ranges of physical addresses that do not
|
* e820_mark_nosave_regions - Find the ranges of physical addresses that do not
|
||||||
* correspond to e820 RAM areas and mark the corresponding pages as nosave for
|
* correspond to e820 RAM areas and mark the corresponding pages as nosave for
|
||||||
|
|
|
@ -432,7 +432,7 @@ static void __init pagetable_init (void)
|
||||||
paravirt_pagetable_setup_done(pgd_base);
|
paravirt_pagetable_setup_done(pgd_base);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(CONFIG_SOFTWARE_SUSPEND) || defined(CONFIG_ACPI)
|
#if defined(CONFIG_HIBERNATION) || defined(CONFIG_ACPI)
|
||||||
/*
|
/*
|
||||||
* Swap suspend & friends need this for resume because things like the intel-agp
|
* Swap suspend & friends need this for resume because things like the intel-agp
|
||||||
* driver might have split up a kernel 4MB mapping.
|
* driver might have split up a kernel 4MB mapping.
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
obj-$(CONFIG_PM) += cpu.o
|
obj-$(CONFIG_PM) += cpu.o
|
||||||
obj-$(CONFIG_SOFTWARE_SUSPEND) += swsusp.o suspend.o
|
obj-$(CONFIG_HIBERNATION) += swsusp.o suspend.o
|
||||||
|
|
|
@ -20,7 +20,7 @@ config DEBUG_STACK_USAGE
|
||||||
|
|
||||||
config DEBUG_PAGEALLOC
|
config DEBUG_PAGEALLOC
|
||||||
bool "Debug page memory allocations"
|
bool "Debug page memory allocations"
|
||||||
depends on DEBUG_KERNEL && !SOFTWARE_SUSPEND
|
depends on DEBUG_KERNEL && !HIBERNATION
|
||||||
help
|
help
|
||||||
Unmap pages from the kernel linear mapping after free_pages().
|
Unmap pages from the kernel linear mapping after free_pages().
|
||||||
This results in a large slowdown, but helps to find certain types
|
This results in a large slowdown, but helps to find certain types
|
||||||
|
|
|
@ -196,7 +196,7 @@ CONFIG_PM=y
|
||||||
# CONFIG_PM_LEGACY is not set
|
# CONFIG_PM_LEGACY is not set
|
||||||
# CONFIG_PM_DEBUG is not set
|
# CONFIG_PM_DEBUG is not set
|
||||||
# CONFIG_PM_SYSFS_DEPRECATED is not set
|
# CONFIG_PM_SYSFS_DEPRECATED is not set
|
||||||
# CONFIG_SOFTWARE_SUSPEND is not set
|
# CONFIG_HIBERNATION is not set
|
||||||
CONFIG_SECCOMP=y
|
CONFIG_SECCOMP=y
|
||||||
# CONFIG_WANT_DEVICE_TREE is not set
|
# CONFIG_WANT_DEVICE_TREE is not set
|
||||||
CONFIG_ISA_DMA_API=y
|
CONFIG_ISA_DMA_API=y
|
||||||
|
|
|
@ -218,7 +218,7 @@ CONFIG_PM=y
|
||||||
CONFIG_PM_DEBUG=y
|
CONFIG_PM_DEBUG=y
|
||||||
# CONFIG_DISABLE_CONSOLE_SUSPEND is not set
|
# CONFIG_DISABLE_CONSOLE_SUSPEND is not set
|
||||||
CONFIG_PM_SYSFS_DEPRECATED=y
|
CONFIG_PM_SYSFS_DEPRECATED=y
|
||||||
CONFIG_SOFTWARE_SUSPEND=y
|
CONFIG_HIBERNATION=y
|
||||||
CONFIG_PM_STD_PARTITION=""
|
CONFIG_PM_STD_PARTITION=""
|
||||||
CONFIG_APM_EMULATION=y
|
CONFIG_APM_EMULATION=y
|
||||||
CONFIG_SECCOMP=y
|
CONFIG_SECCOMP=y
|
||||||
|
|
|
@ -37,9 +37,9 @@ obj-$(CONFIG_GENERIC_TBSYNC) += smp-tbsync.o
|
||||||
obj-$(CONFIG_CRASH_DUMP) += crash_dump.o
|
obj-$(CONFIG_CRASH_DUMP) += crash_dump.o
|
||||||
obj-$(CONFIG_6xx) += idle_6xx.o l2cr_6xx.o cpu_setup_6xx.o
|
obj-$(CONFIG_6xx) += idle_6xx.o l2cr_6xx.o cpu_setup_6xx.o
|
||||||
obj-$(CONFIG_TAU) += tau_6xx.o
|
obj-$(CONFIG_TAU) += tau_6xx.o
|
||||||
obj-$(CONFIG_SOFTWARE_SUSPEND) += swsusp.o suspend.o
|
obj-$(CONFIG_HIBERNATION) += swsusp.o suspend.o
|
||||||
obj32-$(CONFIG_SOFTWARE_SUSPEND) += swsusp_32.o
|
obj32-$(CONFIG_HIBERNATION) += swsusp_32.o
|
||||||
obj64-$(CONFIG_SOFTWARE_SUSPEND) += swsusp_64.o swsusp_asm64.o
|
obj64-$(CONFIG_HIBERNATION) += swsusp_64.o swsusp_asm64.o
|
||||||
obj32-$(CONFIG_MODULES) += module_32.o
|
obj32-$(CONFIG_MODULES) += module_32.o
|
||||||
|
|
||||||
ifeq ($(CONFIG_PPC_MERGE),y)
|
ifeq ($(CONFIG_PPC_MERGE),y)
|
||||||
|
|
|
@ -136,7 +136,7 @@ CONFIG_BINFMT_ELF=y
|
||||||
# CONFIG_BINFMT_MISC is not set
|
# CONFIG_BINFMT_MISC is not set
|
||||||
# CONFIG_CMDLINE_BOOL is not set
|
# CONFIG_CMDLINE_BOOL is not set
|
||||||
# CONFIG_PM is not set
|
# CONFIG_PM is not set
|
||||||
# CONFIG_SOFTWARE_SUSPEND is not set
|
# CONFIG_HIBERNATION is not set
|
||||||
CONFIG_SECCOMP=y
|
CONFIG_SECCOMP=y
|
||||||
CONFIG_ISA_DMA_API=y
|
CONFIG_ISA_DMA_API=y
|
||||||
|
|
||||||
|
|
|
@ -138,7 +138,7 @@ CONFIG_BINFMT_ELF=y
|
||||||
# CONFIG_BINFMT_MISC is not set
|
# CONFIG_BINFMT_MISC is not set
|
||||||
# CONFIG_CMDLINE_BOOL is not set
|
# CONFIG_CMDLINE_BOOL is not set
|
||||||
# CONFIG_PM is not set
|
# CONFIG_PM is not set
|
||||||
# CONFIG_SOFTWARE_SUSPEND is not set
|
# CONFIG_HIBERNATION is not set
|
||||||
CONFIG_SECCOMP=y
|
CONFIG_SECCOMP=y
|
||||||
CONFIG_ISA_DMA_API=y
|
CONFIG_ISA_DMA_API=y
|
||||||
|
|
||||||
|
|
|
@ -138,7 +138,7 @@ CONFIG_BINFMT_ELF=y
|
||||||
# CONFIG_BINFMT_MISC is not set
|
# CONFIG_BINFMT_MISC is not set
|
||||||
# CONFIG_CMDLINE_BOOL is not set
|
# CONFIG_CMDLINE_BOOL is not set
|
||||||
# CONFIG_PM is not set
|
# CONFIG_PM is not set
|
||||||
# CONFIG_SOFTWARE_SUSPEND is not set
|
# CONFIG_HIBERNATION is not set
|
||||||
CONFIG_SECCOMP=y
|
CONFIG_SECCOMP=y
|
||||||
CONFIG_ISA_DMA_API=y
|
CONFIG_ISA_DMA_API=y
|
||||||
|
|
||||||
|
|
|
@ -137,7 +137,7 @@ CONFIG_BINFMT_ELF=y
|
||||||
# CONFIG_BINFMT_MISC is not set
|
# CONFIG_BINFMT_MISC is not set
|
||||||
# CONFIG_CMDLINE_BOOL is not set
|
# CONFIG_CMDLINE_BOOL is not set
|
||||||
# CONFIG_PM is not set
|
# CONFIG_PM is not set
|
||||||
# CONFIG_SOFTWARE_SUSPEND is not set
|
# CONFIG_HIBERNATION is not set
|
||||||
CONFIG_SECCOMP=y
|
CONFIG_SECCOMP=y
|
||||||
CONFIG_ISA_DMA_API=y
|
CONFIG_ISA_DMA_API=y
|
||||||
|
|
||||||
|
|
|
@ -142,7 +142,7 @@ CONFIG_BINFMT_MISC=y
|
||||||
CONFIG_CMDLINE_BOOL=y
|
CONFIG_CMDLINE_BOOL=y
|
||||||
CONFIG_CMDLINE="console=ttyMM0,115200 root=/dev/mtdblock1 rw rootfstype=jffs2"
|
CONFIG_CMDLINE="console=ttyMM0,115200 root=/dev/mtdblock1 rw rootfstype=jffs2"
|
||||||
# CONFIG_PM is not set
|
# CONFIG_PM is not set
|
||||||
# CONFIG_SOFTWARE_SUSPEND is not set
|
# CONFIG_HIBERNATION is not set
|
||||||
CONFIG_SECCOMP=y
|
CONFIG_SECCOMP=y
|
||||||
CONFIG_ISA_DMA_API=y
|
CONFIG_ISA_DMA_API=y
|
||||||
|
|
||||||
|
|
|
@ -148,7 +148,7 @@ CONFIG_BINFMT_ELF=y
|
||||||
CONFIG_CMDLINE_BOOL=y
|
CONFIG_CMDLINE_BOOL=y
|
||||||
CONFIG_CMDLINE="console=ttyS0,9600"
|
CONFIG_CMDLINE="console=ttyS0,9600"
|
||||||
# CONFIG_PM is not set
|
# CONFIG_PM is not set
|
||||||
# CONFIG_SOFTWARE_SUSPEND is not set
|
# CONFIG_HIBERNATION is not set
|
||||||
CONFIG_SECCOMP=y
|
CONFIG_SECCOMP=y
|
||||||
CONFIG_ISA_DMA_API=y
|
CONFIG_ISA_DMA_API=y
|
||||||
|
|
||||||
|
|
|
@ -149,7 +149,7 @@ CONFIG_BINFMT_ELF=y
|
||||||
CONFIG_CMDLINE_BOOL=y
|
CONFIG_CMDLINE_BOOL=y
|
||||||
CONFIG_CMDLINE="console=ttyS0,9600"
|
CONFIG_CMDLINE="console=ttyS0,9600"
|
||||||
# CONFIG_PM is not set
|
# CONFIG_PM is not set
|
||||||
# CONFIG_SOFTWARE_SUSPEND is not set
|
# CONFIG_HIBERNATION is not set
|
||||||
CONFIG_SECCOMP=y
|
CONFIG_SECCOMP=y
|
||||||
CONFIG_ISA_DMA_API=y
|
CONFIG_ISA_DMA_API=y
|
||||||
|
|
||||||
|
|
|
@ -130,7 +130,7 @@ CONFIG_BINFMT_ELF=y
|
||||||
# CONFIG_BINFMT_MISC is not set
|
# CONFIG_BINFMT_MISC is not set
|
||||||
# CONFIG_CMDLINE_BOOL is not set
|
# CONFIG_CMDLINE_BOOL is not set
|
||||||
# CONFIG_PM is not set
|
# CONFIG_PM is not set
|
||||||
# CONFIG_SOFTWARE_SUSPEND is not set
|
# CONFIG_HIBERNATION is not set
|
||||||
CONFIG_SECCOMP=y
|
CONFIG_SECCOMP=y
|
||||||
CONFIG_ISA_DMA_API=y
|
CONFIG_ISA_DMA_API=y
|
||||||
|
|
||||||
|
|
|
@ -166,7 +166,7 @@ CONFIG_PROC_PREPRESIDUAL=y
|
||||||
CONFIG_PM=y
|
CONFIG_PM=y
|
||||||
# CONFIG_PM_LEGACY is not set
|
# CONFIG_PM_LEGACY is not set
|
||||||
# CONFIG_PM_DEBUG is not set
|
# CONFIG_PM_DEBUG is not set
|
||||||
CONFIG_SOFTWARE_SUSPEND=y
|
CONFIG_HIBERNATION=y
|
||||||
CONFIG_PM_STD_PARTITION=""
|
CONFIG_PM_STD_PARTITION=""
|
||||||
# CONFIG_SECCOMP is not set
|
# CONFIG_SECCOMP is not set
|
||||||
CONFIG_ISA_DMA_API=y
|
CONFIG_ISA_DMA_API=y
|
||||||
|
|
|
@ -29,7 +29,7 @@ config DEBUG_BOOTMEM
|
||||||
|
|
||||||
config DEBUG_PAGEALLOC
|
config DEBUG_PAGEALLOC
|
||||||
bool "Debug page memory allocations"
|
bool "Debug page memory allocations"
|
||||||
depends on DEBUG_KERNEL && !SOFTWARE_SUSPEND
|
depends on DEBUG_KERNEL && !HIBERNATION
|
||||||
help
|
help
|
||||||
Unmap pages from the kernel linear mapping after free_pages().
|
Unmap pages from the kernel linear mapping after free_pages().
|
||||||
This results in a large slowdown, but helps to find certain types
|
This results in a large slowdown, but helps to find certain types
|
||||||
|
|
|
@ -199,7 +199,7 @@ CONFIG_GENERIC_PENDING_IRQ=y
|
||||||
CONFIG_PM=y
|
CONFIG_PM=y
|
||||||
# CONFIG_PM_LEGACY is not set
|
# CONFIG_PM_LEGACY is not set
|
||||||
# CONFIG_PM_DEBUG is not set
|
# CONFIG_PM_DEBUG is not set
|
||||||
CONFIG_SOFTWARE_SUSPEND=y
|
CONFIG_HIBERNATION=y
|
||||||
CONFIG_PM_STD_PARTITION=""
|
CONFIG_PM_STD_PARTITION=""
|
||||||
CONFIG_SUSPEND_SMP=y
|
CONFIG_SUSPEND_SMP=y
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,7 @@ obj-y += io_apic.o mpparse.o genapic.o genapic_flat.o
|
||||||
obj-$(CONFIG_KEXEC) += machine_kexec.o relocate_kernel.o crash.o
|
obj-$(CONFIG_KEXEC) += machine_kexec.o relocate_kernel.o crash.o
|
||||||
obj-$(CONFIG_CRASH_DUMP) += crash_dump.o
|
obj-$(CONFIG_CRASH_DUMP) += crash_dump.o
|
||||||
obj-$(CONFIG_PM) += suspend.o
|
obj-$(CONFIG_PM) += suspend.o
|
||||||
obj-$(CONFIG_SOFTWARE_SUSPEND) += suspend_asm.o
|
obj-$(CONFIG_HIBERNATION) += suspend_asm.o
|
||||||
obj-$(CONFIG_CPU_FREQ) += cpufreq/
|
obj-$(CONFIG_CPU_FREQ) += cpufreq/
|
||||||
obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
|
obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
|
||||||
obj-$(CONFIG_IOMMU) += pci-gart.o aperture.o
|
obj-$(CONFIG_IOMMU) += pci-gart.o aperture.o
|
||||||
|
|
|
@ -146,7 +146,7 @@ void fix_processor_context(void)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_SOFTWARE_SUSPEND
|
#ifdef CONFIG_HIBERNATION
|
||||||
/* Defined in arch/x86_64/kernel/suspend_asm.S */
|
/* Defined in arch/x86_64/kernel/suspend_asm.S */
|
||||||
extern int restore_image(void);
|
extern int restore_image(void);
|
||||||
|
|
||||||
|
@ -236,4 +236,4 @@ int pfn_is_nosave(unsigned long pfn)
|
||||||
unsigned long nosave_end_pfn = PAGE_ALIGN(__pa_symbol(&__nosave_end)) >> PAGE_SHIFT;
|
unsigned long nosave_end_pfn = PAGE_ALIGN(__pa_symbol(&__nosave_end)) >> PAGE_SHIFT;
|
||||||
return (pfn >= nosave_begin_pfn) && (pfn < nosave_end_pfn);
|
return (pfn >= nosave_begin_pfn) && (pfn < nosave_end_pfn);
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_SOFTWARE_SUSPEND */
|
#endif /* CONFIG_HIBERNATION */
|
||||||
|
|
|
@ -202,7 +202,7 @@ static struct pm_ops acpi_pm_ops = {
|
||||||
.finish = acpi_pm_finish,
|
.finish = acpi_pm_finish,
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef CONFIG_SOFTWARE_SUSPEND
|
#ifdef CONFIG_HIBERNATION
|
||||||
static int acpi_hibernation_prepare(void)
|
static int acpi_hibernation_prepare(void)
|
||||||
{
|
{
|
||||||
return acpi_sleep_prepare(ACPI_STATE_S4);
|
return acpi_sleep_prepare(ACPI_STATE_S4);
|
||||||
|
@ -254,7 +254,7 @@ static struct hibernation_ops acpi_hibernation_ops = {
|
||||||
.pre_restore = acpi_hibernation_pre_restore,
|
.pre_restore = acpi_hibernation_pre_restore,
|
||||||
.restore_cleanup = acpi_hibernation_restore_cleanup,
|
.restore_cleanup = acpi_hibernation_restore_cleanup,
|
||||||
};
|
};
|
||||||
#endif /* CONFIG_SOFTWARE_SUSPEND */
|
#endif /* CONFIG_HIBERNATION */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* acpi_pm_device_sleep_state - return preferred power state of ACPI device
|
* acpi_pm_device_sleep_state - return preferred power state of ACPI device
|
||||||
|
@ -374,7 +374,7 @@ int __init acpi_sleep_init(void)
|
||||||
|
|
||||||
pm_set_ops(&acpi_pm_ops);
|
pm_set_ops(&acpi_pm_ops);
|
||||||
|
|
||||||
#ifdef CONFIG_SOFTWARE_SUSPEND
|
#ifdef CONFIG_HIBERNATION
|
||||||
if (sleep_states[ACPI_STATE_S4])
|
if (sleep_states[ACPI_STATE_S4])
|
||||||
hibernation_set_ops(&acpi_hibernation_ops);
|
hibernation_set_ops(&acpi_hibernation_ops);
|
||||||
#else
|
#else
|
||||||
|
|
|
@ -66,7 +66,7 @@ acpi_system_write_sleep(struct file *file,
|
||||||
goto Done;
|
goto Done;
|
||||||
}
|
}
|
||||||
state = simple_strtoul(str, NULL, 0);
|
state = simple_strtoul(str, NULL, 0);
|
||||||
#ifdef CONFIG_SOFTWARE_SUSPEND
|
#ifdef CONFIG_HIBERNATION
|
||||||
if (state == 4) {
|
if (state == 4) {
|
||||||
error = hibernate();
|
error = hibernate();
|
||||||
goto Done;
|
goto Done;
|
||||||
|
|
|
@ -352,7 +352,7 @@ static void tps65010_interrupt(struct tps65010 *tps)
|
||||||
/* REVISIT: this might need its own workqueue
|
/* REVISIT: this might need its own workqueue
|
||||||
* plus tweaks including deadlock avoidance ...
|
* plus tweaks including deadlock avoidance ...
|
||||||
* also needs to get error handling and probably
|
* also needs to get error handling and probably
|
||||||
* an #ifdef CONFIG_SOFTWARE_SUSPEND
|
* an #ifdef CONFIG_HIBERNATION
|
||||||
*/
|
*/
|
||||||
hibernate();
|
hibernate();
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -47,7 +47,7 @@ extern void e820_register_memory(void);
|
||||||
extern void limit_regions(unsigned long long size);
|
extern void limit_regions(unsigned long long size);
|
||||||
extern void print_memory_map(char *who);
|
extern void print_memory_map(char *who);
|
||||||
|
|
||||||
#if defined(CONFIG_PM) && defined(CONFIG_SOFTWARE_SUSPEND)
|
#if defined(CONFIG_PM) && defined(CONFIG_HIBERNATION)
|
||||||
extern void e820_mark_nosave_regions(void);
|
extern void e820_mark_nosave_regions(void);
|
||||||
#else
|
#else
|
||||||
static inline void e820_mark_nosave_regions(void)
|
static inline void e820_mark_nosave_regions(void)
|
||||||
|
|
|
@ -55,7 +55,7 @@ struct hibernation_ops {
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef CONFIG_PM
|
#ifdef CONFIG_PM
|
||||||
#ifdef CONFIG_SOFTWARE_SUSPEND
|
#ifdef CONFIG_HIBERNATION
|
||||||
/* kernel/power/snapshot.c */
|
/* kernel/power/snapshot.c */
|
||||||
extern void __register_nosave_region(unsigned long b, unsigned long e, int km);
|
extern void __register_nosave_region(unsigned long b, unsigned long e, int km);
|
||||||
static inline void register_nosave_region(unsigned long b, unsigned long e)
|
static inline void register_nosave_region(unsigned long b, unsigned long e)
|
||||||
|
@ -73,14 +73,14 @@ extern unsigned long get_safe_page(gfp_t gfp_mask);
|
||||||
|
|
||||||
extern void hibernation_set_ops(struct hibernation_ops *ops);
|
extern void hibernation_set_ops(struct hibernation_ops *ops);
|
||||||
extern int hibernate(void);
|
extern int hibernate(void);
|
||||||
#else /* CONFIG_SOFTWARE_SUSPEND */
|
#else /* CONFIG_HIBERNATION */
|
||||||
static inline int swsusp_page_is_forbidden(struct page *p) { return 0; }
|
static inline int swsusp_page_is_forbidden(struct page *p) { return 0; }
|
||||||
static inline void swsusp_set_page_free(struct page *p) {}
|
static inline void swsusp_set_page_free(struct page *p) {}
|
||||||
static inline void swsusp_unset_page_free(struct page *p) {}
|
static inline void swsusp_unset_page_free(struct page *p) {}
|
||||||
|
|
||||||
static inline void hibernation_set_ops(struct hibernation_ops *ops) {}
|
static inline void hibernation_set_ops(struct hibernation_ops *ops) {}
|
||||||
static inline int hibernate(void) { return -ENOSYS; }
|
static inline int hibernate(void) { return -ENOSYS; }
|
||||||
#endif /* CONFIG_SOFTWARE_SUSPEND */
|
#endif /* CONFIG_HIBERNATION */
|
||||||
|
|
||||||
void save_processor_state(void);
|
void save_processor_state(void);
|
||||||
void restore_processor_state(void);
|
void restore_processor_state(void);
|
||||||
|
@ -121,7 +121,7 @@ static inline int unregister_pm_notifier(struct notifier_block *nb)
|
||||||
#define pm_notifier(fn, pri) do { (void)(fn); } while (0)
|
#define pm_notifier(fn, pri) do { (void)(fn); } while (0)
|
||||||
#endif /* CONFIG_PM */
|
#endif /* CONFIG_PM */
|
||||||
|
|
||||||
#if !defined CONFIG_SOFTWARE_SUSPEND || !defined(CONFIG_PM)
|
#if !defined CONFIG_HIBERNATION || !defined(CONFIG_PM)
|
||||||
static inline void register_nosave_region(unsigned long b, unsigned long e)
|
static inline void register_nosave_region(unsigned long b, unsigned long e)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
|
@ -72,8 +72,8 @@ config PM_TRACE
|
||||||
CAUTION: this option will cause your machine's real-time clock to be
|
CAUTION: this option will cause your machine's real-time clock to be
|
||||||
set to an invalid time after a resume.
|
set to an invalid time after a resume.
|
||||||
|
|
||||||
config SOFTWARE_SUSPEND
|
config HIBERNATION
|
||||||
bool "Software Suspend (Hibernation)"
|
bool "Hibernation"
|
||||||
depends on PM && SWAP && (((X86 || PPC64_SWSUSP) && (!SMP || SUSPEND_SMP)) || ((FRV || PPC32) && !SMP))
|
depends on PM && SWAP && (((X86 || PPC64_SWSUSP) && (!SMP || SUSPEND_SMP)) || ((FRV || PPC32) && !SMP))
|
||||||
---help---
|
---help---
|
||||||
Enable the suspend to disk (STD) functionality, which is usually
|
Enable the suspend to disk (STD) functionality, which is usually
|
||||||
|
@ -112,7 +112,7 @@ config SOFTWARE_SUSPEND
|
||||||
|
|
||||||
config PM_STD_PARTITION
|
config PM_STD_PARTITION
|
||||||
string "Default resume partition"
|
string "Default resume partition"
|
||||||
depends on SOFTWARE_SUSPEND
|
depends on HIBERNATION
|
||||||
default ""
|
default ""
|
||||||
---help---
|
---help---
|
||||||
The default resume partition is the partition that the suspend-
|
The default resume partition is the partition that the suspend-
|
||||||
|
|
|
@ -5,6 +5,6 @@ endif
|
||||||
|
|
||||||
obj-y := main.o process.o console.o
|
obj-y := main.o process.o console.o
|
||||||
obj-$(CONFIG_PM_LEGACY) += pm.o
|
obj-$(CONFIG_PM_LEGACY) += pm.o
|
||||||
obj-$(CONFIG_SOFTWARE_SUSPEND) += swsusp.o disk.o snapshot.o swap.o user.o
|
obj-$(CONFIG_HIBERNATION) += swsusp.o disk.o snapshot.o swap.o user.o
|
||||||
|
|
||||||
obj-$(CONFIG_MAGIC_SYSRQ) += poweroff.o
|
obj-$(CONFIG_MAGIC_SYSRQ) += poweroff.o
|
||||||
|
|
|
@ -292,7 +292,7 @@ static ssize_t state_show(struct kset *kset, char *buf)
|
||||||
if (pm_states[i] && valid_state(i))
|
if (pm_states[i] && valid_state(i))
|
||||||
s += sprintf(s,"%s ", pm_states[i]);
|
s += sprintf(s,"%s ", pm_states[i]);
|
||||||
}
|
}
|
||||||
#ifdef CONFIG_SOFTWARE_SUSPEND
|
#ifdef CONFIG_HIBERNATION
|
||||||
s += sprintf(s, "%s\n", "disk");
|
s += sprintf(s, "%s\n", "disk");
|
||||||
#else
|
#else
|
||||||
if (s != buf)
|
if (s != buf)
|
||||||
|
|
|
@ -13,7 +13,7 @@ struct swsusp_info {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef CONFIG_SOFTWARE_SUSPEND
|
#ifdef CONFIG_HIBERNATION
|
||||||
/*
|
/*
|
||||||
* Keep some memory free so that I/O operations can succeed without paging
|
* Keep some memory free so that I/O operations can succeed without paging
|
||||||
* [Might this be more than 4 MB?]
|
* [Might this be more than 4 MB?]
|
||||||
|
|
|
@ -954,7 +954,7 @@ asmlinkage long sys_reboot(int magic1, int magic2, unsigned int cmd, void __user
|
||||||
unlock_kernel();
|
unlock_kernel();
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
#ifdef CONFIG_SOFTWARE_SUSPEND
|
#ifdef CONFIG_HIBERNATION
|
||||||
case LINUX_REBOOT_CMD_SW_SUSPEND:
|
case LINUX_REBOOT_CMD_SW_SUSPEND:
|
||||||
{
|
{
|
||||||
int ret = hibernate();
|
int ret = hibernate();
|
||||||
|
|
|
@ -116,11 +116,11 @@ config SPARSEMEM_EXTREME
|
||||||
config MEMORY_HOTPLUG
|
config MEMORY_HOTPLUG
|
||||||
bool "Allow for memory hot-add"
|
bool "Allow for memory hot-add"
|
||||||
depends on SPARSEMEM || X86_64_ACPI_NUMA
|
depends on SPARSEMEM || X86_64_ACPI_NUMA
|
||||||
depends on HOTPLUG && !SOFTWARE_SUSPEND && ARCH_ENABLE_MEMORY_HOTPLUG
|
depends on HOTPLUG && !HIBERNATION && ARCH_ENABLE_MEMORY_HOTPLUG
|
||||||
depends on (IA64 || X86 || PPC64 || SUPERH)
|
depends on (IA64 || X86 || PPC64 || SUPERH)
|
||||||
|
|
||||||
comment "Memory hotplug is currently incompatible with Software Suspend"
|
comment "Memory hotplug is currently incompatible with Software Suspend"
|
||||||
depends on SPARSEMEM && HOTPLUG && SOFTWARE_SUSPEND
|
depends on SPARSEMEM && HOTPLUG && HIBERNATION
|
||||||
|
|
||||||
config MEMORY_HOTPLUG_SPARSE
|
config MEMORY_HOTPLUG_SPARSE
|
||||||
def_bool y
|
def_bool y
|
||||||
|
|
|
@ -425,7 +425,7 @@ void free_swap_and_cache(swp_entry_t entry)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_SOFTWARE_SUSPEND
|
#ifdef CONFIG_HIBERNATION
|
||||||
/*
|
/*
|
||||||
* Find the swap type that corresponds to given device (if any).
|
* Find the swap type that corresponds to given device (if any).
|
||||||
*
|
*
|
||||||
|
@ -951,7 +951,7 @@ sector_t map_swap_page(struct swap_info_struct *sis, pgoff_t offset)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_SOFTWARE_SUSPEND
|
#ifdef CONFIG_HIBERNATION
|
||||||
/*
|
/*
|
||||||
* Get the (PAGE_SIZE) block corresponding to given offset on the swapdev
|
* Get the (PAGE_SIZE) block corresponding to given offset on the swapdev
|
||||||
* corresponding to given index in swap_info (swap type).
|
* corresponding to given index in swap_info (swap type).
|
||||||
|
@ -966,7 +966,7 @@ sector_t swapdev_block(int swap_type, pgoff_t offset)
|
||||||
sis = swap_info + swap_type;
|
sis = swap_info + swap_type;
|
||||||
return (sis->flags & SWP_WRITEOK) ? map_swap_page(sis, offset) : 0;
|
return (sis->flags & SWP_WRITEOK) ? map_swap_page(sis, offset) : 0;
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_SOFTWARE_SUSPEND */
|
#endif /* CONFIG_HIBERNATION */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Free all of a swapdev's extent information
|
* Free all of a swapdev's extent information
|
||||||
|
|
Загрузка…
Ссылка в новой задаче