aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/platform/x86/dell-wmi.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/platform/x86/dell-wmi.c')
-rw-r--r--drivers/platform/x86/dell-wmi.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/platform/x86/dell-wmi.c b/drivers/platform/x86/dell-wmi.c
index 4c2a44da2fff..6512a06bc053 100644
--- a/drivers/platform/x86/dell-wmi.c
+++ b/drivers/platform/x86/dell-wmi.c
@@ -308,11 +308,16 @@ static const struct key_entry * __init dell_wmi_prepare_new_keymap(void)
308 for (i = 0; i < hotkey_num; i++) { 308 for (i = 0; i < hotkey_num; i++) {
309 const struct dell_bios_keymap_entry *bios_entry = 309 const struct dell_bios_keymap_entry *bios_entry =
310 &dell_bios_hotkey_table->keymap[i]; 310 &dell_bios_hotkey_table->keymap[i];
311 keymap[i].type = KE_KEY; 311 u16 keycode = bios_entry->keycode < 256 ?
312 keymap[i].code = bios_entry->scancode;
313 keymap[i].keycode = bios_entry->keycode < 256 ?
314 bios_to_linux_keycode[bios_entry->keycode] : 312 bios_to_linux_keycode[bios_entry->keycode] :
315 KEY_RESERVED; 313 KEY_RESERVED;
314
315 if (keycode == KEY_KBDILLUMTOGGLE)
316 keymap[i].type = KE_IGNORE;
317 else
318 keymap[i].type = KE_KEY;
319 keymap[i].code = bios_entry->scancode;
320 keymap[i].keycode = keycode;
316 } 321 }
317 322
318 keymap[hotkey_num].type = KE_END; 323 keymap[hotkey_num].type = KE_END;