summaryrefslogtreecommitdiffstats
path: root/drivers/acpi/ec.c
diff options
context:
space:
mode:
authorAlexey Starikovskiy <alexey.y.starikovskiy@intel.com>2006-12-07 18:42:16 +0300
committerLen Brown <len.brown@intel.com>2006-12-08 02:56:06 -0500
commite41334c0a6ef71458f255db25f011d15099e7cca (patch)
tree6b66194660fd2e34dc668187e4745beb7382e924 /drivers/acpi/ec.c
parentaf3fd1404fd4f0f58ebbb52b22be4f1ca0794cda (diff)
downloadlinux-e41334c0a6ef71458f255db25f011d15099e7cca.tar.gz
linux-e41334c0a6ef71458f255db25f011d15099e7cca.tar.bz2
linux-e41334c0a6ef71458f255db25f011d15099e7cca.zip
ACPI: ec: Remove calls to clear_gpe() and enable_gpe(), as these are handled at
dispatch_gpe() level. Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/ec.c')
-rw-r--r--drivers/acpi/ec.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c
index 1514e71b723d..acfe8830da14 100644
--- a/drivers/acpi/ec.c
+++ b/drivers/acpi/ec.c
@@ -428,24 +428,21 @@ static void acpi_ec_gpe_query(void *ec_cxt)
static char object_name[8];
if (!ec)
- goto end;
+ return;
value = acpi_ec_read_status(ec);
if (!(value & ACPI_EC_FLAG_SCI))
- goto end;
+ return;
if (acpi_ec_query(ec, &value))
- goto end;
+ return;
snprintf(object_name, 8, "_Q%2.2X", value);
printk(KERN_INFO PREFIX "evaluating %s\n", object_name);
acpi_evaluate_object(ec->handle, object_name, NULL, NULL);
-
- end:
- acpi_enable_gpe(NULL, ec->gpe_bit, ACPI_NOT_ISR);
}
static u32 acpi_ec_gpe_handler(void *data)
@@ -454,7 +451,6 @@ static u32 acpi_ec_gpe_handler(void *data)
u8 value;
struct acpi_ec *ec = (struct acpi_ec *)data;
- acpi_clear_gpe(NULL, ec->gpe_bit, ACPI_ISR);
if (acpi_ec_mode == EC_INTR) {
wake_up(&ec->wait);
@@ -464,7 +460,7 @@ static u32 acpi_ec_gpe_handler(void *data)
if (value & ACPI_EC_FLAG_SCI) {
status = acpi_os_execute(OSL_EC_BURST_HANDLER, acpi_ec_gpe_query, ec);
}
- acpi_enable_gpe(NULL, ec->gpe_bit, ACPI_ISR);
+
return status == AE_OK ?
ACPI_INTERRUPT_HANDLED : ACPI_INTERRUPT_NOT_HANDLED;
}