ACPI: EC: Eliminate in_interrupt() usage
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>
Fri, 13 Nov 2020 18:13:17 +0000 (19:13 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 23 Nov 2020 12:39:45 +0000 (13:39 +0100)
commit2e84ea5a3269f9e1d4e7658a9893f5eac4aee5ec
tree5e7acc70dc349d6b612db8261ab14ac95c55f880
parent418baf2c28f3473039f2f7377760bd8f6897ae18
ACPI: EC: Eliminate in_interrupt() usage

advance_transaction() is using in_interrupt() to distinguish between
an invocation from the interrupt handler and an invocation from
another part of the stack.

This looks misleading because chains like

  acpi_update_all_gpes() -> acpi_ev_gpe_detect() ->
  acpi_ev_detect_gpe() -> acpi_ec_gpe_handler()

should probably also behave as if they were called from an interrupt
handler.

Replace in_interrupt() usage with a function parameter.

Set this parameter to `true' if invoked from an interrupt handler
(acpi_ec_gpe_handler() and acpi_ec_irq_handler()) and `false'
otherwise.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
[ rjw: Subject edits ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/ec.c