platform/x86: thinkpad_acpi: Drop KEY_RESERVED special handling
authorHans de Goede <hdegoede@redhat.com>
Wed, 24 Apr 2024 12:28:28 +0000 (14:28 +0200)
committerHans de Goede <hdegoede@redhat.com>
Mon, 29 Apr 2024 09:53:52 +0000 (11:53 +0200)
The input core already filters out EV_KEY events for KEY_RESERVED,
remove the check for this in tpacpi_input_send_key() and rely
on the input core filtering instead.

Also change tpacpi_input_send_key() to only report the scancode
once instead of reporting it on both press and release. Together
these 2 changes make tpacpi_input_send_key() behave the same as
sparse_keymap_report_event().

The goal of this patch is to have a separate commit with
the slightly different behavior from sparse_keymap_report_event()
before switching over to using the sparse-keymap helpers.

Tested-by: Mark Pearson <mpearson-lenovo@squebb.ca>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Mark Pearson <mpearson-lenovo@squebb.ca>
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Link: https://lore.kernel.org/r/20240424122834.19801-19-hdegoede@redhat.com
drivers/platform/x86/thinkpad_acpi.c

index c031c2df9283f45519055c912628e218eb590904..cb2653a42a70ad473f8a3da589e0b82299eea07b 100644 (file)
@@ -2283,19 +2283,17 @@ static bool tpacpi_input_send_key(const u32 hkey, bool *send_acpi_ev)
        }
 
        keycode = hotkey_keycode_map[scancode];
-       if (keycode != KEY_RESERVED) {
-               mutex_lock(&tpacpi_inputdev_send_mutex);
 
-               input_event(tpacpi_inputdev, EV_MSC, MSC_SCAN, scancode);
-               input_report_key(tpacpi_inputdev, keycode, 1);
-               input_sync(tpacpi_inputdev);
+       mutex_lock(&tpacpi_inputdev_send_mutex);
 
-               input_event(tpacpi_inputdev, EV_MSC, MSC_SCAN, scancode);
-               input_report_key(tpacpi_inputdev, keycode, 0);
-               input_sync(tpacpi_inputdev);
+       input_event(tpacpi_inputdev, EV_MSC, MSC_SCAN, scancode);
+       input_report_key(tpacpi_inputdev, keycode, 1);
+       input_sync(tpacpi_inputdev);
 
-               mutex_unlock(&tpacpi_inputdev_send_mutex);
-       }
+       input_report_key(tpacpi_inputdev, keycode, 0);
+       input_sync(tpacpi_inputdev);
+
+       mutex_unlock(&tpacpi_inputdev_send_mutex);
 
        return true;
 }