Re: [PATCH 2/3] ACPI / PM: Split acpi_device_wakeup()

From: Mika Westerberg
Date: Tue Jul 25 2017 - 08:45:38 EST


On Fri, Jul 21, 2017 at 02:40:49PM +0200, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
>
> To prepare for a subsequent change and make the code somewhat easier
> to follow, do the following in the ACPI device wakeup handling code:
>
> * Replace wakeup.flags.enabled under struct acpi_device with
> wakeup.enable_count as that will be necessary going forward.
>
> For now, wakeup.enable_count is not allowed to grow beyond 1,
> so the current behavior is retained.
>
> * Split acpi_device_wakeup() into acpi_device_wakeup_enable()
> and acpi_device_wakeup_disable() and modify the callers of
> it accordingly.
>
> * Introduce a new acpi_wakeup_lock mutex to protect the wakeup
> enabling/disabling code from races in case it is executed
> more than once in parallel for the same device (which may
> happen for bridges theoretically).
>
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>

Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>