[tip:x86/boot] x86/ACPI: Parse ACPI_FADT_LEGACY_DEVICES

From: tip-bot for Luis R. Rodriguez
Date: Fri Apr 22 2016 - 05:54:50 EST


Commit-ID: 7a17b82ccd6671a4bb436df52eedeff906b02735
Gitweb: http://git.kernel.org/tip/7a17b82ccd6671a4bb436df52eedeff906b02735
Author: Luis R. Rodriguez <mcgrof@xxxxxxxxxx>
AuthorDate: Wed, 13 Apr 2016 17:04:42 -0700
Committer: Ingo Molnar <mingo@xxxxxxxxxx>
CommitDate: Fri, 22 Apr 2016 10:29:06 +0200

x86/ACPI: Parse ACPI_FADT_LEGACY_DEVICES

ACPI 5.2.9.3 IA-PC Boot Architecture flag ACPI_FADT_LEGACY_DEVICES
can be used to determine if a system has legacy devices LPC or
ISA devices. The x86 platform already has a struct which lists
known associated legacy devices, we start off careful only
by disabling root devices we should not regress with. The struct
and device list can be expanded with time to cover more root
legacy components.

Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Brian Gerst <brgerst@xxxxxxxxx>
Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: andrew.cooper3@xxxxxxxxxx
Cc: andriy.shevchenko@xxxxxxxxxxxxxxx
Cc: bigeasy@xxxxxxxxxxxxx
Cc: boris.ostrovsky@xxxxxxxxxx
Cc: david.vrabel@xxxxxxxxxx
Cc: ffainelli@xxxxxxxxxx
Cc: george.dunlap@xxxxxxxxxx
Cc: glin@xxxxxxxx
Cc: jgross@xxxxxxxx
Cc: jlee@xxxxxxxx
Cc: josh@xxxxxxxxxxxxxxxx
Cc: julien.grall@xxxxxxxxxx
Cc: konrad.wilk@xxxxxxxxxx
Cc: kozerkov@xxxxxxxxxxxxx
Cc: lenb@xxxxxxxxxx
Cc: lguest@xxxxxxxxxxxxxxxx
Cc: linux-acpi@xxxxxxxxxxxxxxx
Cc: lv.zheng@xxxxxxxxx
Cc: matt@xxxxxxxxxxxxxxxxxxx
Cc: mbizon@xxxxxxxxxx
Cc: rjw@xxxxxxxxxxxxx
Cc: robert.moore@xxxxxxxxx
Cc: rusty@xxxxxxxxxxxxxxx
Cc: tiwai@xxxxxxx
Cc: toshi.kani@xxxxxx
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Link: http://lkml.kernel.org/r/1460592286-300-13-git-send-email-mcgrof@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
---
arch/x86/kernel/acpi/boot.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
index 8c9c2bd..c9a06e5 100644
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
@@ -913,6 +913,11 @@ late_initcall(hpet_insert_resource);

static int __init acpi_parse_fadt(struct acpi_table_header *table)
{
+ if (!(acpi_gbl_FADT.boot_flags & ACPI_FADT_LEGACY_DEVICES)) {
+ pr_debug("ACPI: no legacy devices present\n");
+ x86_platform.legacy.devices.pnpbios = 0;
+ }
+
if (acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_CMOS_RTC) {
pr_debug("ACPI: not registering RTC platform device\n");
x86_platform.legacy.rtc = 0;