Subject: [PATCH] [acpi ec] Add flag to say when to re-enable the GPE - Add ->e_gpe_enable, which can be ACPI_ISR or ACPI_NOT_ISR - This says when to re-enable the GPE interrupt after it has fired - Set the different values in ec_{intr,poll}_init() Signed-off-by: Patrick Mochel --- drivers/acpi/drivers/ec/ec.h | 1 + drivers/acpi/drivers/ec/intr.c | 1 + drivers/acpi/drivers/ec/poll.c | 2 ++ 3 files changed, 4 insertions(+), 0 deletions(-) applies-to: 1f37ab2149b57f67c5fe794f581baa44516dd29b f5964c48bff629b92b42f6aa6ceecb859248ca4e diff --git a/drivers/acpi/drivers/ec/ec.h b/drivers/acpi/drivers/ec/ec.h index aa1622a..2f62052 100644 --- a/drivers/acpi/drivers/ec/ec.h +++ b/drivers/acpi/drivers/ec/ec.h @@ -50,6 +50,7 @@ struct acpi_ec { unsigned int e_expect; wait_queue_head_t e_waitq; struct semaphore e_sem; + int e_gpe_enable; int (*e_wait) (struct acpi_ec * ec, u32 event); }; diff --git a/drivers/acpi/drivers/ec/intr.c b/drivers/acpi/drivers/ec/intr.c index 9b2dd89..2cb8781 100644 --- a/drivers/acpi/drivers/ec/intr.c +++ b/drivers/acpi/drivers/ec/intr.c @@ -56,6 +56,7 @@ static int wait_intr(struct acpi_ec * ec int ec_intr_init(struct acpi_ec * ec) { ec->e_wait = wait_intr; + ec->e_gpe_enable = ACPI_ISR; return 0; } diff --git a/drivers/acpi/drivers/ec/poll.c b/drivers/acpi/drivers/ec/poll.c index c7f49d3..9299f06 100644 --- a/drivers/acpi/drivers/ec/poll.c +++ b/drivers/acpi/drivers/ec/poll.c @@ -45,5 +45,7 @@ static int wait_poll(struct acpi_ec * ec int ec_poll_init(struct acpi_ec * ec) { ec->e_wait = wait_poll; + ec->e_gpe_enable = ACPI_NOT_ISR; + return 0; } --- 0.99.9.GIT