summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenrique de Moraes Holschuh <hmh@hmh.eng.br>2008-01-08 13:02:53 -0200
committerLen Brown <len.brown@intel.com>2008-02-01 22:26:08 -0500
commitd1edb2b5f1d016d679600cccf2716e0134fff917 (patch)
treed6b5abd280b74fa4c5ac19ddb0e47bdef6462753
parenta713b4d7bca51e56cdb5357507f46674111d032c (diff)
downloadlinux-d1edb2b5f1d016d679600cccf2716e0134fff917.tar.gz
linux-d1edb2b5f1d016d679600cccf2716e0134fff917.tar.bz2
linux-d1edb2b5f1d016d679600cccf2716e0134fff917.zip
ACPI: thinkpad-acpi: add X61t HKEY events
Tomas Carnecky reports that events 0x5009 and 0x500a are swivel events, and that 0x500b/0x500c are tablet pen storage bay events. Document these events, and avoid nasty messages when they happen. Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br> Signed-off-by: Len Brown <len.brown@intel.com>
-rw-r--r--Documentation/thinkpad-acpi.txt4
-rw-r--r--drivers/misc/thinkpad_acpi.c9
2 files changed, 10 insertions, 3 deletions
diff --git a/Documentation/thinkpad-acpi.txt b/Documentation/thinkpad-acpi.txt
index 9d08e472ef74..e1c4550dac99 100644
--- a/Documentation/thinkpad-acpi.txt
+++ b/Documentation/thinkpad-acpi.txt
@@ -499,6 +499,10 @@ The above events are never propagated by the driver.
0x3003 Bay ejection (see 0x2x05) complete, can sleep again
0x4003 Undocked (see 0x2x04), can sleep again
+0x5009 Tablet swivel: switched to tablet mode
+0x500A Tablet swivel: switched to normal mode
+0x500B Tablet pen insterted into its storage bay
+0x500C Tablet pen removed from its storage bay
0x5010 Brightness level changed (newer Lenovo BIOSes)
The above events are propagated by the driver.
diff --git a/drivers/misc/thinkpad_acpi.c b/drivers/misc/thinkpad_acpi.c
index 9b0235dc5308..049ec42c77be 100644
--- a/drivers/misc/thinkpad_acpi.c
+++ b/drivers/misc/thinkpad_acpi.c
@@ -2127,10 +2127,13 @@ static void hotkey_notify(struct ibm_struct *ibm, u32 event)
}
break;
case 5:
- /* 0x5000-0x5FFF: On screen display helpers */
+ /* 0x5000-0x5FFF: human interface helpers */
switch (hkey) {
- case 0x5010:
- /* Lenovo Vista BIOS: brightness changed */
+ case 0x5010: /* Lenovo new BIOS: brightness changed */
+ case 0x5009: /* X61t: swivel up (tablet mode) */
+ case 0x500a: /* X61t: swivel down (normal mode) */
+ case 0x500b: /* X61t: tablet pen inserted into bay */
+ case 0x500c: /* X61t: tablet pen removed from bay */
break;
case 0x5001:
case 0x5002: