diff options
Diffstat (limited to 'kernel/drivers/acpi/Kconfig')
-rw-r--r-- | kernel/drivers/acpi/Kconfig | 433 |
1 files changed, 433 insertions, 0 deletions
diff --git a/kernel/drivers/acpi/Kconfig b/kernel/drivers/acpi/Kconfig new file mode 100644 index 000000000..ab2cbb51c --- /dev/null +++ b/kernel/drivers/acpi/Kconfig @@ -0,0 +1,433 @@ +# +# ACPI Configuration +# + +menuconfig ACPI + bool "ACPI (Advanced Configuration and Power Interface) Support" + depends on !IA64_HP_SIM + depends on IA64 || X86 || (ARM64 && EXPERT) + depends on PCI + select PNP + default y + help + Advanced Configuration and Power Interface (ACPI) support for + Linux requires an ACPI-compliant platform (hardware/firmware), + and assumes the presence of OS-directed configuration and power + management (OSPM) software. This option will enlarge your + kernel by about 70K. + + Linux ACPI provides a robust functional replacement for several + legacy configuration and power management interfaces, including + the Plug-and-Play BIOS specification (PnP BIOS), the + MultiProcessor Specification (MPS), and the Advanced Power + Management (APM) specification. If both ACPI and APM support + are configured, ACPI is used. + + The project home page for the Linux ACPI subsystem is here: + <https://01.org/linux-acpi> + + Linux support for ACPI is based on Intel Corporation's ACPI + Component Architecture (ACPI CA). For more information on the + ACPI CA, see: + <http://acpica.org/> + + ACPI is an open industry specification originally co-developed by + Hewlett-Packard, Intel, Microsoft, Phoenix, and Toshiba. Currently, + it is developed by the ACPI Specification Working Group (ASWG) under + the UEFI Forum and any UEFI member can join the ASWG and contribute + to the ACPI specification. + The specification is available at: + <http://www.acpi.info> + <http://www.uefi.org/acpi/specs> + +if ACPI + +config ACPI_LEGACY_TABLES_LOOKUP + bool + +config ARCH_MIGHT_HAVE_ACPI_PDC + bool + +config ACPI_GENERIC_GSI + 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 + bool "Deprecated power /proc/acpi directories" + depends on PROC_FS + help + For backwards compatibility, this option allows + deprecated power /proc/acpi/ directories to exist, even when + they have been replaced by functions in /sys. + The deprecated directories (and their replacements) include: + /proc/acpi/battery/* (/sys/class/power_supply/*) + /proc/acpi/ac_adapter/* (sys/class/power_supply/*) + This option has no effect on /proc/acpi/ directories + and functions, which do not yet exist in /sys + This option, together with the proc directories, will be + deleted in the future. + + Say N to delete power /proc/acpi/ directories that have moved to /sys/ + +config ACPI_EC_DEBUGFS + tristate "EC read/write access through /sys/kernel/debug/ec" + default n + help + Say N to disable Embedded Controller /sys/kernel/debug interface + + Be aware that using this interface can confuse your Embedded + Controller in a way that a normal reboot is not enough. You then + have to power off your system, and remove the laptop battery for + some seconds. + An Embedded Controller typically is available on laptops and reads + sensor values like battery state and temperature. + The kernel accesses the EC through ACPI parsed code provided by BIOS + tables. This option allows to access the EC directly without ACPI + code being involved. + Thus this option is a debug option that helps to write ACPI drivers + and can be used to identify ACPI code or EC firmware bugs. + +config ACPI_AC + tristate "AC Adapter" + depends on X86 + select POWER_SUPPLY + default y + help + This driver supports the AC Adapter object, which indicates + whether a system is on AC or not. If you have a system that can + switch between A/C and battery, say Y. + + To compile this driver as a module, choose M here: + the module will be called ac. + +config ACPI_BATTERY + tristate "Battery" + depends on X86 + select POWER_SUPPLY + default y + help + This driver adds support for battery information through + /proc/acpi/battery. If you have a mobile system with a battery, + say Y. + + To compile this driver as a module, choose M here: + the module will be called battery. + +config ACPI_BUTTON + tristate "Button" + depends on INPUT + default y + help + This driver handles events on the power, sleep, and lid buttons. + A daemon reads events from input devices or via netlink and + performs user-defined actions such as shutting down the system. + This is necessary for software-controlled poweroff. + + To compile this driver as a module, choose M here: + the module will be called button. + +config ACPI_VIDEO + tristate "Video" + depends on X86 && BACKLIGHT_CLASS_DEVICE + depends on INPUT + select THERMAL + help + This driver implements the ACPI Extensions For Display Adapters + for integrated graphics devices on motherboard, as specified in + ACPI 2.0 Specification, Appendix B. This supports basic operations + such as defining the video POST device, retrieving EDID information, + and setting up a video output. + + To compile this driver as a module, choose M here: + the module will be called video. + +config ACPI_FAN + tristate "Fan" + depends on THERMAL + default y + help + This driver supports ACPI fan devices, allowing user-mode + applications to perform basic fan control (on, off, status). + + To compile this driver as a module, choose M here: + the module will be called fan. + +config ACPI_DOCK + bool "Dock" + help + This driver supports ACPI-controlled docking stations and removable + drive bays such as the IBM Ultrabay and the Dell Module Bay. + +config ACPI_PROCESSOR + tristate "Processor" + select THERMAL + select CPU_IDLE + depends on X86 || IA64 + default y + help + This driver installs ACPI as the idle handler for Linux and uses + ACPI C2 and C3 processor states to save power on systems that + support it. It is required by several flavors of cpufreq + performance-state drivers. + + To compile this driver as a module, choose M here: + the module will be called processor. + +config ACPI_IPMI + tristate "IPMI" + depends on IPMI_SI + default n + help + This driver enables the ACPI to access the BMC controller. And it + uses the IPMI request/response message to communicate with BMC + controller, which can be found on on the server. + + To compile this driver as a module, choose M here: + the module will be called as acpi_ipmi. + +config ACPI_HOTPLUG_CPU + bool + depends on ACPI_PROCESSOR && HOTPLUG_CPU + select ACPI_CONTAINER + default y + +config ACPI_PROCESSOR_AGGREGATOR + tristate "Processor Aggregator" + depends on ACPI_PROCESSOR + depends on X86 + help + ACPI 4.0 defines processor Aggregator, which enables OS to perform + specific processor configuration and control that applies to all + processors in the platform. Currently only logical processor idling + is defined, which is to reduce power consumption. This driver + supports the new device. + +config ACPI_THERMAL + tristate "Thermal Zone" + depends on ACPI_PROCESSOR + select THERMAL + default y + help + This driver supports ACPI thermal zones. Most mobile and + some desktop systems support ACPI thermal zones. It is HIGHLY + recommended that this option be enabled, as your processor(s) + may be damaged without it. + + To compile this driver as a module, choose M here: + the module will be called thermal. + +config ACPI_NUMA + bool "NUMA support" + depends on NUMA + depends on (X86 || IA64) + default y if IA64_GENERIC || IA64_SGI_SN2 + +config ACPI_CUSTOM_DSDT_FILE + string "Custom DSDT Table file to include" + default "" + depends on !STANDALONE + help + This option supports a custom DSDT by linking it into the kernel. + See Documentation/acpi/dsdt-override.txt + + Enter the full path name to the file which includes the AmlCode + declaration. + + If unsure, don't enter a file name. + +config ACPI_CUSTOM_DSDT + bool + default ACPI_CUSTOM_DSDT_FILE != "" + +config ACPI_INITRD_TABLE_OVERRIDE + bool "ACPI tables override via initrd" + depends on BLK_DEV_INITRD && X86 + default n + help + This option provides functionality to override arbitrary ACPI tables + via initrd. No functional change if no ACPI tables are passed via + initrd, therefore it's safe to say Y. + See Documentation/acpi/initrd_table_override.txt for details + +config ACPI_DEBUG + bool "Debug Statements" + default n + help + The ACPI subsystem can produce debug output. Saying Y enables this + output and increases the kernel size by around 50K. + + Use the acpi.debug_layer and acpi.debug_level kernel command-line + parameters documented in Documentation/acpi/debug.txt and + Documentation/kernel-parameters.txt to control the type and + amount of debug output. + +config ACPI_PCI_SLOT + bool "PCI slot detection driver" + depends on SYSFS + default n + help + This driver creates entries in /sys/bus/pci/slots/ for all PCI + slots in the system. This can help correlate PCI bus addresses, + i.e., segment/bus/device/function tuples, with physical slots in + the system. If you are unsure, say N. + +config X86_PM_TIMER + bool "Power Management Timer Support" if EXPERT + depends on X86 + default y + help + The Power Management Timer is available on all ACPI-capable, + in most cases even if ACPI is unusable or blacklisted. + + This timing source is not affected by power management features + like aggressive processor idling, throttling, frequency and/or + voltage scaling, unlike the commonly used Time Stamp Counter + (TSC) timing source. + + You should nearly always say Y here because many modern + systems require this timer. + +config ACPI_CONTAINER + bool "Container and Module Devices" + default (ACPI_HOTPLUG_MEMORY || ACPI_HOTPLUG_CPU) + help + This driver supports ACPI Container and Module devices (IDs + ACPI0004, PNP0A05, and PNP0A06). + + This helps support hotplug of nodes, CPUs, and memory. + + To compile this driver as a module, choose M here: + the module will be called container. + +config ACPI_HOTPLUG_MEMORY + bool "Memory Hotplug" + depends on MEMORY_HOTPLUG + help + This driver supports ACPI memory hotplug. The driver + fields notifications on ACPI memory devices (PNP0C80), + which represent memory ranges that may be onlined or + offlined during runtime. + + If your hardware and firmware do not support adding or + removing memory devices at runtime, you need not enable + this driver. + + To compile this driver as a module, choose M here: + the module will be called acpi_memhotplug. + +config ACPI_HOTPLUG_IOAPIC + bool + depends on PCI + depends on X86_IO_APIC + default y + +config ACPI_SBS + tristate "Smart Battery System" + depends on X86 + select POWER_SUPPLY + help + This driver supports the Smart Battery System, another + type of access to battery information, found on some laptops. + + To compile this driver as a module, choose M here: + the modules will be called sbs and sbshc. + +config ACPI_HED + tristate "Hardware Error Device" + help + This driver supports the Hardware Error Device (PNP0C33), + which is used to report some hardware errors notified via + SCI, mainly the corrected errors. + +config ACPI_CUSTOM_METHOD + tristate "Allow ACPI methods to be inserted/replaced at run time" + depends on DEBUG_FS + default n + help + This debug facility allows ACPI AML methods to be inserted and/or + replaced without rebooting the system. For details refer to: + Documentation/acpi/method-customizing.txt. + + NOTE: This option is security sensitive, because it allows arbitrary + kernel memory to be written to by root (uid=0) users, allowing them + to bypass certain security measures (e.g. if root is not allowed to + load additional kernel modules after boot, this feature may be used + to override that restriction). + +config ACPI_BGRT + bool "Boottime Graphics Resource Table support" + depends on EFI && X86 + help + This driver adds support for exposing the ACPI Boottime Graphics + Resource Table, which allows the operating system to obtain + 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 + 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 + tristate "Extended Error Log support" + depends on X86_MCE && X86_LOCAL_APIC + select UEFI_CPER + select RAS + default n + help + Certain usages such as Predictive Failure Analysis (PFA) require + more information about the error than what can be described in + processor machine check banks. Most server processors log + additional information about the error in processor uncore + registers. Since the addresses and layout of these registers vary + widely from one processor to another, system software cannot + readily make use of them. To complicate matters further, some of + the additional error information cannot be constructed without + detailed knowledge about platform topology. + + Enhanced MCA Logging allows firmware to provide additional error + information to system software, synchronous with MCE or CMCI. This + driver adds support for that functionality with corresponding + tracepoint which carries that information to userspace. + +menuconfig PMIC_OPREGION + bool "PMIC (Power Management Integrated Circuit) operation region support" + help + Select this option to enable support for ACPI operation + region of the PMIC chip. The operation region can be used + to control power rails and sensor reading/writing on the + PMIC chip. + +if PMIC_OPREGION +config CRC_PMIC_OPREGION + bool "ACPI operation region support for CrystalCove PMIC" + depends on INTEL_SOC_PMIC + help + This config adds ACPI operation region support for CrystalCove PMIC. + +config XPOWER_PMIC_OPREGION + bool "ACPI operation region support for XPower AXP288 PMIC" + depends on AXP288_ADC = y + help + This config adds ACPI operation region support for XPower AXP288 PMIC. + +endif + +endif # ACPI |