Pull ec into release branch
[sfrench/cifs-2.6.git] / drivers / acpi / ec.c
index eee0864ba300a6d8f2287f5919d8cd2fffa4e49b..c036e2a69f33299fb403e1c2ad0749f1711cd46b 100644 (file)
@@ -763,8 +763,7 @@ static u32 acpi_ec_gpe_poll_handler(void *data)
 
        acpi_disable_gpe(NULL, ec->common.gpe_bit, ACPI_ISR);
 
-       status = acpi_os_queue_for_execution(OSD_PRIORITY_GPE,
-                                            acpi_ec_gpe_query, ec);
+       status = acpi_os_execute(OSL_EC_POLL_HANDLER, acpi_ec_gpe_query, ec);
 
        if (status == AE_OK)
                return ACPI_INTERRUPT_HANDLED;
@@ -799,7 +798,7 @@ static u32 acpi_ec_gpe_intr_handler(void *data)
 
        if (value & ACPI_EC_FLAG_SCI) {
                atomic_add(1, &ec->intr.pending_gpe);
-               status = acpi_os_queue_for_execution(OSD_PRIORITY_GPE,
+               status = acpi_os_execute(OSL_EC_BURST_HANDLER,
                                                     acpi_ec_gpe_query, ec);
                return status == AE_OK ?
                    ACPI_INTERRUPT_HANDLED : ACPI_INTERRUPT_NOT_HANDLED;
@@ -991,7 +990,6 @@ static int acpi_ec_poll_add(struct acpi_device *device)
        int result = 0;
        acpi_status status = AE_OK;
        union acpi_ec *ec = NULL;
-       unsigned long uid;
 
        ACPI_FUNCTION_TRACE("acpi_ec_add");
 
@@ -1014,10 +1012,9 @@ static int acpi_ec_poll_add(struct acpi_device *device)
        acpi_evaluate_integer(ec->common.handle, "_GLK", NULL,
                              &ec->common.global_lock);
 
-       /* If our UID matches the UID for the ECDT-enumerated EC,
-          we now have the *real* EC info, so kill the makeshift one. */
-       acpi_evaluate_integer(ec->common.handle, "_UID", NULL, &uid);
-       if (ec_ecdt && ec_ecdt->common.uid == uid) {
+       /* XXX we don't test uids, because on some boxes ecdt uid = 0, see:
+          http://bugzilla.kernel.org/show_bug.cgi?id=6111 */
+       if (ec_ecdt) {
                acpi_remove_address_space_handler(ACPI_ROOT_OBJECT,
                                                  ACPI_ADR_SPACE_EC,
                                                  &acpi_ec_space_handler);
@@ -1062,7 +1059,6 @@ static int acpi_ec_intr_add(struct acpi_device *device)
        int result = 0;
        acpi_status status = AE_OK;
        union acpi_ec *ec = NULL;
-       unsigned long uid;
 
        ACPI_FUNCTION_TRACE("acpi_ec_add");
 
@@ -1088,10 +1084,9 @@ static int acpi_ec_intr_add(struct acpi_device *device)
        acpi_evaluate_integer(ec->common.handle, "_GLK", NULL,
                              &ec->common.global_lock);
 
-       /* If our UID matches the UID for the ECDT-enumerated EC,
-          we now have the *real* EC info, so kill the makeshift one. */
-       acpi_evaluate_integer(ec->common.handle, "_UID", NULL, &uid);
-       if (ec_ecdt && ec_ecdt->common.uid == uid) {
+       /* XXX we don't test uids, because on some boxes ecdt uid = 0, see:
+          http://bugzilla.kernel.org/show_bug.cgi?id=6111 */
+       if (ec_ecdt) {
                acpi_remove_address_space_handler(ACPI_ROOT_OBJECT,
                                                  ACPI_ADR_SPACE_EC,
                                                  &acpi_ec_space_handler);