Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6e0a0ea1 authored by Graeme Gregory's avatar Graeme Gregory Committed by Will Deacon
Browse files

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: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: default avatarLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Acked-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: default avatarGraeme Gregory <graeme.gregory@linaro.org>
Signed-off-by: default avatarTomasz Nowicki <tomasz.nowicki@linaro.org>
Signed-off-by: default avatarHanjun Guo <hanjun.guo@linaro.org>
Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
parent 652261a7
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@ config IA64
	select ARCH_MIGHT_HAVE_PC_SERIO
	select PCI 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 HAVE_UNSTABLE_SCHED_CLOCK
	select HAVE_IDE
+1 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ config X86_64
### Arch settings
config X86
	def_bool y
	select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI
	select ARCH_MIGHT_HAVE_ACPI_PDC if ACPI
	select ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS
	select ARCH_HAS_FAST_MULTIPLIER
+4 −0
Original line number Diff line number Diff line
@@ -48,9 +48,13 @@ config ACPI_LEGACY_TABLES_LOOKUP
config ARCH_MIGHT_HAVE_ACPI_PDC
	bool

config ACPI_SYSTEM_POWER_STATES_SUPPORT
	bool

config ACPI_SLEEP
	bool
	depends on SUSPEND || HIBERNATION
	depends on ACPI_SYSTEM_POWER_STATES_SUPPORT
	default y

config ACPI_PROCFS_POWER
+1 −1
Original line number Diff line number Diff line
@@ -23,7 +23,7 @@ acpi-y += nvs.o

# Power management related files
acpi-y				+= wakeup.o
acpi-y				+= sleep.o
acpi-$(CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT) += sleep.o
acpi-y				+= device_pm.o
acpi-$(CONFIG_ACPI_SLEEP)	+= proc.o

+4 −0
Original line number Diff line number Diff line
@@ -161,7 +161,11 @@ void acpi_ec_remove_query_handler(struct acpi_ec *ec, u8 query_bit);
/*--------------------------------------------------------------------------
                                  Suspend/Resume
  -------------------------------------------------------------------------- */
#ifdef CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT
extern int acpi_sleep_init(void);
#else
static inline int acpi_sleep_init(void) { return -ENXIO; }
#endif

#ifdef CONFIG_ACPI_SLEEP
int acpi_sleep_proc_init(void);