aboutsummaryrefslogtreecommitdiff
path: root/src/arch/x86/acpi_device.c
diff options
context:
space:
mode:
authorHung-Te Lin <hungte@chromium.org>2018-09-10 10:55:49 +0800
committerPatrick Georgi <pgeorgi@google.com>2018-09-16 08:37:42 +0000
commitb4be50c9ca3651e4124cde57f227203b47399eab (patch)
treec36a63662a40aea91c3053e1324aecc18ef2a968 /src/arch/x86/acpi_device.c
parent936dbe1d064b24bb5f38889d50795e68a2309e62 (diff)
acpi: Call acpi_gen_writeSTA by status from device tree
The device tree now supports 'hidden' and the status can be found in `struct device.hidden`. A new acpi_device_status() will return the expected setting of STA from a `struct device`. BUG=b:72200466 BRANCH=eve TEST=Builds and boots properly on device eve Change-Id: I6dc62aff63cc3cb950739398a4dcac21836c9766 Signed-off-by: Hung-Te Lin <hungte@chromium.org> Reviewed-on: https://review.coreboot.org/28567 Reviewed-by: Duncan Laurie <dlaurie@chromium.org> Reviewed-by: Furquan Shaikh <furquan@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/arch/x86/acpi_device.c')
-rw-r--r--src/arch/x86/acpi_device.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/arch/x86/acpi_device.c b/src/arch/x86/acpi_device.c
index a5984da1d7..48b7fee26c 100644
--- a/src/arch/x86/acpi_device.c
+++ b/src/arch/x86/acpi_device.c
@@ -166,6 +166,15 @@ const char *acpi_device_path_join(struct device *dev, const char *name)
return buf;
}
+int acpi_device_status(const struct device *dev)
+{
+ if (!dev->enabled)
+ return ACPI_STATUS_DEVICE_ALL_OFF;
+ if (dev->hidden)
+ return ACPI_STATUS_DEVICE_HIDDEN_ON;
+ return ACPI_STATUS_DEVICE_ALL_ON;
+}
+
/* ACPI 6.1 section 6.4.3.6: Extended Interrupt Descriptor */
void acpi_device_write_interrupt(const struct acpi_irq *irq)
{