From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-dl1-f45.google.com (mail-dl1-f45.google.com [74.125.82.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 32D0B1F0E34 for ; Sat, 13 Jun 2026 02:16:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.45 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781317020; cv=none; b=hWtWDv/dfcBkisCUUfibvnttSbjY8cIo0OggLQMpde87CVd7z8sk0HmP+YLcsWZ0rNBBgXTFJLeNbnnd99TEBO3qxdEObmR4Czrk9p8FOLi5PaqsbnKTkGsOgfJy4SZTf1gCCuPbvkR7h3PryOMZBFw28RYfVOpbmlYHGRQZ7uU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781317020; c=relaxed/simple; bh=i6MFtNvxolieN4lk5VN/96A2bl1Y4HNUU5VxSOuv454=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=awt9AP2bGMPfAbgHL5JBWHSLKR4uzSUwO4hIIWJ1Pfo8rvy5qU/kiTaY2Pphqrlv9jsfKdHABDN6pZGk62wQJ6bp4wG5/oE9lgSoy0uPMJcjCdbBzbB5t1j6VIUkBlebuG0pt661oIO8PR82SFCLe0CqV/EMmOVlNHjligbvaLA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=n1dNcbAx; arc=none smtp.client-ip=74.125.82.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="n1dNcbAx" Received: by mail-dl1-f45.google.com with SMTP id a92af1059eb24-137eb0d76beso1866572c88.0 for ; Fri, 12 Jun 2026 19:16:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1781317018; x=1781921818; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=pIOz3zm+RSFHd4HOq3rk3uZ1Gb4SoU/OadQL7cr2so8=; b=n1dNcbAxOTGCK5BS7DrX0ilbhgk9toysyVBAn7IPuyrXuApv7GlfIG+T0nPeP8fcu8 65XOlVHhEzCh055rGF24diOOAE1gJF6ufNVaeU4q8WBN5xZ06nERK+B8nF83kV+Jhf08 caT3sbI6QK/ZB1jusCaiVc4H5m7Vv+nNPxkBE5KMx2zSY1YLFrCwhx6GOWF8RQWMMuBZ zxfOKvuuI25IiyXm3IRmjsBeRhUHiAhk10O2p7U7KvMj9mLzOl2xrMDpZ0OGCtIzTcHT ny3ivPerlbebaSdTmX8IHnljS4d7AUYAl5y9DTLVmrUmAbjT+VmDVvrc7jh18bZoiR42 jshg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781317018; x=1781921818; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=pIOz3zm+RSFHd4HOq3rk3uZ1Gb4SoU/OadQL7cr2so8=; b=sdNkX7cQd73TUkpW+KLW3rR6bERm0FM6/wNaVh3eiLAq9gR5DUEjgDA6AEDEBSD02J /qi+EqVZD7AtfyQRedYhgxxvJPkbkZIqKVYseBmodcGjjb9oPX/cw18R4XkE9VP9bsS6 RViPfrLBl9o204+xGK/TJVmMTfxut2TOktnPvLwZkq2KwuhZLmVfPOaF8rneBRtQNncX Y5rwcz9Vgcmk4nFTyT9W1ASt71TByNnPlHSkCyxnp+/10QtZbbnMcEukIttGRiewvJb2 jmKf5dvgdunM2BdeuHpzkmQsg4zx/1j2rvFEK9M1UXCsE0THG12iQ5oJFW8w1B2L2xQn ZKIA== X-Forwarded-Encrypted: i=1; AFNElJ+TACdmx55KjNPgMjP/+7CU2RzNQJsIsYvSMUOPb3kEsJVuRVjZUvRjp48EllO/SiZuxL70I18XqqP98Gk=@vger.kernel.org X-Gm-Message-State: AOJu0YyyuIIXceZW0I2D17HigxKjh+c27MHV/8k0jBHM4ovzzmu8YnSX /Jmbzux0nrsknEMBzt1DnpUdq9/g09UG/lOtm5d+/N7Q5Izlklp5ECYA X-Gm-Gg: Acq92OEfig/g/GQWxkqWf7ORO0SW2g0Q9fZ1M+4xwhyIUuIhX4RcY4EgoOYXTSiEmhy 3mcBcL5Py+QFRKpK0hvA51A0ULEPXgNb1b7fMI2ePIdDHCodFmxLE/cVTHN9zjRHunvTwdpMYhK /xKa/lGPBPB1yXdwMtRaqz+embFbqXsqczPDqiaVSBW3QDRKcil3PAeTzrce3Fh+yW9BcUQ6KOZ S9U2kC02wOk1SZdkssbjhC/DWwo/dqfJ2ER6A3m0A/Uz/y/mNqSZroNY1jfrgYN99PFp2kVthBQ JSx255KU3x+xzBMRu1zM8PVVlEDyihlqJsN84Huur9c/jp4EewDVWtZd5HUhlpEuJ4KG6jYtL19 Kr2yV/7e92jBVoL1sF+Sb3c5Fef3xbencfJaZQ65URqNvIYoLIQk5Fto8T2CMEPPdP2nQOr7mFh Fd6MsWYLuiYeVtvIzg1kuRloZ3++UZ/abKQg46E3+hX/y7Z53rCIiK3p8qPuPCx+we3wwTi4AQy 75ZFijRXv1H+B0= X-Received: by 2002:a05:7022:6727:b0:137:24c9:fb7a with SMTP id a92af1059eb24-1384b39a6f1mr2777016c88.2.1781317018208; Fri, 12 Jun 2026 19:16:58 -0700 (PDT) Received: from lappy (108-228-232-20.lightspeed.sndgca.sbcglobal.net. [108.228.232.20]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-3081e48e412sm6417828eec.4.2026.06.12.19.16.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 12 Jun 2026 19:16:57 -0700 (PDT) From: "Derek J. Clark" To: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= , Hans de Goede Cc: Armin Wolf , "Derek J . Clark" , "Pierre-Loup A . Griffais" , Thomas Renninger , platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 1/2] platform/x86: msi-wmi: Reformat msi_wmi_notify() Date: Fri, 12 Jun 2026 19:16:53 -0700 Message-ID: <20260613021654.933618-2-derekjohn.clark@gmail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260613021654.933618-1-derekjohn.clark@gmail.com> References: <20260613021654.933618-1-derekjohn.clark@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Reformats msi_wmi_notify() to use a switch statement that reduces nesting and prepares the function to support additional ACPI types. Signed-off-by: Derek J. Clark --- drivers/platform/x86/msi-wmi.c | 71 +++++++++++++++++++--------------- 1 file changed, 39 insertions(+), 32 deletions(-) diff --git a/drivers/platform/x86/msi-wmi.c b/drivers/platform/x86/msi-wmi.c index 4a7ac85c4db4..d00ced756581 100644 --- a/drivers/platform/x86/msi-wmi.c +++ b/drivers/platform/x86/msi-wmi.c @@ -172,44 +172,51 @@ static const struct backlight_ops msi_backlight_ops = { static void msi_wmi_notify(union acpi_object *obj, void *context) { - struct key_entry *key; + struct key_entry *key = NULL; + int eventcode = 0; - if (obj && obj->type == ACPI_TYPE_INTEGER) { - int eventcode = obj->integer.value; + if (!obj) + return; + + switch (obj->type) { + case ACPI_TYPE_INTEGER: + eventcode = obj->integer.value; pr_debug("Eventcode: 0x%x\n", eventcode); - key = sparse_keymap_entry_from_scancode(msi_wmi_input_dev, - eventcode); - if (!key) { - pr_info("Unknown key pressed - %x\n", eventcode); + break; + default: + pr_info("Unknown event received\n"); + return; + } + + key = sparse_keymap_entry_from_scancode(msi_wmi_input_dev, eventcode); + + if (!key) { + pr_info("Unknown key pressed - 0x%x\n", eventcode); + return; + } + + if (event_wmi->quirk_last_pressed) { + ktime_t cur = ktime_get_real(); + ktime_t diff = ktime_sub(cur, last_pressed); + /* Ignore event if any event happened in a 50 ms + * timeframe -> Key press may result in 10-20 GPEs + */ + if (ktime_to_us(diff) < 1000 * 50) { + pr_debug("Suppressed key event 0x%X - Last press was %lld us ago\n", + key->code, ktime_to_us(diff)); return; } + last_pressed = cur; + } - if (event_wmi->quirk_last_pressed) { - ktime_t cur = ktime_get_real(); - ktime_t diff = ktime_sub(cur, last_pressed); - /* Ignore event if any event happened in a 50 ms - timeframe -> Key press may result in 10-20 GPEs */ - if (ktime_to_us(diff) < 1000 * 50) { - pr_debug("Suppressed key event 0x%X - " - "Last press was %lld us ago\n", - key->code, ktime_to_us(diff)); - return; - } - last_pressed = cur; - } + /* Brightness is served via acpi video driver */ + if (key->type == KE_KEY && + (backlight || (key->code == MSI_KEY_BRIGHTNESSUP || + key->code == MSI_KEY_BRIGHTNESSDOWN))) + return; - if (key->type == KE_KEY && - /* Brightness is served via acpi video driver */ - (backlight || - (key->code != MSI_KEY_BRIGHTNESSUP && - key->code != MSI_KEY_BRIGHTNESSDOWN))) { - pr_debug("Send key: 0x%X - Input layer keycode: %d\n", - key->code, key->keycode); - sparse_keymap_report_entry(msi_wmi_input_dev, key, 1, - true); - } - } else - pr_info("Unknown event received\n"); + pr_debug("Send key: 0x%X - Input layer keycode: %d\n", key->code, key->keycode); + sparse_keymap_report_entry(msi_wmi_input_dev, key, 1, true); } static int __init msi_wmi_backlight_setup(void) -- 2.54.0