Merge branches 'acpi-debug', 'acpi-reboot', 'acpi-processor', 'acpi-dptf' and 'acpi-utils'

* acpi-debug:
  ACPI: debug: don't allow debugging when ACPI is disabled

* acpi-reboot:
  ACPI: reboot: Avoid racing after writing to ACPI RESET_REG

* acpi-processor:
  ACPI: processor: remove comment regarding string _UID support

* acpi-dptf:
  ACPI: DPTF: Add ACPI_DPTF Kconfig menu
  ACPI: DPTF: Fix participant driver names

* acpi-utils:
  ACPI: utils: remove unreachable breaks
This commit is contained in:
Rafael J. Wysocki 2020-10-23 18:16:56 +02:00
7 changed files with 40 additions and 12 deletions

View File

@ -749,6 +749,9 @@ static int __init acpi_aml_init(void)
{
int ret;
if (acpi_disabled)
return -ENODEV;
/* Initialize AML IO interface */
mutex_init(&acpi_aml_io.lock);
init_waitqueue_head(&acpi_aml_io.wait);

View File

@ -264,7 +264,6 @@ static int acpi_processor_get_info(struct acpi_device *device)
} else {
/*
* Declared with "Device" statement; match _UID.
* Note that we don't handle string _UIDs yet.
*/
status = acpi_evaluate_integer(pr->handle, METHOD_NAME__UID,
NULL, &value);

View File

@ -1,7 +1,24 @@
# SPDX-License-Identifier: GPL-2.0
config DPTF_POWER
tristate "DPTF Platform Power Participant"
menuconfig ACPI_DPTF
bool "Intel DPTF (Dynamic Platform and Thermal Framework) Support"
depends on X86
help
Intel Dynamic Platform and Thermal Framework (DPTF) is a platform
level hardware/software solution for power and thermal management.
As a container for multiple power/thermal technologies, DPTF provides
a coordinated approach for different policies to effect the hardware
state of a system.
For more information see:
<https://01.org/intel%C2%AE-dynamic-platform-and-thermal-framework-dptf-chromium-os/overview>
if ACPI_DPTF
config DPTF_POWER
tristate "Platform Power DPTF Participant"
default m
help
This driver adds support for Dynamic Platform and Thermal Framework
(DPTF) Platform Power Participant device (INT3407) support.
@ -16,15 +33,17 @@ config DPTF_POWER
the module will be called dptf_power.
config DPTF_PCH_FIVR
tristate "DPTF PCH FIVR Participant"
depends on X86
tristate "PCH FIVR DPTF Participant"
default m
help
This driver adds support for Dynamic Platform and Thermal Framework
(DPTF) PCH FIVR Participant device support. This driver allows to
switch PCH FIVR (Fully Integrated Voltage Regulator) frequency.
switch the PCH FIVR (Fully Integrated Voltage Regulator) frequency.
This participant is responsible for exposing:
freq_mhz_low_clock
freq_mhz_high_clock
To compile this driver as a module, choose M here:
the module will be called dptf_pch_fivr.
endif

View File

@ -114,7 +114,7 @@ static struct platform_driver pch_fivr_driver = {
.probe = pch_fivr_add,
.remove = pch_fivr_remove,
.driver = {
.name = "DPTF PCH FIVR",
.name = "dptf_pch_fivr",
.acpi_match_table = pch_fivr_device_ids,
},
};

View File

@ -237,7 +237,7 @@ static struct platform_driver dptf_power_driver = {
.probe = dptf_power_add,
.remove = dptf_power_remove,
.driver = {
.name = "DPTF Platform Power",
.name = "dptf_power",
.acpi_match_table = int3407_device_ids,
},
};

View File

@ -3,6 +3,7 @@
#include <linux/pci.h>
#include <linux/acpi.h>
#include <acpi/reboot.h>
#include <linux/delay.h>
#ifdef CONFIG_PCI
static void acpi_pci_reboot(struct acpi_generic_address *rr, u8 reset_value)
@ -66,4 +67,14 @@ void acpi_reboot(void)
acpi_reset();
break;
}
/*
* Some platforms do not shut down immediately after writing to the
* ACPI reset register, and this results in racing with the
* subsequent reboot mechanism.
*
* The 15ms delay has been found to be long enough for the system
* to reboot on the affected platforms.
*/
mdelay(15);
}

View File

@ -104,7 +104,6 @@ acpi_extract_package(union acpi_object *package,
" [%c]\n",
i, format_string[i]);
return AE_BAD_DATA;
break;
}
break;
@ -129,7 +128,6 @@ acpi_extract_package(union acpi_object *package,
" expecting [%c]\n",
i, format_string[i]);
return AE_BAD_DATA;
break;
}
break;
case ACPI_TYPE_LOCAL_REFERENCE:
@ -144,7 +142,6 @@ acpi_extract_package(union acpi_object *package,
" expecting [%c]\n",
i, format_string[i]);
return AE_BAD_DATA;
break;
}
break;
@ -155,7 +152,6 @@ acpi_extract_package(union acpi_object *package,
i));
/* TBD: handle nested packages... */
return AE_SUPPORT;
break;
}
}