Lines 459-472
void acpi_ec_remove_query_handler(struct acpi_ec *ec, u8 query_bit)
Link Here
|
459 |
|
459 |
|
460 |
EXPORT_SYMBOL_GPL(acpi_ec_remove_query_handler); |
460 |
EXPORT_SYMBOL_GPL(acpi_ec_remove_query_handler); |
461 |
|
461 |
|
462 |
static void acpi_ec_gpe_query(void *ec_cxt) |
462 |
static void acpi_ec_gpe_run_handler(struct acpi_ec *ec, u8 value) |
463 |
{ |
463 |
{ |
464 |
struct acpi_ec *ec = ec_cxt; |
|
|
465 |
u8 value = 0; |
466 |
struct acpi_ec_query_handler *handler, copy; |
464 |
struct acpi_ec_query_handler *handler, copy; |
467 |
|
465 |
|
468 |
if (!ec || acpi_ec_query(ec, &value)) |
|
|
469 |
return; |
470 |
mutex_lock(&ec->lock); |
466 |
mutex_lock(&ec->lock); |
471 |
list_for_each_entry(handler, &ec->list, node) { |
467 |
list_for_each_entry(handler, &ec->list, node) { |
472 |
if (value == handler->query_bit) { |
468 |
if (value == handler->query_bit) { |
Lines 484-489
static void acpi_ec_gpe_query(void *ec_cxt)
Link Here
|
484 |
mutex_unlock(&ec->lock); |
480 |
mutex_unlock(&ec->lock); |
485 |
} |
481 |
} |
486 |
|
482 |
|
|
|
483 |
static void acpi_ec_gpe_query(void *ec_cxt) |
484 |
{ |
485 |
struct acpi_ec *ec = ec_cxt; |
486 |
u8 value = 0; |
487 |
|
488 |
if (!ec) |
489 |
return; |
490 |
|
491 |
while (!acpi_ec_query(ec, &value)) |
492 |
acpi_ec_gpe_run_handler(ec, value); |
493 |
} |
494 |
|
487 |
static u32 acpi_ec_gpe_handler(void *data) |
495 |
static u32 acpi_ec_gpe_handler(void *data) |
488 |
{ |
496 |
{ |
489 |
acpi_status status = AE_OK; |
497 |
acpi_status status = AE_OK; |