ACPI: thinkpad-acpi: wakeup on hotunplug reporting
commita713b4d7bca51e56cdb5357507f46674111d032c
authorHenrique de Moraes Holschuh <hmh@hmh.eng.br>
Tue, 8 Jan 2008 15:02:52 +0000 (8 13:02 -0200)
committerLen Brown <len.brown@intel.com>
Sat, 2 Feb 2008 03:26:08 +0000 (1 22:26 -0500)
tree6269011e5c2971df32c552eb60879c5a176de939
parent3b64b51d20d9b633bb2efe63af785a49f8092898
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>
Signed-off-by: Len Brown <len.brown@intel.com>
Documentation/thinkpad-acpi.txt
drivers/misc/thinkpad_acpi.c