diff options
author | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2021-11-23 19:39:05 +0100 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2021-12-01 20:17:32 +0100 |
commit | 98d364509d77e2d441ef6d8bdf13e1a4258eac6c (patch) | |
tree | 9835e1b23de1e1cb61940ec9cd9a08f8c98a3e80 /drivers/acpi | |
parent | ACPI: EC: Pass one argument to acpi_ec_query() (diff) | |
download | linux-98d364509d77e2d441ef6d8bdf13e1a4258eac6c.tar.xz linux-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')
-rw-r--r-- | drivers/acpi/ec.c | 28 |
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--; |