summaryrefslogtreecommitdiffstats
path: root/sys/dev/acpica
diff options
context:
space:
mode:
authorjkim <jkim@FreeBSD.org>2010-04-02 23:04:31 +0000
committerjkim <jkim@FreeBSD.org>2010-04-02 23:04:31 +0000
commitc22943d966183aab0b1bfca1f741ae7587c0002e (patch)
tree6ff0f37946d2a209317eb79265f81066521bd4b8 /sys/dev/acpica
parentbb4566312b32efc10475f0ef7b34bf3427a25225 (diff)
downloadFreeBSD-src-c22943d966183aab0b1bfca1f741ae7587c0002e.zip
FreeBSD-src-c22943d966183aab0b1bfca1f741ae7587c0002e.tar.gz
Merge ACPICA 20100331 (and four additional upstream patches).
Diffstat (limited to 'sys/dev/acpica')
-rw-r--r--sys/dev/acpica/acpi.c29
-rw-r--r--sys/dev/acpica/acpi_button.c1
-rw-r--r--sys/dev/acpica/acpi_ec.c12
-rw-r--r--sys/dev/acpica/acpi_lid.c1
-rw-r--r--sys/dev/acpica/acpivar.h1
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);
OpenPOWER on IntegriCloud