Skip to content

Commit

Permalink
Merge branches 'acpi-debug', 'acpi-reboot', 'acpi-processor', 'acpi-d…
Browse files Browse the repository at this point in the history
…ptf' 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
  • Loading branch information
rafaeljw committed Oct 23, 2020
6 parents 652af65 + 0fada27 + 9a48888 + d85cc66 + d7a4a85 + abcba2e commit 2818cc7
Show file tree
Hide file tree
Showing 7 changed files with 40 additions and 12 deletions.
3 changes: 3 additions & 0 deletions drivers/acpi/acpi_dbg.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
1 change: 0 additions & 1 deletion drivers/acpi/acpi_processor.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
29 changes: 24 additions & 5 deletions drivers/acpi/dptf/Kconfig
Original file line number Diff line number Diff line change
@@ -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.
Expand All @@ -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
2 changes: 1 addition & 1 deletion drivers/acpi/dptf/dptf_pch_fivr.c
Original file line number Diff line number Diff line change
Expand Up @@ -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,
},
};
Expand Down
2 changes: 1 addition & 1 deletion drivers/acpi/dptf/dptf_power.c
Original file line number Diff line number Diff line change
Expand Up @@ -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,
},
};
Expand Down
11 changes: 11 additions & 0 deletions drivers/acpi/reboot.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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);
}
4 changes: 0 additions & 4 deletions drivers/acpi/utils.c
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,6 @@ acpi_extract_package(union acpi_object *package,
" [%c]\n",
i, format_string[i]);
return AE_BAD_DATA;
break;
}
break;

Expand All @@ -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:
Expand All @@ -144,7 +142,6 @@ acpi_extract_package(union acpi_object *package,
" expecting [%c]\n",
i, format_string[i]);
return AE_BAD_DATA;
break;
}
break;

Expand All @@ -155,7 +152,6 @@ acpi_extract_package(union acpi_object *package,
i));
/* TBD: handle nested packages... */
return AE_SUPPORT;
break;
}
}

Expand Down

0 comments on commit 2818cc7

Please sign in to comment.