ACPI: introduce CONFIG_ACPI_REDUCED_HARDWARE_ONLY

ACPI hardware reduced mode exists to allow newer platforms to use a
simpler form of ACPI that does not require supporting legacy versions
of the specification and their associated hardware.  This mode was
introduced in the ACPI 5.0 specification.

The ACPI hardware reduced mode is supposed to be used on systems
having the HW_REDUCED_ACPI flag set in the FADT.  ACPICA checks
that flag to determine whether or not it should work in the HW
reduced mode and there are pieces of code in it that will never
be used in that case.

Since some architecutres will always use the ACPI HW reduced mode,
it doesn't make sense for them to ever compile support for anything
else.  Thus, they should set the flag ACPI_REDUCED_HARDWARE to TRUE
in the ACPICA source.  To enable them to do that, introduce a new
kernel configuration option, CONFIG_ACPI_REDUCED_HARDWARE_ONLY, that
will cause the ACPICA's ACPI_REDUCED_HARDWARE flag to be TRUE when
set.

Introducing this configuration item is based on suggestions from Lv
Zheng saying that this does not belong in ACPICA, but rather to the
Linux kernel itself.

References: http://www.spinics.net/lists/linux-acpi/msg46369.html
Signed-off-by: Hanjun Guo <hanjun.guo@linaro.org>
Signed-off-by: Al Stone <al.stone@linaro.org>
[rjw: Subject and changelog]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
Al Stone 2014-01-17 11:51:30 -07:00 committed by Rafael J. Wysocki
parent 38dbfb59d1
commit af1ae78abb
2 changed files with 19 additions and 0 deletions

View File

@ -343,6 +343,19 @@ config ACPI_BGRT
data from the firmware boot splash. It will appear under
/sys/firmware/acpi/bgrt/ .
config ACPI_REDUCED_HARDWARE_ONLY
bool "Hardware-reduced ACPI support only" if EXPERT
def_bool n
depends on ACPI
help
This config item changes the way the ACPI code is built. When this
option is selected, the kernel will use a specialized version of
ACPICA that ONLY supports the ACPI "reduced hardware" mode. The
resulting kernel will be smaller but it will also be restricted to
running in ACPI reduced hardware mode ONLY.
If you are unsure what to do, do not enable this option.
source "drivers/acpi/apei/Kconfig"
config ACPI_EXTLOG

View File

@ -52,6 +52,12 @@
#ifdef __KERNEL__
/* Compile for reduced hardware mode only with this kernel config */
#ifdef CONFIG_ACPI_REDUCED_HARDWARE_ONLY
#define ACPI_REDUCED_HARDWARE 1
#endif
#include <linux/string.h>
#include <linux/kernel.h>
#include <linux/ctype.h>