Commit 3c8f504b authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'acpi-5.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

Pull ACPI updates from Rafael Wysocki:
 "These update the ACPICA code in the kernel to upstream revision
  20210105, fix and clean up the handling of device properties, add
  support for setting global profile of the platform, clean up device
  enumeration, the CPPC library, the APEI support and more, update the
  documentation, consolidate the printing of messages in several places
  and make assorted janitorial changes.

  Specifics:

   - Update ACPICA code in the kernel to upstream revision 20201113 with
     changes as follows:

      * Remove the MTMR (Mid-Timer) table (Al Stone).
      * Remove the VRTC table (Al Stone).
      * Add type casts for string functions (Bob Moore).
      * Update all copyrights to 2021 (Bob Moore).
      * Fix exception code class checks (Maximilian Luz).
      * Clean up exception code class checks (Maximilian Luz).
      * Fix -Wfallthrough (Nick Desaulniers).

   - Add support for setting and reading global profile of the platform
     along with documentation (Mark Pearson, Hans de Goede, Jiaxun
     Yang).

   - Fix fwnode properties matching and clean up the code handling
     device properties and its documentation (Rafael Wysocki, Andy
     Shevchenko).

   - Clean up ACPI-based device enumeration code (Rafael Wysocki).

   - Clean up the CPPC support library code (Ionela Voinescu).

   - Clean up the APEI support code (Yang Li, Yazen Ghannam).

   - Update GPIO-related properties documentation (Flavio Suligoi).

   - Consolidate and clean up the printing of messages in several places
     (Rafael Wysocki).

   - Fix error code path in configfs handling code (Qinglang Miao).

   - Use DEVICE_ATTR_<RW|RO|WO> macros where applicable (Dwaipayan Ray).

   - Replace tests for !ACPI_FAILURE with tests for ACPI_SUCCESS in
     multiple places (Bjorn Helgaas)"

* tag 'acpi-5.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (44 commits)
  ACPI: property: Satisfy kernel doc validator (part 2)
  ACPI: property: Satisfy kernel doc validator (part 1)
  ACPI: property: Make acpi_node_prop_read() static
  ACPI: property: Remove dead code
  ACPI: property: Fix fwnode string properties matching
  ACPI: OSL: Clean up printing messages
  ACPI: OSL: Rework acpi_check_resource_conflict()
  ACPI: APEI: ERST: remove unneeded semicolon
  ACPI: thermal: Clean up printing messages
  ACPI: video: Clean up printing messages
  ACPI: button: Clean up printing messages
  ACPI: battery: Clean up printing messages
  ACPI: AC: Clean up printing messages
  ACPI: bus: Drop ACPI_BUS_COMPONENT which is not used any more
  ACPI: utils: Clean up printing messages
  ACPI: scan: Clean up printing messages
  ACPI: bus: Clean up printing messages
  ACPI: PM: Clean up printing messages
  ACPI: power: Clean up printing messages
  ACPI: APEI: Add is_generic_error() to identify GHES sources
  ...
