ACPI: thinkpad-acpi: wakeup on hotunplug reporting
commit578217422cc4758f991372a1695aaf1ea6e744ee
authorHenrique de Moraes Holschuh <hmh@hmh.eng.br>
Mon, 12 Nov 2007 00:18:30 +0000 (11 22:18 -0200)
committerHenrique de Moraes Holschuh <hmh@hmh.eng.br>
Mon, 12 Nov 2007 17:58:32 +0000 (12 15:58 -0200)
tree31bf4abad44b6b9e2bad82fb01baa2ca43edc000
parent40c1ae96981831a886dc16168f3f28409d2b4f7e
ACPI: thinkpad-acpi: wakeup on hotunplug reporting

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: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Documentation/thinkpad-acpi.txt
drivers/misc/thinkpad_acpi.c