aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/ec.c
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 /drivers/acpi/ec.c
parentACPI: EC: Pass one argument to acpi_ec_query() (diff)
downloadlinux-dev-98d364509d77e2d441ef6d8bdf13e1a4258eac6c.tar.xz
linux-dev-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>
Diffstat (limited to 'drivers/acpi/ec.c')
-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--;