Эх сурвалжийг харах

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>
Henrique de Moraes Holschuh 17 жил өмнө
parent
commit
d1edb2b5f1

+ 4 - 0
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
 0x3003		Bay ejection (see 0x2x05) complete, can sleep again
 0x4003		Undocked (see 0x2x04), 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)
 0x5010		Brightness level changed (newer Lenovo BIOSes)
 
 
 The above events are propagated by the driver.
 The above events are propagated by the driver.

+ 6 - 3
drivers/misc/thinkpad_acpi.c

@@ -2127,10 +2127,13 @@ static void hotkey_notify(struct ibm_struct *ibm, u32 event)
 			}
 			}
 			break;
 			break;
 		case 5:
 		case 5:
-			/* 0x5000-0x5FFF: On screen display helpers */
+			/* 0x5000-0x5FFF: human interface helpers */
 			switch (hkey) {
 			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;
 				break;
 			case 0x5001:
 			case 0x5001:
 			case 0x5002:
 			case 0x5002: