summaryrefslogtreecommitdiff
path: root/sys/dev/acpi
diff options
context:
space:
mode:
authorjmcneill <jmcneill@NetBSD.org>2018-10-16 22:29:43 +0000
committerjmcneill <jmcneill@NetBSD.org>2018-10-16 22:29:43 +0000
commitae2fa6ab62d11804929f85eded1f35ccd8b7a3ca (patch)
tree9d7f5303ea41b9bea8d4eefef766257965d96326 /sys/dev/acpi
parentb9020798760b190eb493e0eb3d5d38b989e07e9c (diff)
Ignore SCI and don't try to setup ACPI fixed hardware interfaces in HW-reduced mode
Diffstat (limited to 'sys/dev/acpi')
-rw-r--r--sys/dev/acpi/acpi.c25
1 files changed, 14 insertions, 11 deletions
diff --git a/sys/dev/acpi/acpi.c b/sys/dev/acpi/acpi.c
index 7ef119d9f17..bd609a90006 100644
--- a/sys/dev/acpi/acpi.c
+++ b/sys/dev/acpi/acpi.c
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.276 2018/10/16 10:25:33 jmcneill Exp $ */
+/* $NetBSD: acpi.c,v 1.277 2018/10/16 22:29:43 jmcneill Exp $ */
/*-
* Copyright (c) 2003, 2007 The NetBSD Foundation, Inc.
@@ -100,7 +100,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: acpi.c,v 1.276 2018/10/16 10:25:33 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: acpi.c,v 1.277 2018/10/16 22:29:43 jmcneill Exp $");
#include "pci.h"
#include "opt_acpi.h"
@@ -524,16 +524,17 @@ acpi_attach(device_t parent, device_t self, void *aux)
acpi_active = 1;
- /* Show SCI interrupt. */
- if (AcpiGbl_FADT.SciInterrupt != 0)
+ if (!AcpiGbl_ReducedHardware) {
+ /* Show SCI interrupt. */
aprint_verbose_dev(self, "SCI interrupting at int %u\n",
AcpiGbl_FADT.SciInterrupt);
- /*
- * Install fixed-event handlers.
- */
- acpi_register_fixed_button(sc, ACPI_EVENT_POWER_BUTTON);
- acpi_register_fixed_button(sc, ACPI_EVENT_SLEEP_BUTTON);
+ /*
+ * Install fixed-event handlers.
+ */
+ acpi_register_fixed_button(sc, ACPI_EVENT_POWER_BUTTON);
+ acpi_register_fixed_button(sc, ACPI_EVENT_SLEEP_BUTTON);
+ }
acpitimer_init(sc);
acpi_config_tree(sc);
@@ -583,8 +584,10 @@ acpi_detach(device_t self, int flags)
if ((rc = acpitimer_detach()) != 0)
return rc;
- acpi_deregister_fixed_button(sc, ACPI_EVENT_POWER_BUTTON);
- acpi_deregister_fixed_button(sc, ACPI_EVENT_SLEEP_BUTTON);
+ if (!AcpiGbl_ReducedHardware) {
+ acpi_deregister_fixed_button(sc, ACPI_EVENT_POWER_BUTTON);
+ acpi_deregister_fixed_button(sc, ACPI_EVENT_SLEEP_BUTTON);
+ }
pmf_device_deregister(self);