• Henrique de Moraes Holschuh's avatar
    ACPI: thinkpad-acpi: wakeup on hotunplug reporting · a713b4d7
    Henrique de Moraes Holschuh authored
    Handle some HKEY events that the firmware uses to report the reason for a
    wake up, and to also notify that the system could go back to sleep (if it
    woke up just to eject something from the bay, or to undock).
    
    The driver will report the reason of the last wake up in the sysfs
    attribute "wakeup_reason": 0 for "none, unknown, or standard ACPI wake up
    event", 1 for "bay ejection request" and 2 for "undock request".
    
    The firmware will also report if the operation that triggered the wake up
    has been completed, by issuing an HKEY 0x3003 or 0x4003 event.  If the
    operation fails, no event is sent.  When such a hotunplug sucessfull
    notification is issued, the driver sets the attribute
    "wakeup_hotunplug_complete" to 1.
    
    While the firmware does tell us whether we are waking from a suspend or
    hibernation scenario, the Linux way of hibernating makes this information
    not reliable, and therefore it is not reported.
    
    The idea is that if any of these attributes are non-zero, userspace might
    want to do something at the end of the "wake up from sleep" procedures,
    such as offering to send the machine back into sleep as soon as it is safe
    to do so.
    Signed-off-by: default avatarHenrique de Moraes Holschuh <hmh@hmh.eng.br>
    Signed-off-by: default avatarLen Brown <len.brown@intel.com>
    a713b4d7
thinkpad_acpi.c 148 KB