Commit ba696606 authored by Hans de Goede's avatar Hans de Goede
Browse files

platform/x86: thinkpad_acpi: Move special original hotkeys handling out of switch-case



Move the special handling (send_acpi_ev = false, hotkey_source_mask check)
for original hotkeys out of the switch-case in hotkey_notify_hotkey().
This is a preparation patch for further refactoring.

Tested-by: default avatarMark Pearson <mpearson-lenovo@squebb.ca>
Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
Reviewed-by: default avatarMark Pearson <mpearson-lenovo@squebb.ca>
Reviewed-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Link: https://lore.kernel.org/r/20240424122834.19801-10-hdegoede@redhat.com
parent 0a1f7f57
Loading
Loading
Loading
Loading
+10 −4
Original line number Diff line number Diff line
@@ -3745,6 +3745,15 @@ static bool hotkey_notify_hotkey(const u32 hkey, bool *send_acpi_ev)
{
	unsigned int scancode = hkey - TP_HKEY_EV_ORIG_KEY_START;

	/* Never send ACPI netlink events for original hotkeys (hkey: 0x1001 - 0x1020) */
	if (hkey >= TP_HKEY_EV_ORIG_KEY_START && hkey <= TP_HKEY_EV_ORIG_KEY_END) {
		*send_acpi_ev = false;

		/* Original hotkeys may be polled from NVRAM instead */
		if (hotkey_source_mask & (1 << scancode))
			return true;
	}

	/*
	 * Original events are in the 0x10XX range, the adaptive keyboard
	 * found in 2014 X1 Carbon emits events are of 0x11XX. In 2017
@@ -3754,10 +3763,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) {
			if (!(hotkey_source_mask & (1 << scancode)))
			tpacpi_input_send_key_masked(scancode);

			*send_acpi_ev = false;
			return true;
		}
		break;