summaryrefslogtreecommitdiffstats
path: root/sys/dev/acpica/acpi_ec.c
diff options
context:
space:
mode:
authorjkim <jkim@FreeBSD.org>2010-12-15 23:48:45 +0000
committerjkim <jkim@FreeBSD.org>2010-12-15 23:48:45 +0000
commit2fc3b5748a5d4d10201709860b52976d8ca9e54d (patch)
tree19ec6d7c2b2313528bbf1a21e92ad809001eb2bb /sys/dev/acpica/acpi_ec.c
parentb3be4af10ab7b7e0bb1d47b76abf259823cf5699 (diff)
parent3fe23e61bda19d3fc57ff6366b5cf43d1aa422e1 (diff)
downloadFreeBSD-src-2fc3b5748a5d4d10201709860b52976d8ca9e54d.zip
FreeBSD-src-2fc3b5748a5d4d10201709860b52976d8ca9e54d.tar.gz
Merge ACPICA 20101209.
Diffstat (limited to 'sys/dev/acpica/acpi_ec.c')
-rw-r--r--sys/dev/acpica/acpi_ec.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/sys/dev/acpica/acpi_ec.c b/sys/dev/acpica/acpi_ec.c
index f864983..baac0d0 100644
--- a/sys/dev/acpica/acpi_ec.c
+++ b/sys/dev/acpica/acpi_ec.c
@@ -218,7 +218,7 @@ EcUnlock(struct acpi_ec_softc *sc)
AcpiReleaseGlobalLock(sc->ec_glkhandle);
}
-static uint32_t EcGpeHandler(void *Context);
+static UINT32 EcGpeHandler(ACPI_HANDLE, UINT32, void *);
static ACPI_STATUS EcSpaceSetup(ACPI_HANDLE Region, UINT32 Function,
void *Context, void **return_Context);
static ACPI_STATUS EcSpaceHandler(UINT32 Function,
@@ -498,7 +498,7 @@ acpi_ec_attach(device_t dev)
*/
ACPI_DEBUG_PRINT((ACPI_DB_RESOURCES, "attaching GPE handler\n"));
Status = AcpiInstallGpeHandler(sc->ec_gpehandle, sc->ec_gpebit,
- ACPI_GPE_EDGE_TRIGGERED, &EcGpeHandler, sc);
+ ACPI_GPE_EDGE_TRIGGERED, EcGpeHandler, sc);
if (ACPI_FAILURE(Status)) {
device_printf(dev, "can't install GPE handler for %s - %s\n",
acpi_name(sc->ec_handle), AcpiFormatException(Status));
@@ -529,7 +529,7 @@ acpi_ec_attach(device_t dev)
return (0);
error:
- AcpiRemoveGpeHandler(sc->ec_gpehandle, sc->ec_gpebit, &EcGpeHandler);
+ AcpiRemoveGpeHandler(sc->ec_gpehandle, sc->ec_gpebit, EcGpeHandler);
AcpiRemoveAddressSpaceHandler(sc->ec_handle, ACPI_ADR_SPACE_EC,
EcSpaceHandler);
if (sc->ec_csr_res)
@@ -690,8 +690,8 @@ EcGpeQueryHandler(void *Context)
* The GPE handler is called when IBE/OBF or SCI events occur. We are
* called from an unknown lock context.
*/
-static uint32_t
-EcGpeHandler(void *Context)
+static UINT32
+EcGpeHandler(ACPI_HANDLE GpeDevice, UINT32 GpeNumber, void *Context)
{
struct acpi_ec_softc *sc = Context;
ACPI_STATUS Status;
@@ -722,7 +722,12 @@ EcGpeHandler(void *Context)
else
printf("EcGpeHandler: queuing GPE query handler failed\n");
}
- return (0);
+
+ /*
+ * XXX jkim
+ * AcpiFinishGpe() should be used at the necessary places.
+ */
+ return (ACPI_REENABLE_GPE);
}
static ACPI_STATUS
OpenPOWER on IntegriCloud