• Rafael J. Wysocki's avatar
    ACPI / ACPICA: Multiple system notify handlers per device · 3f0be671
    Rafael J. Wysocki authored
    Currently it only is possible to install one system notify handler
    per namespace node, but this is not enough for PCI run-time power
    management, because we need to install power management notifiers for
    devices that already have hotplug notifiers installed.  While in
    principle this could be handled at the PCI level, that would be
    suboptimal due to the way in which the ACPI-based PCI hotplug code is
    designed.
    
    For this reason, modify ACPICA so that it is possible to install more
    than one system notify handler per namespace node.  Namely, make
    acpi_install_notify_handler(), acpi_remove_notify_handler() and
    acpi_ev_notify_dispatch() use a list of system notify handler objects
    associated with a namespace node.
    
    Make acpi_remove_notify_handler() call acpi_os_wait_events_complete()
    upfront to avoid a situation in which concurrent instance of
    acpi_remove_notify_handler() removes the handler from under us while
    we're waiting for the event queues to flush.
    Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
    Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
    3f0be671
evxface.c 25.6 KB