diff options
Diffstat (limited to 'sys/dev/acpica')
-rw-r--r-- | sys/dev/acpica/acpi.c | 29 | ||||
-rw-r--r-- | sys/dev/acpica/acpi_button.c | 1 | ||||
-rw-r--r-- | sys/dev/acpica/acpi_ec.c | 12 | ||||
-rw-r--r-- | sys/dev/acpica/acpi_lid.c | 1 | ||||
-rw-r--r-- | sys/dev/acpica/acpivar.h | 1 |
5 files changed, 9 insertions, 35 deletions
diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c index f99c525..64a3318 100644 --- a/sys/dev/acpica/acpi.c +++ b/sys/dev/acpica/acpi.c @@ -2640,25 +2640,6 @@ acpi_resync_clock(struct acpi_softc *sc) inittodr(time_second + sc->acpi_sleep_delay); } -/* Initialize a device's wake GPE. */ -int -acpi_wake_init(device_t dev, int type) -{ - struct acpi_prw_data prw; - - /* Evaluate _PRW to find the GPE. */ - if (acpi_parse_prw(acpi_get_handle(dev), &prw) != 0) - return (ENXIO); - - /* Set the requested type for the GPE (runtime, wake, or both). */ - if (ACPI_FAILURE(AcpiSetGpeType(prw.gpe_handle, prw.gpe_bit, type))) { - device_printf(dev, "set GPE type failed\n"); - return (ENXIO); - } - - return (0); -} - /* Enable or disable the device's wake GPE. */ int acpi_wake_set_enable(device_t dev, int enable) @@ -2673,14 +2654,16 @@ acpi_wake_set_enable(device_t dev, int enable) flags = acpi_get_flags(dev); if (enable) { - status = AcpiEnableGpe(prw.gpe_handle, prw.gpe_bit, ACPI_NOT_ISR); + status = AcpiEnableGpe(prw.gpe_handle, prw.gpe_bit, + ACPI_GPE_TYPE_WAKE_RUN); if (ACPI_FAILURE(status)) { device_printf(dev, "enable wake failed\n"); return (ENXIO); } acpi_set_flags(dev, flags | ACPI_FLAG_WAKE_ENABLED); } else { - status = AcpiDisableGpe(prw.gpe_handle, prw.gpe_bit, ACPI_NOT_ISR); + status = AcpiDisableGpe(prw.gpe_handle, prw.gpe_bit, + ACPI_GPE_TYPE_WAKE); if (ACPI_FAILURE(status)) { device_printf(dev, "disable wake failed\n"); return (ENXIO); @@ -2710,7 +2693,7 @@ acpi_wake_sleep_prep(ACPI_HANDLE handle, int sstate) * and set _PSW. */ if (sstate > prw.lowest_wake) { - AcpiDisableGpe(prw.gpe_handle, prw.gpe_bit, ACPI_NOT_ISR); + AcpiDisableGpe(prw.gpe_handle, prw.gpe_bit, ACPI_GPE_TYPE_WAKE); if (bootverbose) device_printf(dev, "wake_prep disabled wake for %s (S%d)\n", acpi_name(handle), sstate); @@ -2747,7 +2730,7 @@ acpi_wake_run_prep(ACPI_HANDLE handle, int sstate) * clear _PSW and turn off any power resources it used. */ if (sstate > prw.lowest_wake) { - AcpiEnableGpe(prw.gpe_handle, prw.gpe_bit, ACPI_NOT_ISR); + AcpiEnableGpe(prw.gpe_handle, prw.gpe_bit, ACPI_GPE_TYPE_WAKE_RUN); if (bootverbose) device_printf(dev, "run_prep re-enabled %s\n", acpi_name(handle)); } else { diff --git a/sys/dev/acpica/acpi_button.c b/sys/dev/acpica/acpi_button.c index 7814c0e..56a1d95 100644 --- a/sys/dev/acpica/acpi_button.c +++ b/sys/dev/acpica/acpi_button.c @@ -164,7 +164,6 @@ acpi_button_attach(device_t dev) } /* Enable the GPE for wake/runtime. */ - acpi_wake_init(dev, ACPI_GPE_TYPE_WAKE_RUN); acpi_wake_set_enable(dev, 1); return_VALUE (0); diff --git a/sys/dev/acpica/acpi_ec.c b/sys/dev/acpica/acpi_ec.c index d4ef019..000658c 100644 --- a/sys/dev/acpica/acpi_ec.c +++ b/sys/dev/acpica/acpi_ec.c @@ -518,14 +518,8 @@ acpi_ec_attach(device_t dev) } /* Enable runtime GPEs for the handler. */ - Status = AcpiSetGpeType(sc->ec_gpehandle, sc->ec_gpebit, - ACPI_GPE_TYPE_RUNTIME); - if (ACPI_FAILURE(Status)) { - device_printf(dev, "AcpiSetGpeType failed: %s\n", - AcpiFormatException(Status)); - goto error; - } - Status = AcpiEnableGpe(sc->ec_gpehandle, sc->ec_gpebit, ACPI_NOT_ISR); + Status = AcpiEnableGpe(sc->ec_gpehandle, sc->ec_gpebit, + ACPI_GPE_TYPE_RUNTIME); if (ACPI_FAILURE(Status)) { device_printf(dev, "AcpiEnableGpe failed: %s\n", AcpiFormatException(Status)); @@ -575,7 +569,7 @@ acpi_ec_shutdown(device_t dev) /* Disable the GPE so we don't get EC events during shutdown. */ sc = device_get_softc(dev); - AcpiDisableGpe(sc->ec_gpehandle, sc->ec_gpebit, ACPI_NOT_ISR); + AcpiDisableGpe(sc->ec_gpehandle, sc->ec_gpebit, ACPI_GPE_TYPE_RUNTIME); return (0); } diff --git a/sys/dev/acpica/acpi_lid.c b/sys/dev/acpica/acpi_lid.c index 47d5b45..ae29aca 100644 --- a/sys/dev/acpica/acpi_lid.c +++ b/sys/dev/acpica/acpi_lid.c @@ -115,7 +115,6 @@ acpi_lid_attach(device_t dev) acpi_lid_notify_handler, sc); /* Enable the GPE for wake/runtime. */ - acpi_wake_init(dev, ACPI_GPE_TYPE_WAKE_RUN); acpi_wake_set_enable(dev, 1); return (0); diff --git a/sys/dev/acpica/acpivar.h b/sys/dev/acpica/acpivar.h index f30ee64..002c11c 100644 --- a/sys/dev/acpica/acpivar.h +++ b/sys/dev/acpica/acpivar.h @@ -332,7 +332,6 @@ int acpi_ReqSleepState(struct acpi_softc *sc, int state); int acpi_AckSleepState(struct apm_clone_data *clone, int error); ACPI_STATUS acpi_SetSleepState(struct acpi_softc *sc, int state); void acpi_resync_clock(struct acpi_softc *sc); -int acpi_wake_init(device_t dev, int type); int acpi_wake_set_enable(device_t dev, int enable); int acpi_parse_prw(ACPI_HANDLE h, struct acpi_prw_data *prw); ACPI_STATUS acpi_Startup(void); |