ACPI / sleep: Introduce CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT
ACPI 5.1 does not currently support S states for ARM64 hardware but ACPI code will call acpi_target_system_state() and acpi_sleep_init() for device power management, so introduce CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT and select it for x86 and ia64 only to make sleep functions available, and also introduce stub function to allow other drivers to function until S states are defined for ARM64. It will be no functional change for x86 and IA64. Suggested-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Signed-off-by: Graeme Gregory <graeme.gregory@linaro.org> Signed-off-by: Tomasz Nowicki <tomasz.nowicki@linaro.org> Signed-off-by: Hanjun Guo <hanjun.guo@linaro.org> Signed-off-by: Will Deacon <will.deacon@arm.com>
This commit is contained in:
parent
652261a7a8
commit
6e0a0ea129
|
@ -10,6 +10,7 @@ config IA64
|
||||||
select ARCH_MIGHT_HAVE_PC_SERIO
|
select ARCH_MIGHT_HAVE_PC_SERIO
|
||||||
select PCI if (!IA64_HP_SIM)
|
select PCI if (!IA64_HP_SIM)
|
||||||
select ACPI if (!IA64_HP_SIM)
|
select ACPI if (!IA64_HP_SIM)
|
||||||
|
select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI
|
||||||
select ARCH_MIGHT_HAVE_ACPI_PDC if ACPI
|
select ARCH_MIGHT_HAVE_ACPI_PDC if ACPI
|
||||||
select HAVE_UNSTABLE_SCHED_CLOCK
|
select HAVE_UNSTABLE_SCHED_CLOCK
|
||||||
select HAVE_IDE
|
select HAVE_IDE
|
||||||
|
|
|
@ -22,6 +22,7 @@ config X86_64
|
||||||
### Arch settings
|
### Arch settings
|
||||||
config X86
|
config X86
|
||||||
def_bool y
|
def_bool y
|
||||||
|
select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI
|
||||||
select ARCH_MIGHT_HAVE_ACPI_PDC if ACPI
|
select ARCH_MIGHT_HAVE_ACPI_PDC if ACPI
|
||||||
select ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS
|
select ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS
|
||||||
select ARCH_HAS_FAST_MULTIPLIER
|
select ARCH_HAS_FAST_MULTIPLIER
|
||||||
|
|
|
@ -48,9 +48,13 @@ config ACPI_LEGACY_TABLES_LOOKUP
|
||||||
config ARCH_MIGHT_HAVE_ACPI_PDC
|
config ARCH_MIGHT_HAVE_ACPI_PDC
|
||||||
bool
|
bool
|
||||||
|
|
||||||
|
config ACPI_SYSTEM_POWER_STATES_SUPPORT
|
||||||
|
bool
|
||||||
|
|
||||||
config ACPI_SLEEP
|
config ACPI_SLEEP
|
||||||
bool
|
bool
|
||||||
depends on SUSPEND || HIBERNATION
|
depends on SUSPEND || HIBERNATION
|
||||||
|
depends on ACPI_SYSTEM_POWER_STATES_SUPPORT
|
||||||
default y
|
default y
|
||||||
|
|
||||||
config ACPI_PROCFS_POWER
|
config ACPI_PROCFS_POWER
|
||||||
|
|
|
@ -23,7 +23,7 @@ acpi-y += nvs.o
|
||||||
|
|
||||||
# Power management related files
|
# Power management related files
|
||||||
acpi-y += wakeup.o
|
acpi-y += wakeup.o
|
||||||
acpi-y += sleep.o
|
acpi-$(CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT) += sleep.o
|
||||||
acpi-y += device_pm.o
|
acpi-y += device_pm.o
|
||||||
acpi-$(CONFIG_ACPI_SLEEP) += proc.o
|
acpi-$(CONFIG_ACPI_SLEEP) += proc.o
|
||||||
|
|
||||||
|
|
|
@ -161,7 +161,11 @@ void acpi_ec_remove_query_handler(struct acpi_ec *ec, u8 query_bit);
|
||||||
/*--------------------------------------------------------------------------
|
/*--------------------------------------------------------------------------
|
||||||
Suspend/Resume
|
Suspend/Resume
|
||||||
-------------------------------------------------------------------------- */
|
-------------------------------------------------------------------------- */
|
||||||
|
#ifdef CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT
|
||||||
extern int acpi_sleep_init(void);
|
extern int acpi_sleep_init(void);
|
||||||
|
#else
|
||||||
|
static inline int acpi_sleep_init(void) { return -ENXIO; }
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_ACPI_SLEEP
|
#ifdef CONFIG_ACPI_SLEEP
|
||||||
int acpi_sleep_proc_init(void);
|
int acpi_sleep_proc_init(void);
|
||||||
|
|
Loading…
Reference in New Issue