summaryrefslogtreecommitdiff
path: root/drivers/acpi/acpica/evgpe.c
diff options
context:
space:
mode:
authorLin Ming <ming.m.lin@intel.com>2010-12-13 08:39:26 +0300
committerLen Brown <len.brown@intel.com>2011-01-12 12:27:00 +0300
commita0fcdb237fcd4eaa7e5009b28ef5be07415f287d (patch)
treed07a4950648ad9a7eaab8fd28b37685926bb23a9 /drivers/acpi/acpica/evgpe.c
parentbba63a296ffab20e08d9e8252d2f0d99050ac859 (diff)
downloadlinux-a0fcdb237fcd4eaa7e5009b28ef5be07415f287d.tar.xz
ACPICA: Global event handler
The global event handler is called whenever a general purpose or fixed ACPI event occurs. Also update Linux OSL to collect events counter with global event handler. Signed-off-by: Lin Ming <ming.m.lin@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/acpica/evgpe.c')
-rw-r--r--drivers/acpi/acpica/evgpe.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/acpi/acpica/evgpe.c b/drivers/acpi/acpica/evgpe.c
index 2dbca95979ce..3bcf5ef74c62 100644
--- a/drivers/acpi/acpica/evgpe.c
+++ b/drivers/acpi/acpica/evgpe.c
@@ -642,7 +642,14 @@ acpi_ev_gpe_dispatch(struct acpi_namespace_node *gpe_device,
ACPI_FUNCTION_TRACE(ev_gpe_dispatch);
- acpi_os_gpe_count(gpe_number);
+ /* Invoke global event handler if present */
+
+ acpi_gpe_count++;
+ if (acpi_gbl_global_event_handler) {
+ acpi_gbl_global_event_handler(ACPI_EVENT_TYPE_GPE, gpe_device,
+ gpe_number,
+ acpi_gbl_global_event_handler_context);
+ }
/*
* If edge-triggered, clear the GPE status bit now. Note that