platform/x86: thinkpad_acpi: Move hotkey_user_mask check to tpacpi_input_send_key()
authorHans de Goede <hdegoede@redhat.com>
Wed, 24 Apr 2024 12:28:20 +0000 (14:28 +0200)
committerHans de Goede <hdegoede@redhat.com>
Mon, 29 Apr 2024 09:44:12 +0000 (11:44 +0200)
Move hotkey_user_mask check to tpacpi_input_send_key(), this is
a preparation patch for further refactoring.

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-11-hdegoede@redhat.com
drivers/platform/x86/thinkpad_acpi.c

index f9615b1a28ccd13d38b66725ca39d0d4fe472b02..f2655278ab8ea861f28a8db252d9e89b414f6637 100644 (file)
@@ -2256,6 +2256,10 @@ static void tpacpi_input_send_key(const unsigned int scancode)
 {
        const unsigned int keycode = hotkey_keycode_map[scancode];
 
+       if (scancode < TP_ACPI_HOTKEYSCAN_ADAPTIVE_START &&
+           !(hotkey_user_mask & (1 << scancode)))
+               return;
+
        if (keycode != KEY_RESERVED) {
                mutex_lock(&tpacpi_inputdev_send_mutex);
 
@@ -2275,8 +2279,7 @@ static void tpacpi_input_send_key(const unsigned int scancode)
 static void tpacpi_input_send_key_masked(const unsigned int scancode)
 {
        hotkey_driver_event(scancode);
-       if (hotkey_user_mask & (1 << scancode))
-               tpacpi_input_send_key(scancode);
+       tpacpi_input_send_key(scancode);
 }
 
 #ifdef CONFIG_THINKPAD_ACPI_HOTKEY_POLL