mirror of https://gitee.com/openkylin/linux.git
Pull kconfig into release branch
This commit is contained in:
commit
1e1f3f24cd
|
@ -2,7 +2,7 @@ obj-$(CONFIG_ACPI) += boot.o
|
|||
ifneq ($(CONFIG_PCI),)
|
||||
obj-$(CONFIG_X86_IO_APIC) += earlyquirk.o
|
||||
endif
|
||||
obj-$(CONFIG_ACPI_SLEEP) += sleep.o wakeup.o
|
||||
obj-$(CONFIG_ACPI) += sleep.o wakeup.o
|
||||
|
||||
ifneq ($(CONFIG_ACPI_PROCESSOR),)
|
||||
obj-y += cstate.o processor.o
|
||||
|
|
|
@ -422,7 +422,7 @@ void __init setup_bootmem_allocator(void)
|
|||
*/
|
||||
reserve_bootmem(PAGE_SIZE, PAGE_SIZE);
|
||||
#endif
|
||||
#ifdef CONFIG_ACPI_SLEEP
|
||||
#ifdef CONFIG_ACPI
|
||||
/*
|
||||
* Reserve low memory region for sleep support.
|
||||
*/
|
||||
|
|
|
@ -432,7 +432,7 @@ static void __init pagetable_init (void)
|
|||
paravirt_pagetable_setup_done(pgd_base);
|
||||
}
|
||||
|
||||
#if defined(CONFIG_SOFTWARE_SUSPEND) || defined(CONFIG_ACPI_SLEEP)
|
||||
#if defined(CONFIG_SOFTWARE_SUSPEND) || defined(CONFIG_ACPI)
|
||||
/*
|
||||
* Swap suspend & friends need this for resume because things like the intel-agp
|
||||
* driver might have split up a kernel 4MB mapping.
|
||||
|
|
|
@ -67,6 +67,8 @@ EXPORT_SYMBOL(pm_power_off);
|
|||
unsigned int acpi_cpei_override;
|
||||
unsigned int acpi_cpei_phys_cpuid;
|
||||
|
||||
unsigned long acpi_wakeup_address = 0;
|
||||
|
||||
const char __init *
|
||||
acpi_get_sysname(void)
|
||||
{
|
||||
|
@ -986,4 +988,21 @@ int acpi_unregister_ioapic(acpi_handle handle, u32 gsi_base)
|
|||
|
||||
EXPORT_SYMBOL(acpi_unregister_ioapic);
|
||||
|
||||
/*
|
||||
* acpi_save_state_mem() - save kernel state
|
||||
*
|
||||
* TBD when when IA64 starts to support suspend...
|
||||
*/
|
||||
int acpi_save_state_mem(void) { return 0; }
|
||||
|
||||
/*
|
||||
* acpi_restore_state()
|
||||
*/
|
||||
void acpi_restore_state_mem(void) {}
|
||||
|
||||
/*
|
||||
* do_suspend_lowlevel()
|
||||
*/
|
||||
void do_suspend_lowlevel(void) {}
|
||||
|
||||
#endif /* CONFIG_ACPI */
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
obj-y := boot.o
|
||||
boot-y := ../../../i386/kernel/acpi/boot.o
|
||||
obj-$(CONFIG_ACPI_SLEEP) += sleep.o wakeup.o
|
||||
obj-y += sleep.o wakeup.o
|
||||
|
||||
ifneq ($(CONFIG_ACPI_PROCESSOR),)
|
||||
obj-y += processor.o
|
||||
|
|
|
@ -51,8 +51,6 @@
|
|||
Low-Level Sleep Support
|
||||
-------------------------------------------------------------------------- */
|
||||
|
||||
#ifdef CONFIG_ACPI_SLEEP
|
||||
|
||||
/* address in low memory of the wakeup routine. */
|
||||
unsigned long acpi_wakeup_address = 0;
|
||||
unsigned long acpi_realmode_flags;
|
||||
|
@ -117,8 +115,6 @@ static int __init acpi_sleep_setup(char *str)
|
|||
|
||||
__setup("acpi_sleep=", acpi_sleep_setup);
|
||||
|
||||
#endif /*CONFIG_ACPI_SLEEP */
|
||||
|
||||
void acpi_pci_link_exit(void)
|
||||
{
|
||||
}
|
||||
|
|
|
@ -120,7 +120,7 @@ ident_complete:
|
|||
addq %rbp, trampoline_level4_pgt + 0(%rip)
|
||||
addq %rbp, trampoline_level4_pgt + (511*8)(%rip)
|
||||
#endif
|
||||
#ifdef CONFIG_ACPI_SLEEP
|
||||
#ifdef CONFIG_ACPI
|
||||
addq %rbp, wakeup_level4_pgt + 0(%rip)
|
||||
addq %rbp, wakeup_level4_pgt + (511*8)(%rip)
|
||||
#endif
|
||||
|
|
|
@ -333,7 +333,7 @@ void __init setup_arch(char **cmdline_p)
|
|||
reserve_bootmem_generic(SMP_TRAMPOLINE_BASE, 2*PAGE_SIZE);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_ACPI_SLEEP
|
||||
#ifdef CONFIG_ACPI
|
||||
/*
|
||||
* Reserve low memory region for sleep support.
|
||||
*/
|
||||
|
|
|
@ -11,6 +11,9 @@ menuconfig ACPI
|
|||
depends on PCI
|
||||
depends on PM
|
||||
select PNP
|
||||
# for sleep
|
||||
select HOTPLUG_CPU if X86 && SMP
|
||||
select SUSPEND_SMP if X86 && SMP
|
||||
default y
|
||||
---help---
|
||||
Advanced Configuration and Power Interface (ACPI) support for
|
||||
|
@ -42,51 +45,26 @@ menuconfig ACPI
|
|||
|
||||
if ACPI
|
||||
|
||||
config ACPI_SLEEP
|
||||
bool "Sleep States"
|
||||
depends on X86 && (!SMP || SUSPEND_SMP)
|
||||
default y
|
||||
---help---
|
||||
This option adds support for ACPI suspend states.
|
||||
|
||||
With this option, you will be able to put the system "to sleep".
|
||||
Sleep states are low power states for the system and devices. All
|
||||
of the system operating state is saved to either memory or disk
|
||||
(depending on the state), to allow the system to resume operation
|
||||
quickly at your request.
|
||||
|
||||
Although this option sounds really nifty, barely any of the device
|
||||
drivers have been converted to the new driver model and hence few
|
||||
have proper power management support.
|
||||
|
||||
This option is not recommended for anyone except those doing driver
|
||||
power management development.
|
||||
|
||||
config ACPI_SLEEP_PROC_FS
|
||||
bool
|
||||
depends on ACPI_SLEEP && PROC_FS
|
||||
default y
|
||||
|
||||
config ACPI_SLEEP_PROC_SLEEP
|
||||
bool "/proc/acpi/sleep (deprecated)"
|
||||
depends on ACPI_SLEEP_PROC_FS
|
||||
default n
|
||||
---help---
|
||||
Create /proc/acpi/sleep
|
||||
Deprecated by /sys/power/state
|
||||
|
||||
config ACPI_PROCFS
|
||||
bool "Procfs interface (deprecated)"
|
||||
default y
|
||||
bool "Deprecated /proc/acpi files"
|
||||
depends on PROC_FS
|
||||
---help---
|
||||
The Procfs interface for ACPI is made optional for backward compatibility.
|
||||
As the same functions are duplicated in the sysfs interface
|
||||
and this proc interface will be removed some time later,
|
||||
it's marked as deprecated.
|
||||
( /proc/acpi/debug_layer && debug_level are deprecated by
|
||||
/sys/module/acpi/parameters/debug_layer && debug_level.
|
||||
/proc/acpi/info is deprecated by
|
||||
/sys/module/acpi/parameters/acpica_version )
|
||||
For backwards compatibility, this option allows
|
||||
depricated /proc/acpi/ files to exist, even when
|
||||
they have been replaced by functions in /sys.
|
||||
The deprecated files (and their replacements) include:
|
||||
|
||||
/proc/acpi/sleep (/sys/power/state)
|
||||
/proc/acpi/info (/sys/modules/acpi/parameters/acpica_version)
|
||||
/proc/acpi/dsdt (/sys/firmware/acpi/tables/DSDT)
|
||||
/proc/acpi/fadt (/sys/firmware/acpi/tables/FACP)
|
||||
/proc/acpi/debug_layer (/sys/module/acpi/parameters/debug_layer)
|
||||
/proc/acpi/debug_level (/sys/module/acpi/parameters/debug_level)
|
||||
|
||||
This option has no effect on /proc/acpi/ files
|
||||
and functions which do not yet exist in /sys.
|
||||
|
||||
Say N to delete /proc/acpi/ files that have moved to /sys/
|
||||
|
||||
config ACPI_AC
|
||||
tristate "AC Adapter"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
obj-y := poweroff.o wakeup.o
|
||||
obj-$(CONFIG_ACPI_SLEEP) += main.o
|
||||
obj-$(CONFIG_ACPI_SLEEP_PROC_FS) += proc.o
|
||||
obj-y += main.o
|
||||
obj-$(CONFIG_X86) += proc.o
|
||||
|
||||
EXTRA_CFLAGS += $(ACPI_CFLAGS)
|
||||
|
|
|
@ -136,10 +136,12 @@ static int acpi_pm_finish(suspend_state_t pm_state)
|
|||
/* reset firmware waking vector */
|
||||
acpi_set_firmware_waking_vector((acpi_physical_address) 0);
|
||||
|
||||
#ifdef CONFIG_X86
|
||||
if (init_8259A_after_S1) {
|
||||
printk("Broken toshiba laptop -> kicking interrupts\n");
|
||||
init_8259A(0);
|
||||
}
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -18,7 +18,6 @@
|
|||
|
||||
int acpi_sleep_prepare(u32 acpi_state)
|
||||
{
|
||||
#ifdef CONFIG_ACPI_SLEEP
|
||||
/* do we have a wakeup address for S2 and S3? */
|
||||
if (acpi_state == ACPI_STATE_S3) {
|
||||
if (!acpi_wakeup_address) {
|
||||
|
@ -31,7 +30,6 @@ int acpi_sleep_prepare(u32 acpi_state)
|
|||
}
|
||||
ACPI_FLUSH_CPU_CACHE();
|
||||
acpi_enable_wakeup_device_prep(acpi_state);
|
||||
#endif
|
||||
acpi_gpe_sleep_prepare(acpi_state);
|
||||
acpi_enter_sleep_state_prep(acpi_state);
|
||||
return 0;
|
||||
|
|
|
@ -14,8 +14,16 @@
|
|||
#include "sleep.h"
|
||||
|
||||
#define _COMPONENT ACPI_SYSTEM_COMPONENT
|
||||
|
||||
/*
|
||||
* this file provides support for:
|
||||
* /proc/acpi/sleep
|
||||
* /proc/acpi/alarm
|
||||
* /proc/acpi/wakeup
|
||||
*/
|
||||
|
||||
ACPI_MODULE_NAME("sleep")
|
||||
#ifdef CONFIG_ACPI_SLEEP_PROC_SLEEP
|
||||
#ifdef CONFIG_ACPI_PROCFS
|
||||
static int acpi_system_sleep_seq_show(struct seq_file *seq, void *offset)
|
||||
{
|
||||
int i;
|
||||
|
@ -68,7 +76,7 @@ acpi_system_write_sleep(struct file *file,
|
|||
Done:
|
||||
return error ? error : count;
|
||||
}
|
||||
#endif /* CONFIG_ACPI_SLEEP_PROC_SLEEP */
|
||||
#endif /* CONFIG_ACPI_PROCFS */
|
||||
|
||||
#if defined(CONFIG_RTC_DRV_CMOS) || defined(CONFIG_RTC_DRV_CMOS_MODULE)
|
||||
/* use /sys/class/rtc/rtcX/wakealarm instead; it's not ACPI-specific */
|
||||
|
@ -463,7 +471,7 @@ static const struct file_operations acpi_system_wakeup_device_fops = {
|
|||
.release = single_release,
|
||||
};
|
||||
|
||||
#ifdef CONFIG_ACPI_SLEEP_PROC_SLEEP
|
||||
#ifdef CONFIG_ACPI_PROCFS
|
||||
static const struct file_operations acpi_system_sleep_fops = {
|
||||
.open = acpi_system_sleep_open_fs,
|
||||
.read = seq_read,
|
||||
|
@ -471,7 +479,7 @@ static const struct file_operations acpi_system_sleep_fops = {
|
|||
.llseek = seq_lseek,
|
||||
.release = single_release,
|
||||
};
|
||||
#endif /* CONFIG_ACPI_SLEEP_PROC_SLEEP */
|
||||
#endif /* CONFIG_ACPI_PROCFS */
|
||||
|
||||
#ifdef HAVE_ACPI_LEGACY_ALARM
|
||||
static const struct file_operations acpi_system_alarm_fops = {
|
||||
|
@ -498,14 +506,14 @@ static int __init acpi_sleep_proc_init(void)
|
|||
if (acpi_disabled)
|
||||
return 0;
|
||||
|
||||
#ifdef CONFIG_ACPI_SLEEP_PROC_SLEEP
|
||||
#ifdef CONFIG_ACPI_PROCFS
|
||||
/* 'sleep' [R/W] */
|
||||
entry =
|
||||
create_proc_entry("sleep", S_IFREG | S_IRUGO | S_IWUSR,
|
||||
acpi_root_dir);
|
||||
if (entry)
|
||||
entry->proc_fops = &acpi_system_sleep_fops;
|
||||
#endif
|
||||
#endif /* CONFIG_ACPI_PROCFS */
|
||||
|
||||
#ifdef HAVE_ACPI_LEGACY_ALARM
|
||||
/* 'alarm' [R/W] */
|
||||
|
|
|
@ -17,7 +17,6 @@ ACPI_MODULE_NAME("wakeup_devices")
|
|||
extern struct list_head acpi_wakeup_device_list;
|
||||
extern spinlock_t acpi_device_lock;
|
||||
|
||||
#ifdef CONFIG_ACPI_SLEEP
|
||||
/**
|
||||
* acpi_enable_wakeup_device_prep - prepare wakeup devices
|
||||
* @sleep_state: ACPI state
|
||||
|
@ -180,7 +179,6 @@ static int __init acpi_wakeup_device_init(void)
|
|||
}
|
||||
|
||||
late_initcall(acpi_wakeup_device_init);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Disable all wakeup GPEs before entering requested sleep state.
|
||||
|
|
|
@ -142,10 +142,6 @@ static inline void unregister_hotplug_dock_device(acpi_handle handle)
|
|||
/*--------------------------------------------------------------------------
|
||||
Suspend/Resume
|
||||
-------------------------------------------------------------------------- */
|
||||
#ifdef CONFIG_ACPI_SLEEP
|
||||
extern int acpi_sleep_init(void);
|
||||
#else
|
||||
#define acpi_sleep_init() do {} while (0)
|
||||
#endif
|
||||
|
||||
#endif /*__ACPI_DRIVERS_H__*/
|
||||
|
|
|
@ -121,6 +121,15 @@ static inline void acpi_disable_pci(void)
|
|||
}
|
||||
extern int acpi_irq_balance_set(char *str);
|
||||
|
||||
/* routines for saving/restoring kernel state */
|
||||
extern int acpi_save_state_mem(void);
|
||||
extern void acpi_restore_state_mem(void);
|
||||
|
||||
extern unsigned long acpi_wakeup_address;
|
||||
|
||||
/* early initialization routine */
|
||||
extern void acpi_reserve_bootmem(void);
|
||||
|
||||
#else /* !CONFIG_ACPI */
|
||||
|
||||
#define acpi_lapic 0
|
||||
|
@ -131,20 +140,6 @@ static inline void disable_acpi(void) { }
|
|||
|
||||
#endif /* !CONFIG_ACPI */
|
||||
|
||||
|
||||
#ifdef CONFIG_ACPI_SLEEP
|
||||
|
||||
/* routines for saving/restoring kernel state */
|
||||
extern int acpi_save_state_mem(void);
|
||||
extern void acpi_restore_state_mem(void);
|
||||
|
||||
extern unsigned long acpi_wakeup_address;
|
||||
|
||||
/* early initialization routine */
|
||||
extern void acpi_reserve_bootmem(void);
|
||||
|
||||
#endif /*CONFIG_ACPI_SLEEP*/
|
||||
|
||||
#define ARCH_HAS_POWER_INIT 1
|
||||
|
||||
#endif /*__KERNEL__*/
|
||||
|
|
|
@ -21,7 +21,7 @@ struct saved_context {
|
|||
unsigned long return_address;
|
||||
} __attribute__((packed));
|
||||
|
||||
#ifdef CONFIG_ACPI_SLEEP
|
||||
#ifdef CONFIG_ACPI
|
||||
extern unsigned long saved_eip;
|
||||
extern unsigned long saved_esp;
|
||||
extern unsigned long saved_ebp;
|
||||
|
|
|
@ -100,6 +100,11 @@ const char *acpi_get_sysname (void);
|
|||
int acpi_request_vector (u32 int_type);
|
||||
int acpi_gsi_to_irq (u32 gsi, unsigned int *irq);
|
||||
|
||||
/* routines for saving/restoring kernel state */
|
||||
extern int acpi_save_state_mem(void);
|
||||
extern void acpi_restore_state_mem(void);
|
||||
extern unsigned long acpi_wakeup_address;
|
||||
|
||||
/*
|
||||
* Record the cpei override flag and current logical cpu. This is
|
||||
* useful for CPU removal.
|
||||
|
|
|
@ -108,6 +108,15 @@ static inline void acpi_disable_pci(void)
|
|||
}
|
||||
extern int acpi_irq_balance_set(char *str);
|
||||
|
||||
/* routines for saving/restoring kernel state */
|
||||
extern int acpi_save_state_mem(void);
|
||||
extern void acpi_restore_state_mem(void);
|
||||
|
||||
extern unsigned long acpi_wakeup_address;
|
||||
|
||||
/* early initialization routine */
|
||||
extern void acpi_reserve_bootmem(void);
|
||||
|
||||
#else /* !CONFIG_ACPI */
|
||||
|
||||
#define acpi_lapic 0
|
||||
|
@ -121,19 +130,6 @@ extern int acpi_numa;
|
|||
extern int acpi_scan_nodes(unsigned long start, unsigned long end);
|
||||
#define NR_NODE_MEMBLKS (MAX_NUMNODES*2)
|
||||
|
||||
#ifdef CONFIG_ACPI_SLEEP
|
||||
|
||||
/* routines for saving/restoring kernel state */
|
||||
extern int acpi_save_state_mem(void);
|
||||
extern void acpi_restore_state_mem(void);
|
||||
|
||||
extern unsigned long acpi_wakeup_address;
|
||||
|
||||
/* early initialization routine */
|
||||
extern void acpi_reserve_bootmem(void);
|
||||
|
||||
#endif /*CONFIG_ACPI_SLEEP*/
|
||||
|
||||
extern int acpi_disabled;
|
||||
extern int acpi_pci_disabled;
|
||||
|
||||
|
|
|
@ -44,7 +44,6 @@ extern unsigned long saved_context_eflags;
|
|||
|
||||
extern void fix_processor_context(void);
|
||||
|
||||
#ifdef CONFIG_ACPI_SLEEP
|
||||
extern unsigned long saved_rip;
|
||||
extern unsigned long saved_rsp;
|
||||
extern unsigned long saved_rbp;
|
||||
|
@ -54,4 +53,3 @@ extern unsigned long saved_rdi;
|
|||
|
||||
/* routines for saving/restoring kernel state */
|
||||
extern int acpi_save_state_mem(void);
|
||||
#endif
|
||||
|
|
|
@ -689,7 +689,7 @@ static ctl_table kern_table[] = {
|
|||
.proc_handler = &proc_dointvec,
|
||||
},
|
||||
#endif
|
||||
#ifdef CONFIG_ACPI_SLEEP
|
||||
#if defined(CONFIG_ACPI) && defined(CONFIG_X86)
|
||||
{
|
||||
.ctl_name = KERN_ACPI_VIDEO_FLAGS,
|
||||
.procname = "acpi_video_flags",
|
||||
|
|
Loading…
Reference in New Issue