aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/misc/thinkpad_acpi.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/misc/thinkpad_acpi.c')
-rw-r--r--drivers/misc/thinkpad_acpi.c19
1 files changed, 16 insertions, 3 deletions
diff --git a/drivers/misc/thinkpad_acpi.c b/drivers/misc/thinkpad_acpi.c
index 5c1bea1a6c37..c86b228375cc 100644
--- a/drivers/misc/thinkpad_acpi.c
+++ b/drivers/misc/thinkpad_acpi.c
@@ -734,9 +734,9 @@ static u32 hotkey_reserved_mask;
734 734
735static u16 hotkey_keycode_map[] = { 735static u16 hotkey_keycode_map[] = {
736 /* Scan Codes 0x00 to 0x0B: ACPI HKEY FN+F1..F12 */ 736 /* Scan Codes 0x00 to 0x0B: ACPI HKEY FN+F1..F12 */
737 KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, 737 KEY_FN_F1, KEY_FN_F2, KEY_FN_F3, KEY_SLEEP,
738 KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, 738 KEY_FN_F5, KEY_FN_F6, KEY_FN_F7, KEY_FN_F8,
739 KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, 739 KEY_FN_F9, KEY_FN_F10, KEY_FN_F11, KEY_SUSPEND,
740 /* Scan codes 0x0C to 0x0F: Other ACPI HKEY hot keys */ 740 /* Scan codes 0x0C to 0x0F: Other ACPI HKEY hot keys */
741 KEY_UNKNOWN, /* 0x0C: FN+BACKSPACE */ 741 KEY_UNKNOWN, /* 0x0C: FN+BACKSPACE */
742 KEY_UNKNOWN, /* 0x0D: FN+INSERT */ 742 KEY_UNKNOWN, /* 0x0D: FN+INSERT */
@@ -977,6 +977,11 @@ static int __init hotkey_init(struct ibm_init_struct *iibm)
977 if (res) 977 if (res)
978 return res; 978 return res;
979 979
980#ifndef CONFIG_THINKPAD_ACPI_INPUT_ENABLED
981 for (i = 0; i < 12; i++)
982 hotkey_keycode_map[i] = KEY_UNKNOWN;
983#endif /* ! CONFIG_THINKPAD_ACPI_INPUT_ENABLED */
984
980 set_bit(EV_KEY, tpacpi_inputdev->evbit); 985 set_bit(EV_KEY, tpacpi_inputdev->evbit);
981 set_bit(EV_MSC, tpacpi_inputdev->evbit); 986 set_bit(EV_MSC, tpacpi_inputdev->evbit);
982 set_bit(MSC_SCAN, tpacpi_inputdev->mscbit); 987 set_bit(MSC_SCAN, tpacpi_inputdev->mscbit);
@@ -993,6 +998,14 @@ static int __init hotkey_init(struct ibm_init_struct *iibm)
993 } 998 }
994 } 999 }
995 1000
1001#ifdef CONFIG_THINKPAD_ACPI_INPUT_ENABLED
1002 dbg_printk(TPACPI_DBG_INIT,
1003 "enabling hot key handling\n");
1004 res = hotkey_set(1, (hotkey_all_mask & ~hotkey_reserved_mask)
1005 | hotkey_orig_mask);
1006 if (res)
1007 return res;
1008#endif /* CONFIG_THINKPAD_ACPI_INPUT_ENABLED */
996 } 1009 }
997 1010
998 return (tp_features.hotkey)? 0 : 1; 1011 return (tp_features.hotkey)? 0 : 1;