ACPI: Add the support for _TTS object
authorZhao Yakui <yakui.zhao@intel.com>
Tue, 12 Aug 2008 02:20:22 +0000 (10:20 +0800)
committerLen Brown <len.brown@intel.com>
Fri, 17 Oct 2008 00:45:18 +0000 (20:45 -0400)
commite49f711cc8f3bf8d719a9f5c86e79ecc0a72bf70
treeb3b3dcdfd5000ba62e79a47a7680dcb833d35007
parenta68823ee5285e65b51ceb96f8b13a5b4f99a6888
ACPI: Add the support for _TTS object

    The _TTS object is defined in the section 7.3 of acpi 3.0b spec.
    The _TTS control method is executed by the OSPM at the beginning of
the sleep transition process for S1,S2, S3, S4, and orderly S5 shutdown.
OS will invoke _TTS before it has notified any native mode device drivers
of the sleep state transition. The target sleeping state value is passed to
the _TTS control method.

    The _TTS control method is also executed by the OSPM at the end of
any sleep transition process when the system transitions to S0 from
S1, S2, S3, or S4. The _TTS object should be evaluated after it has
notified any native mode device drivers of the end of the sleep state
transition. The working state value (0) is passed to the _TTS control method.

    So it is necessary to add the support for _TTS object. The _TTS object
will be evaluated if it exists.
    At the same time a block notifier is added to the reboot notifier list so
that the _TTS object will also be evaluated when the system shutdown.

lenb: note that as of Sep 2008, I've not yet seen _TTS in any shipping BIOS.
So this patch is to future-proof Linux, rather than fix the installed base.

http://bugzilla.kernel.org/show_bug.cgi?id=11132

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Signed-off-by: Li Shaohua <shaohua.li@intel.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
drivers/acpi/sleep/main.c