• Rafael J. Wysocki's avatar
    PM / Sleep: Mark devices involved in wakeup signaling during suspend · 4ca46ff3
    Rafael J. Wysocki authored
    The generic PM domains code in drivers/base/power/domain.c has
    to avoid powering off domains that provide power to wakeup devices
    during system suspend.  Currently, however, this only works for
    wakeup devices directly belonging to the given domain and not for
    their children (or the children of their children and so on).
    Thus, if there's a wakeup device whose parent belongs to a power
    domain handled by the generic PM domains code, the domain will be
    powered off during system suspend preventing the device from
    signaling wakeup.
    
    To address this problem introduce a device flag, power.wakeup_path,
    that will be set during system suspend for all wakeup devices,
    their parents, the parents of their parents and so on.  This way,
    all wakeup paths in the device hierarchy will be marked and the
    generic PM domains code will only need to avoid powering off
    domains containing devices whose power.wakeup_path is set.
    Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
    4ca46ff3
main.c 27.3 KB