ACPI / PM: Introduce efi poweroff for HW-full platforms without _S5

The problem is Linux registers pm_power_off = efi_power_off only if
we are in hardware reduced mode. Actually, what we also want is to do
this when ACPI S5 is simply not supported on non-legacy platforms.
Since some future Intel platforms are HW-full mode where the DSDT
fails to supply an _S5 object(without SLP_TYP), we should let such
kind of platform to leverage efi runtime service to poweroff.

This patch uses efi power off as first choice when S5 is unavailable,
even if there is a customized poweroff(driver provided, eg).
Meanwhile, the legacy platforms will not be affected because there is
no path for them to overwrite the pm_power_off to efi power off.

Suggested-by: Len Brown <len.brown@intel.com>
Reviewed-by: Matt Fleming <matt@codeblueprint.co.uk>
Signed-off-by: Chen Yu <yu.c.chen@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Šī revīzija ir iekļauta:
Chen Yu
2016-03-22 08:51:10 +08:00
revīziju iesūtīja Rafael J. Wysocki
vecāks 9735a22799
revīzija 1373718194
3 mainīti faili ar 9 papildinājumiem un 1 dzēšanām

Parādīt failu

@@ -373,5 +373,5 @@ bool efi_reboot_required(void)
bool efi_poweroff_required(void)
{
return !!acpi_gbl_reduced_hardware;
return acpi_gbl_reduced_hardware || acpi_no_s5;
}