Skip to content

Commit beb53e4

Browse files
committed
Merge tag 'acpi-4.9-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Pull ACPI fixes from Rafael Wysocki: "Two ACPI fixes for 4.9-rc7. One of them reverts a recent ACPI commit that attempted to improve reboot/power-off on some systems, but introduced problems elsewhere, and the other one fixes kernel builds with the new WDAT watchdog driver enabled in some configurations. Specifics: - Revert the recent commit that caused the ACPI _PTS method to be executed in the power-off/reboot code path (as per the specification) in an attempt to improve things on some systems (apparently expecting _PTS to be executed in that code path), but broke power-off/reboot on at least one other machine (Rafael Wysocki). - Fix kernel builds with the new WDAT watchdog driver enabled in some configurations by explicitly selecting WATCHDOG_CORE when enabling the WDAT watchdog driver (Mika Westerberg)" * tag 'acpi-4.9-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: watchdog: wdat_wdt: Select WATCHDOG_CORE Revert "ACPI: Execute _PTS before system reboot"
2 parents 6865644 + 7e5c07a commit beb53e4

File tree

2 files changed

+7
-23
lines changed

2 files changed

+7
-23
lines changed

drivers/acpi/sleep.c

Lines changed: 6 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -47,32 +47,15 @@ static void acpi_sleep_tts_switch(u32 acpi_state)
4747
}
4848
}
4949

50-
static void acpi_sleep_pts_switch(u32 acpi_state)
51-
{
52-
acpi_status status;
53-
54-
status = acpi_execute_simple_method(NULL, "\\_PTS", acpi_state);
55-
if (ACPI_FAILURE(status) && status != AE_NOT_FOUND) {
56-
/*
57-
* OS can't evaluate the _PTS object correctly. Some warning
58-
* message will be printed. But it won't break anything.
59-
*/
60-
printk(KERN_NOTICE "Failure in evaluating _PTS object\n");
61-
}
62-
}
63-
64-
static int sleep_notify_reboot(struct notifier_block *this,
50+
static int tts_notify_reboot(struct notifier_block *this,
6551
unsigned long code, void *x)
6652
{
6753
acpi_sleep_tts_switch(ACPI_STATE_S5);
68-
69-
acpi_sleep_pts_switch(ACPI_STATE_S5);
70-
7154
return NOTIFY_DONE;
7255
}
7356

74-
static struct notifier_block sleep_notifier = {
75-
.notifier_call = sleep_notify_reboot,
57+
static struct notifier_block tts_notifier = {
58+
.notifier_call = tts_notify_reboot,
7659
.next = NULL,
7760
.priority = 0,
7861
};
@@ -916,9 +899,9 @@ int __init acpi_sleep_init(void)
916899
pr_info(PREFIX "(supports%s)\n", supported);
917900

918901
/*
919-
* Register the sleep_notifier to reboot notifier list so that the _TTS
920-
* and _PTS object can also be evaluated when the system enters S5.
902+
* Register the tts_notifier to reboot notifier list so that the _TTS
903+
* object can also be evaluated when the system enters S5.
921904
*/
922-
register_reboot_notifier(&sleep_notifier);
905+
register_reboot_notifier(&tts_notifier);
923906
return 0;
924907
}

drivers/watchdog/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,7 @@ config TANGOX_WATCHDOG
155155
config WDAT_WDT
156156
tristate "ACPI Watchdog Action Table (WDAT)"
157157
depends on ACPI
158+
select WATCHDOG_CORE
158159
select ACPI_WATCHDOG
159160
help
160161
This driver adds support for systems with ACPI Watchdog Action

0 commit comments

Comments
 (0)