summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>2021-11-23 19:39:05 +0100
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2021-12-01 20:17:32 +0100
commit98d364509d77e2d441ef6d8bdf13e1a4258eac6c (patch)
tree9835e1b23de1e1cb61940ec9cd9a08f8c98a3e80
parent1f2350443dd21028d3de6907f98ff1be75a2c9bc (diff)
downloadlinux-stable-98d364509d77e2d441ef6d8bdf13e1a4258eac6c.tar.gz
linux-stable-98d364509d77e2d441ef6d8bdf13e1a4258eac6c.tar.bz2
linux-stable-98d364509d77e2d441ef6d8bdf13e1a4258eac6c.zip
ACPI: EC: Fold acpi_ec_check_event() into acpi_ec_event_handler()
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 <rafael.j.wysocki@intel.com>
-rw-r--r--drivers/acpi/ec.c28
1 files changed, 9 insertions, 19 deletions
diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c
index 4b2573d85ac6..07506afa1fda 100644
--- a/drivers/acpi/ec.c
+++ b/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 work_struct *work)
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--;