From: Rafael J. Wysocki <[email protected]>
Because acpi_ec_event_handler() is the only caller of
acpi_ec_check_event() and the separation of these two functions
makes it harder to follow the code flow, fold the latter into the
former (and simplify that code while at it).
No expected functional impact.
Signed-off-by: Rafael J. Wysocki <[email protected]>
---
drivers/acpi/ec.c | 28 +++++++++-------------------
1 file changed, 9 insertions(+), 19 deletions(-)
Index: linux-pm/drivers/acpi/ec.c
===================================================================
--- linux-pm.orig/drivers/acpi/ec.c
+++ linux-pm/drivers/acpi/ec.c
@@ -1215,24 +1215,6 @@ err_exit:
return result;
}
-static void acpi_ec_check_event(struct acpi_ec *ec)
-{
- unsigned long flags;
-
- if (ec_event_clearing == ACPI_EC_EVT_TIMING_EVENT) {
- if (ec_guard(ec)) {
- spin_lock_irqsave(&ec->lock, flags);
- /*
- * Take care of the SCI_EVT unless no one else is
- * taking care of it.
- */
- if (!ec->curr)
- advance_transaction(ec, false);
- spin_unlock_irqrestore(&ec->lock, flags);
- }
- }
-}
-
static void acpi_ec_event_handler(struct work_struct *work)
{
unsigned long flags;
@@ -1264,7 +1246,15 @@ static void acpi_ec_event_handler(struct
ec_dbg_evt("Event stopped");
- acpi_ec_check_event(ec);
+ if (ec_event_clearing == ACPI_EC_EVT_TIMING_EVENT && ec_guard(ec)) {
+ spin_lock_irqsave(&ec->lock, flags);
+
+ /* Take care of SCI_EVT unless someone else is doing that. */
+ if (!ec->curr)
+ advance_transaction(ec, false);
+
+ spin_unlock_irqrestore(&ec->lock, flags);
+ }
spin_lock_irqsave(&ec->lock, flags);
ec->events_in_progress--;