diff options
author | Jordan Hargrave <jordan@cvs.openbsd.org> | 2006-06-30 04:03:14 +0000 |
---|---|---|
committer | Jordan Hargrave <jordan@cvs.openbsd.org> | 2006-06-30 04:03:14 +0000 |
commit | f2e5f9474ba638f4727b0f2da79926eb7cd0f400 (patch) | |
tree | 1dc5b45a06742005df33dbf655cb92aa82f1bd3c /sys/dev/acpi/acpivar.h | |
parent | ebe8d416e75b4cbceb89cc2f924f2a5c42165e5a (diff) |
Added new code for GPE handling
Also works with ACPIEC; need to fixup acpiec.c to remove original interrupt handler
ok marco@
Diffstat (limited to 'sys/dev/acpi/acpivar.h')
-rw-r--r-- | sys/dev/acpi/acpivar.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/sys/dev/acpi/acpivar.h b/sys/dev/acpi/acpivar.h index 90ab5755f41..3e4fd899f32 100644 --- a/sys/dev/acpi/acpivar.h +++ b/sys/dev/acpi/acpivar.h @@ -1,4 +1,4 @@ -/* $OpenBSD: acpivar.h,v 1.24 2006/06/30 01:09:47 jordan Exp $ */ +/* $OpenBSD: acpivar.h,v 1.25 2006/06/30 04:03:13 jordan Exp $ */ /* * Copyright (c) 2005 Thorsten Lockert <tholo@sigmasoft.com> * @@ -99,6 +99,12 @@ struct acpi_thread { volatile int running; }; +struct gpe_block { + int (*handler)(struct acpi_softc *, int, void *); + void *arg; + int active; +}; + struct acpi_softc { struct device sc_dev; @@ -146,6 +152,9 @@ struct acpi_softc { struct aml_node *gpe_handler; } sc_gpes[256]; int sc_maxgpe; + int sc_lastgpe; + + struct gpe_block *gpe_table; int sc_wakeup; u_int32_t sc_gpe_sts; @@ -202,6 +211,7 @@ void acpi_resume(struct acpi_softc *); void acpi_delay(struct acpi_softc *, int64_t); int acpi_gasio(struct acpi_softc *, int, int, uint64_t, int, int, void *); +int acpi_set_gpehandler(struct acpi_softc *, int, int (*)(struct acpi_softc *, int, void *), void *, const char *); void acpi_enable_gpe(struct acpi_softc *, u_int32_t); int acpiec_intr(struct acpiec_softc *); |