x86/reboot: Add EFI reboot quirk for ACPI Hardware Reduced flag
It appears that the BayTrail-T class of hardware requires EFI in order to powerdown and reboot and no other reliable method exists. This quirk is generally applicable to all hardware that has the ACPI Hardware Reduced bit set, since usually ACPI would be the preferred method. Cc: Len Brown <len.brown@intel.com> Cc: Mark Salter <msalter@redhat.com> Cc: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com> Signed-off-by: Matt Fleming <matt.fleming@intel.com>
This commit is contained in:
@@ -28,6 +28,7 @@
|
||||
#include <linux/mc146818rtc.h>
|
||||
#include <asm/realmode.h>
|
||||
#include <asm/x86_init.h>
|
||||
#include <asm/efi.h>
|
||||
|
||||
/*
|
||||
* Power off function, if any
|
||||
@@ -401,12 +402,25 @@ static struct dmi_system_id __initdata reboot_dmi_table[] = {
|
||||
|
||||
static int __init reboot_init(void)
|
||||
{
|
||||
int rv;
|
||||
|
||||
/*
|
||||
* Only do the DMI check if reboot_type hasn't been overridden
|
||||
* on the command line
|
||||
*/
|
||||
if (reboot_default)
|
||||
dmi_check_system(reboot_dmi_table);
|
||||
if (!reboot_default)
|
||||
return 0;
|
||||
|
||||
/*
|
||||
* The DMI quirks table takes precedence. If no quirks entry
|
||||
* matches and the ACPI Hardware Reduced bit is set, force EFI
|
||||
* reboot.
|
||||
*/
|
||||
rv = dmi_check_system(reboot_dmi_table);
|
||||
|
||||
if (!rv && efi_reboot_required())
|
||||
reboot_type = BOOT_EFI;
|
||||
|
||||
return 0;
|
||||
}
|
||||
core_initcall(reboot_init);
|
||||
|
Reference in New Issue
Block a user