parents 02f9fc28 2d4eb331
What: /sys/firmware/acpi/platform_profile_choices
Date: October 2020
Contact: Hans de Goede <hdegoede@redhat.com>
Description: This file contains a space-separated list of profiles supported for this device.
Drivers must use the following standard profile-names:
============ ============================================
low-power Low power consumption
cool Cooler operation
quiet Quieter operation
balanced Balance between low power consumption and performance
performance High performance operation
============ ============================================
Userspace may expect drivers to offer more than one of these
standard profile names.
What: /sys/firmware/acpi/platform_profile
Date: October 2020
Contact: Hans de Goede <hdegoede@redhat.com>
Description: Reading this file gives the current selected profile for this
device. Writing this file with one of the strings from
platform_profile_choices changes the profile to the new value.
......@@ -52,19 +52,12 @@ shows the supported mask values, currently these::
ACPI_CA_DISASSEMBLER 0x00000800
ACPI_COMPILER 0x00001000
ACPI_TOOLS 0x00002000
ACPI_BUS_COMPONENT 0x00010000
ACPI_AC_COMPONENT 0x00020000
ACPI_BATTERY_COMPONENT 0x00040000
ACPI_BUTTON_COMPONENT 0x00080000
ACPI_SBS_COMPONENT 0x00100000
ACPI_FAN_COMPONENT 0x00200000
ACPI_PCI_COMPONENT 0x00400000
ACPI_POWER_COMPONENT 0x00800000
ACPI_CONTAINER_COMPONENT 0x01000000
ACPI_SYSTEM_COMPONENT 0x02000000
ACPI_THERMAL_COMPONENT 0x04000000
ACPI_MEMORY_DEVICE_COMPONENT 0x08000000
ACPI_VIDEO_COMPONENT 0x10000000
ACPI_PROCESSOR_COMPONENT 0x20000000
debug_level
......@@ -118,15 +111,15 @@ currently these::
Examples
========
For example, drivers/acpi/bus.c contains this::
For example, drivers/acpi/acpica/evxfevnt.c contains this::
#define _COMPONENT ACPI_BUS_COMPONENT
#define _COMPONENT ACPI_EVENTS
...
ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Device insertion detected\n"));
ACPI_DEBUG_PRINT((ACPI_DB_INIT, "ACPI mode disabled\n"));
To turn on this message, set the ACPI_BUS_COMPONENT bit in acpi.debug_layer
and the ACPI_LV_INFO bit in acpi.debug_level. (The ACPI_DEBUG_PRINT
statement uses ACPI_DB_INFO, which is macro based on the ACPI_LV_INFO
To turn on this message, set the ACPI_EVENTS bit in acpi.debug_layer
and the ACPI_LV_INIT bit in acpi.debug_level. (The ACPI_DEBUG_PRINT
statement uses ACPI_DB_INIT, which is a macro based on the ACPI_LV_INIT
definition.)
Enable all AML "Debug" output (stores to the Debug object while interpreting
......
......@@ -146,6 +146,7 @@ following rules (see also the examples):
other words, it is not mandatory to fill all the GPIO lines
- empty names are allowed (two quotation marks ``""`` correspond to an empty
name)
- names inside one GPIO controller/expander must be unique
Example of a GPIO controller of 16 lines, with an incomplete list with two
empty names::
......
......@@ -24,6 +24,7 @@ place where this information is gathered.
ioctl/index
iommu
media/index
sysfs-platform_profile
.. only:: subproject and html
......
=====================================================================
Platform Profile Selection (e.g. /sys/firmware/acpi/platform_profile)
=====================================================================
On modern systems the platform performance, temperature, fan and other
hardware related characteristics are often dynamically configurable. The
platform configuration is often automatically adjusted to the current
conditions by some automatic mechanism (which may very well live outside
the kernel).
These auto platform adjustment mechanisms often can be configured with
one of several platform profiles, with either a bias towards low power
operation or towards performance.
The purpose of the platform_profile attribute is to offer a generic sysfs
API for selecting the platform profile of these automatic mechanisms.
Note that this API is only for selecting the platform profile, it is
NOT a goal of this API to allow monitoring the resulting performance
characteristics. Monitoring performance is best done with device/vendor
specific tools such as e.g. turbostat.
Specifically when selecting a high performance profile the actual achieved
performance may be limited by various factors such as: the heat generated
by other components, room temperature, free air flow at the bottom of a
laptop, etc. It is explicitly NOT a goal of this API to let userspace know
about any sub-optimal conditions which are impeding reaching the requested
performance level.
Since numbers on their own cannot represent the multiple variables that a
profile will adjust (power consumption, heat generation, etc) this API
uses strings to describe the various profiles. To make sure that userspace
gets a consistent experience the sysfs-platform_profile ABI document defines
a fixed set of profile names. Drivers *must* map their internal profile
representation onto this fixed set.
If there is no good match when mapping then a new profile name may be
added. Drivers which wish to introduce new profile names must:
1. Explain why the existing profile names canot be used.
2. Add the new profile name, along with a clear description of the
expected behaviour, to the sysfs-platform_profile ABI documentation.
......@@ -326,6 +326,23 @@ config ACPI_THERMAL
To compile this driver as a module, choose M here:
the module will be called thermal.
config ACPI_PLATFORM_PROFILE
tristate "ACPI Platform Profile Driver"
default m
help
This driver adds support for platform-profiles on platforms that
support it.
Platform-profiles can be used to control the platform behaviour. For
example whether to operate in a lower power mode, in a higher
power performance mode or between the two.
This driver provides the sysfs interface and is used as the registration
point for platform specific drivers.
Which profiles are supported is determined on a per-platform basis and
should be obtained from the platform specific driver.
config ACPI_CUSTOM_DSDT_FILE
string "Custom DSDT Table file to include"
default ""
......
......@@ -79,6 +79,7 @@ obj-$(CONFIG_ACPI_PCI_SLOT) += pci_slot.o
obj-$(CONFIG_ACPI_PROCESSOR) += processor.o
obj-$(CONFIG_ACPI) += container.o
obj-$(CONFIG_ACPI_THERMAL) += thermal.o
obj-$(CONFIG_ACPI_PLATFORM_PROFILE) += platform_profile.o
obj-$(CONFIG_ACPI_NFIT) += nfit/
obj-$(CONFIG_ACPI_NUMA) += numa/
obj-$(CONFIG_ACPI) += acpi_memhotplug.o
......
......@@ -6,6 +6,8 @@
* Copyright (C) 2001, 2002 Paul Diefenbaugh <paul.s.diefenbaugh@intel.com>
*/
#define pr_fmt(fmt) "ACPI: AC: " fmt
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/slab.h>
......@@ -18,8 +20,6 @@
#include <linux/acpi.h>
#include <acpi/battery.h>
#define PREFIX "ACPI: "
#define ACPI_AC_CLASS "ac_adapter"
#define ACPI_AC_DEVICE_NAME "AC Adapter"
#define ACPI_AC_FILE_STATE "state"
......@@ -28,9 +28,6 @@
#define ACPI_AC_STATUS_ONLINE 0x01
#define ACPI_AC_STATUS_UNKNOWN 0xFF
#define _COMPONENT ACPI_AC_COMPONENT
ACPI_MODULE_NAME("ac");
MODULE_AUTHOR("Paul Diefenbaugh");
MODULE_DESCRIPTION("ACPI AC Adapter Driver");
MODULE_LICENSE("GPL");
......@@ -102,8 +99,9 @@ static int acpi_ac_get_state(struct acpi_ac *ac)
status = acpi_evaluate_integer(ac->device->handle, "_PSR", NULL,
&ac->state);
if (ACPI_FAILURE(status)) {
ACPI_EXCEPTION((AE_INFO, status,
"Error reading AC Adapter state"));
acpi_handle_info(ac->device->handle,
"Error reading AC Adapter state: %s\n",
acpi_format_exception(status));
ac->state = ACPI_AC_STATUS_UNKNOWN;
return -ENODEV;
}
......@@ -153,8 +151,8 @@ static void acpi_ac_notify(struct acpi_device *device, u32 event)
switch (event) {
default:
ACPI_DEBUG_PRINT((ACPI_DB_INFO,
"Unsupported event [0x%x]\n", event));
acpi_handle_debug(device->handle, "Unsupported event [0x%x]\n",
event);
fallthrough;
case ACPI_AC_NOTIFY_STATUS:
case ACPI_NOTIFY_BUS_CHECK:
......@@ -278,9 +276,8 @@ static int acpi_ac_add(struct acpi_device *device)
goto end;
}
printk(KERN_INFO PREFIX "%s [%s] (%s)\n",
acpi_device_name(device), acpi_device_bid(device),
ac->state ? "on-line" : "off-line");
pr_info("%s [%s] (%s)\n", acpi_device_name(device),
acpi_device_bid(device), ac->state ? "on-line" : "off-line");
ac->battery_nb.notifier_call = acpi_ac_battery_notify;
register_acpi_notifier(&ac->battery_nb);
......@@ -348,7 +345,7 @@ static int __init acpi_ac_init(void)
for (i = 0; i < ARRAY_SIZE(acpi_ac_blacklist); i++)
if (acpi_dev_present(acpi_ac_blacklist[i].hid, "1",
acpi_ac_blacklist[i].hrv)) {
pr_info(PREFIX "AC: found native %s PMIC, not loading\n",
pr_info("found native %s PMIC, not loading\n",
acpi_ac_blacklist[i].hid);
return -ENODEV;
}
......
......@@ -268,7 +268,12 @@ static int __init acpi_configfs_init(void)
acpi_table_group = configfs_register_default_group(root, "table",
&acpi_tables_type);
return PTR_ERR_OR_ZERO(acpi_table_group);
if (IS_ERR(acpi_table_group)) {
configfs_unregister_subsystem(&acpi_configfs);
return PTR_ERR(acpi_table_group);
}
return 0;
}
module_init(acpi_configfs_init);
......
......@@ -261,7 +261,7 @@ static uint32_t acpi_pad_idle_cpus_num(void)
return ps_tsk_num;
}
static ssize_t acpi_pad_rrtime_store(struct device *dev,
static ssize_t rrtime_store(struct device *dev,
struct device_attribute *attr, const char *buf, size_t count)
{
unsigned long num;
......@@ -275,16 +275,14 @@ static ssize_t acpi_pad_rrtime_store(struct device *dev,
return count;
}
static ssize_t acpi_pad_rrtime_show(struct device *dev,
static ssize_t rrtime_show(struct device *dev,
struct device_attribute *attr, char *buf)
{
return scnprintf(buf, PAGE_SIZE, "%d\n", round_robin_time);
}
static DEVICE_ATTR(rrtime, S_IRUGO|S_IWUSR,
acpi_pad_rrtime_show,
acpi_pad_rrtime_store);
static DEVICE_ATTR_RW(rrtime);
static ssize_t acpi_pad_idlepct_store(struct device *dev,
static ssize_t idlepct_store(struct device *dev,
struct device_attribute *attr, const char *buf, size_t count)
{
unsigned long num;
......@@ -298,16 +296,14 @@ static ssize_t acpi_pad_idlepct_store(struct device *dev,
return count;
}
static ssize_t acpi_pad_idlepct_show(struct device *dev,
static ssize_t idlepct_show(struct device *dev,
struct device_attribute *attr, char *buf)
{
return scnprintf(buf, PAGE_SIZE, "%d\n", idle_pct);
}
static DEVICE_ATTR(idlepct, S_IRUGO|S_IWUSR,
acpi_pad_idlepct_show,
acpi_pad_idlepct_store);
static DEVICE_ATTR_RW(idlepct);
static ssize_t acpi_pad_idlecpus_store(struct device *dev,
static ssize_t idlecpus_store(struct device *dev,
struct device_attribute *attr, const char *buf, size_t count)
{
unsigned long num;
......@@ -319,16 +315,14 @@ static ssize_t acpi_pad_idlecpus_store(struct device *dev,
return count;
}
static ssize_t acpi_pad_idlecpus_show(struct device *dev,
static ssize_t idlecpus_show(struct device *dev,
struct device_attribute *attr, char *buf)
{
return cpumap_print_to_pagebuf(false, buf,
to_cpumask(pad_busy_cpus_bits));
}
static DEVICE_ATTR(idlecpus, S_IRUGO|S_IWUSR,
acpi_pad_idlecpus_show,
acpi_pad_idlecpus_store);
static DEVICE_ATTR_RW(idlecpus);
static int acpi_pad_add_sysfs(struct acpi_device *device)
{
......
......@@ -237,7 +237,7 @@ static ssize_t time_show(struct device *dev, struct device_attribute *attr,
rt.tz, rt.daylight);
}
static DEVICE_ATTR(time, S_IRUSR | S_IWUSR, time_show, time_store);
static DEVICE_ATTR_RW(time);
static struct attribute *acpi_tad_time_attrs[] = {
&dev_attr_time.attr,
......@@ -446,7 +446,7 @@ static ssize_t ac_alarm_show(struct device *dev, struct device_attribute *attr,
return acpi_tad_alarm_read(dev, buf, ACPI_TAD_AC_TIMER);
}
static DEVICE_ATTR(ac_alarm, S_IRUSR | S_IWUSR, ac_alarm_show, ac_alarm_store);
static DEVICE_ATTR_RW(ac_alarm);
static ssize_t ac_policy_store(struct device *dev, struct device_attribute *attr,
const char *buf, size_t count)
......@@ -462,7 +462,7 @@ static ssize_t ac_policy_show(struct device *dev, struct device_attribute *attr,
return acpi_tad_policy_read(dev, buf, ACPI_TAD_AC_TIMER);
}
static DEVICE_ATTR(ac_policy, S_IRUSR | S_IWUSR, ac_policy_show, ac_policy_store);
static DEVICE_ATTR_RW(ac_policy);
static ssize_t ac_status_store(struct device *dev, struct device_attribute *attr,
const char *buf, size_t count)
......@@ -478,7 +478,7 @@ static ssize_t ac_status_show(struct device *dev, struct device_attribute *attr,
return acpi_tad_status_read(dev, buf, ACPI_TAD_AC_TIMER);
}
static DEVICE_ATTR(ac_status, S_IRUSR | S_IWUSR, ac_status_show, ac_status_store);
static DEVICE_ATTR_RW(ac_status);
static struct attribute *acpi_tad_attrs[] = {
&dev_attr_caps.attr,
......@@ -505,7 +505,7 @@ static ssize_t dc_alarm_show(struct device *dev, struct device_attribute *attr,
return acpi_tad_alarm_read(dev, buf, ACPI_TAD_DC_TIMER);
}
static DEVICE_ATTR(dc_alarm, S_IRUSR | S_IWUSR, dc_alarm_show, dc_alarm_store);
static DEVICE_ATTR_RW(dc_alarm);
static ssize_t dc_policy_store(struct device *dev, struct device_attribute *attr,
const char *buf, size_t count)
......@@ -521,7 +521,7 @@ static ssize_t dc_policy_show(struct device *dev, struct device_attribute *attr,
return acpi_tad_policy_read(dev, buf, ACPI_TAD_DC_TIMER);
}
static DEVICE_ATTR(dc_policy, S_IRUSR | S_IWUSR, dc_policy_show, dc_policy_store);
static DEVICE_ATTR_RW(dc_policy);
static ssize_t dc_status_store(struct device *dev, struct device_attribute *attr,
const char *buf, size_t count)
......@@ -537,7 +537,7 @@ static ssize_t dc_status_show(struct device *dev, struct device_attribute *attr,
return acpi_tad_status_read(dev, buf, ACPI_TAD_DC_TIMER);
}
static DEVICE_ATTR(dc_status, S_IRUSR | S_IWUSR, dc_status_show, dc_status_store);
static DEVICE_ATTR_RW(dc_status);
static struct attribute *acpi_tad_dc_attrs[] = {
&dev_attr_dc_alarm.attr,
......
This diff is collapsed.
......@@ -3,7 +3,7 @@
*
* Module Name: acapps - common include for ACPI applications/tools
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......@@ -17,7 +17,7 @@
/* Common info for tool signons */
#define ACPICA_NAME "Intel ACPI Component Architecture"
#define ACPICA_COPYRIGHT "Copyright (c) 2000 - 2020 Intel Corporation"
#define ACPICA_COPYRIGHT "Copyright (c) 2000 - 2021 Intel Corporation"
#if ACPI_MACHINE_WIDTH == 64
#define ACPI_WIDTH " (64-bit version)"
......
......@@ -3,7 +3,7 @@
*
* Name: accommon.h - Common include files for generation of ACPICA source
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: acapps - common include for ACPI applications/tools
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Name: acdebug.h - ACPI/AML debugger
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Name: acdispat.h - dispatcher (parser to interpreter interface)
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Name: acevents.h - Event subcomponent prototypes and defines
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Name: acglobal.h - Declarations for global variables
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Name: achware.h -- hardware specific interfaces
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Name: acinterp.h - Interpreter subcomponent prototypes and defines
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Name: aclocal.h - Internal data types used across the ACPI subsystem
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Name: acmacros.h - C macros for the entire subsystem.
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Name: acnamesp.h - Namespace subcomponent prototypes and defines
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Name: acobject.h - Definition of union acpi_operand_object (Internal object only)
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Name: acopcode.h - AML opcode information for the AML parser and interpreter
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: acparser.h - AML Parser subcomponent prototypes and defines
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Name: acpredef - Information table for ACPI predefined methods and objects
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Name: acresrc.h - Resource Manager function prototypes
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Name: acstruct.h - Internal structs
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Name: actables.h - ACPI table management
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Name: acutils.h -- prototypes for the common (subsystem-wide) procedures
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -5,7 +5,7 @@
* Declarations and definitions contained herein are derived
* directly from the ACPI specification.
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: amlresrc.h - AML resource descriptors
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: dbhistry - debugger HISTORY command
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -473,7 +473,7 @@ char *acpi_db_get_next_token(char *string,
/* Remove any spaces at the beginning, ignore blank lines */
while (*string && isspace(*string)) {
while (*string && isspace((int)*string)) {
string++;
}
......@@ -571,7 +571,7 @@ char *acpi_db_get_next_token(char *string,
/* Find end of token */
while (*string && !isspace(*string)) {
while (*string && !isspace((int)*string)) {
string++;
}
break;
......
......@@ -47,7 +47,7 @@ acpi_db_dump_method_info(acpi_status status, struct acpi_walk_state *walk_state)
/* Ignore control codes, they are not errors */
if ((status & AE_CODE_MASK) == AE_CODE_CONTROL) {
if (ACPI_CNTL_EXCEPTION(status)) {
return;
}
......
......@@ -4,7 +4,7 @@
* Module Name: dsargs - Support for execution of dynamic arguments for static
* objects (regions, fields, buffer fields, etc.)
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -4,7 +4,7 @@
* Module Name: dscontrol - Support for execution control opcodes -
* if/else/while/return
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......@@ -62,7 +62,7 @@ acpi_ds_exec_begin_control_op(struct acpi_walk_state *walk_state,
}
}
/*lint -fallthrough */
ACPI_FALLTHROUGH;
case AML_IF_OP:
/*
......
......@@ -3,7 +3,7 @@
*
* Module Name: dsdebug - Parser/Interpreter interface - debugging
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......@@ -100,7 +100,7 @@ acpi_ds_dump_method_stack(acpi_status status,
/* Ignore control codes, they are not errors */
if ((status & AE_CODE_MASK) == AE_CODE_CONTROL) {
if (ACPI_CNTL_EXCEPTION(status)) {
return_VOID;
}
......
......@@ -3,7 +3,7 @@
*
* Module Name: dsfield - Dispatcher field routines
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: dsinit - Object initialization namespace walk
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: dsmethod - Parser/Interpreter interface - control method parsing
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: dsobject - Dispatcher object management routines
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: dsopcode - Dispatcher support for regions and fields
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: dspkginit - Completion of deferred package initialization
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -4,7 +4,7 @@
* Module Name: dswexec - Dispatcher method execution callbacks;
* dispatch to interpreter.
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......@@ -598,8 +598,7 @@ acpi_status acpi_ds_exec_end_op(struct acpi_walk_state *walk_state)
break;
}
/* Fall through */
/*lint -fallthrough */
ACPI_FALLTHROUGH;
case AML_INT_EVAL_SUBTREE_OP:
......
......@@ -3,7 +3,7 @@
*
* Module Name: dswload - Dispatcher first pass namespace load callbacks
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......@@ -224,7 +224,7 @@ acpi_ds_load1_begin_op(struct acpi_walk_state *walk_state,
break;
}
/*lint -fallthrough */
ACPI_FALLTHROUGH;
default:
......
......@@ -3,7 +3,7 @@
*
* Module Name: dswload2 - Dispatcher second pass namespace load callbacks
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......@@ -214,7 +214,7 @@ acpi_ds_load2_begin_op(struct acpi_walk_state *walk_state,
break;
}
/*lint -fallthrough */
ACPI_FALLTHROUGH;
default:
......
......@@ -3,7 +3,7 @@
*
* Module Name: dswscope - Scope stack manipulation
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: dswstate - Dispatcher parse tree walk management routines
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: evevent - Fixed Event handling and dispatch
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: evglock - Global Lock support
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: evgpe - General Purpose Event handling and dispatch
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: evgpeblk - GPE block creation and initialization.
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: evgpeinit - System GPE initialization and update
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: evgpeutil - GPE utilities
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: evhandler - Support for Address Space handlers
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: evmisc - Miscellaneous event manager support functions
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: evregion - Operation Region support
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: evrgnini- ACPI address_space (op_region) init
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: evxface - External interfaces for ACPI events
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: evxfevnt - External Interfaces, ACPI event disable/enable
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: evxfgpe - External Interfaces for General Purpose Events (GPEs)
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -4,7 +4,7 @@
* Module Name: evxfregn - External Interfaces, ACPI Operation Regions and
* Address Spaces.
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exconcat - Concatenate-type AML operators
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exconfig - Namespace reconfiguration (Load/Unload opcodes)
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exconvrt - Object conversion routines
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: excreate - Named object creation
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exdebug - Support for stores to the AML Debug Object
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exdump - Interpreter debug output routines
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exfield - AML execution - field_unit read/write
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exfldio - Aml Field I/O
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......@@ -434,7 +434,7 @@ acpi_ex_field_datum_io(union acpi_operand_object *obj_desc,
* region_field case and write the datum to the Operation Region
*/
/*lint -fallthrough */
ACPI_FALLTHROUGH;
case ACPI_TYPE_LOCAL_REGION_FIELD:
/*
......
......@@ -3,7 +3,7 @@
*
* Module Name: exmisc - ACPI AML (p-code) execution - specific opcodes
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exmutex - ASL Mutex Acquire/Release functions
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exnames - interpreter/scanner name load/execute
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exoparg1 - AML execution - opcodes with 1 argument
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exoparg2 - AML execution - opcodes with 2 arguments
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exoparg3 - AML execution - opcodes with 3 arguments
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exoparg6 - AML execution - opcodes with 6 arguments
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exprep - ACPI AML field prep utilities
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exregion - ACPI default op_region (address space) handlers
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exresnte - AML Interpreter object resolution
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exresolv - AML Interpreter object resolution
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exresop - AML Interpreter operand/object resolution
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......@@ -198,7 +198,7 @@ acpi_ex_resolve_operands(u16 opcode,
target_op = AML_DEBUG_OP;
/*lint -fallthrough */
ACPI_FALLTHROUGH;
case ACPI_REFCLASS_ARG:
case ACPI_REFCLASS_LOCAL:
......@@ -264,7 +264,7 @@ acpi_ex_resolve_operands(u16 opcode,
* Else not a string - fall through to the normal Reference
* case below
*/
/*lint -fallthrough */
ACPI_FALLTHROUGH;
case ARGI_REFERENCE: /* References: */
case ARGI_INTEGER_REF:
......
......@@ -3,7 +3,7 @@
*
* Module Name: exserial - field_unit support for serial address spaces
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exstore - AML Interpreter object store support
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......@@ -96,7 +96,7 @@ acpi_ex_store(union acpi_operand_object *source_desc,
return_ACPI_STATUS(AE_OK);
}
/*lint -fallthrough */
ACPI_FALLTHROUGH;
default:
......@@ -422,7 +422,7 @@ acpi_ex_store_object_to_node(union acpi_operand_object *source_desc,
break;
}
/* Fallthrough */
ACPI_FALLTHROUGH;
case ACPI_TYPE_DEVICE:
case ACPI_TYPE_EVENT:
......
......@@ -4,7 +4,7 @@
* Module Name: exstoren - AML Interpreter object store support,
* Store to Node (namespace object)
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exstorob - AML object store support, store to object
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exsystem - Interface to OS services
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: extrace - Support for interpreter execution tracing
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exutils - interpreter/scanner utilities
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: hwacpi - ACPI Hardware Initialization/Mode Interface
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -4,7 +4,7 @@
* Name: hwesleep.c - ACPI Hardware Sleep/Wake Support functions for the
* extended FADT-V5 sleep registers.
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: hwgpe - Low level GPE enable/disable/clear functions
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......@@ -167,7 +167,7 @@ acpi_hw_low_set_gpe(struct acpi_gpe_event_info *gpe_event_info, u32 action)
return (AE_BAD_PARAMETER);
}
/*lint -fallthrough */
ACPI_FALLTHROUGH;
case ACPI_GPE_ENABLE:
......
......@@ -4,7 +4,7 @@
* Name: hwsleep.c - ACPI Hardware Sleep/Wake Support functions for the
* original/legacy sleep/PM registers.
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Name: hwtimer.c - ACPI Power Management Timer Interface
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: hwvalid - I/O request validation
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: hwxface - Public ACPICA hardware interfaces
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Name: hwxfsleep.c - ACPI Hardware Sleep/Wake External Interfaces
*
* Copyright (C) 2000 - 2020, Intel Corp.
* Copyright (C) 2000 - 2021, Intel Corp.
*
*****************************************************************************/
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment