@@ -3712,9 +3712,6 @@ static void adaptive_keyboard_s_quickview_row(void)
static bool adaptive_keyboard_hotkey_notify_hotkey(const u32 hkey)
{
- if (tpacpi_driver_event(hkey))
- return true;
-
if (hkey < TP_HKEY_EV_ADAPTIVE_KEY_START ||
hkey > TP_HKEY_EV_ADAPTIVE_KEY_END) {
pr_info("Unhandled adaptive keyboard key: 0x%x\n", hkey);
@@ -3728,9 +3725,6 @@ static bool adaptive_keyboard_hotkey_notify_hotkey(const u32 hkey)
static bool hotkey_notify_extended_hotkey(const u32 hkey)
{
- if (tpacpi_driver_event(hkey))
- return true;
-
if (hkey >= TP_HKEY_EV_EXTENDED_KEY_START &&
hkey <= TP_HKEY_EV_EXTENDED_KEY_END) {
unsigned int scancode = hkey - TP_HKEY_EV_EXTENDED_KEY_START +
@@ -3756,6 +3750,9 @@ static bool hotkey_notify_hotkey(const u32 hkey, bool *send_acpi_ev)
return true;
}
+ if (tpacpi_driver_event(hkey))
+ return true;
+
/*
* Original events are in the 0x10XX range, the adaptive keyboard
* found in 2014 X1 Carbon emits events are of 0x11XX. In 2017
@@ -3765,7 +3762,7 @@ static bool hotkey_notify_hotkey(const u32 hkey, bool *send_acpi_ev)
case 0:
if (hkey >= TP_HKEY_EV_ORIG_KEY_START &&
hkey <= TP_HKEY_EV_ORIG_KEY_END) {
- tpacpi_input_send_key_masked(scancode);
+ tpacpi_input_send_key(scancode);
return true;
}
break;
Call tpacpi_driver_event() at the top of hotkey_notify_hotkey() for all (orig / adaptive / extended) hotkey types, rather then having the orig code path call tpacpi_input_send_key_masked() which calls it through hotkey_driver_event() and having the adaptive / extended helpers call it separately. Signed-off-by: Hans de Goede <hdegoede@redhat.com> --- drivers/platform/x86/thinkpad_acpi.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-)