From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-dl1-f53.google.com (mail-dl1-f53.google.com [74.125.82.53]) (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 9CEA4395AE2 for ; Thu, 11 Jun 2026 22:39:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.53 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781217567; cv=none; b=QPnUIeGuF/1wAvSffkjr+/027TRIlap3yZO0yM8/GJxgWjWRt1cAXpKYAK5Yu/BqC/Jm6uv8s4BG1NYj5sMs1ufdgsm0a7Hnqy5X1ZLlZVKQLq8JgBpvj1ShG8zUlbUKdPCWSgL4KhV4uU2Nxuk4gNN/2dk1+OwAi0BheZwUvNE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781217567; c=relaxed/simple; bh=i6MFtNvxolieN4lk5VN/96A2bl1Y4HNUU5VxSOuv454=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=MQEO2GgSM35NTQgSa4pKO8Ly8d2JyYEB3D2hNtqAsbtkqk04W3kdO8cryegDuEv9wR+d0P6jQu+1tsiJYMcoQMK1Lu5Nd12HwQ/w8qOpCfDDrUBvZGP35bpBhfek/dG9bT6JHCmmAqTzPFEUCnbMWjkqXLwzJK9BUJkzW342rYU= 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=h4D0rS3x; arc=none smtp.client-ip=74.125.82.53 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="h4D0rS3x" Received: by mail-dl1-f53.google.com with SMTP id a92af1059eb24-137d464c47eso861979c88.1 for ; Thu, 11 Jun 2026 15:39:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1781217565; x=1781822365; 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=h4D0rS3xg9iY2KpgcVgkia5/oo+8Yr1G32yO9+s7r92HLP/16PxyEO8nxErMf3lyIh hhbTZ6iehikZgqFT97DYN4YpJfZ0zXJxZ5Fp7Usf88ChPlPbVBYONMBMNCI9IwvFCO+j WsVgq8JUDWffwJp/9wB1WBdU34nDNrkPhbXhLAZ/+ZXCSb12z49wRd9qcs2vPimjGtI/ titeF5FZY018SehD1czyWOe252Z8O2U8pOjWiidqkp1qNNbWFGWMEgdZJbtvMpLHx/h6 DV4yfpBYCFlnBVDrFUPqIjF2/Z8Hv2oBU/6lnAPhBf4H74c9oYkZZ5yGbxh5L4nQgJZJ f6SQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781217565; x=1781822365; 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=CKC1Zui4fb3G0N6xDhUMCSj+c2G8+5q3sMTHu84YwaXvf4vz8Si/28kN0Qw4Dc9NBe Z4b23CZFGpaBCbmLVRgxScD6baT4HC6Rz0zfiy4SPs+6ul8/cXM2TViI1U15RlD70G3g zGSme4itFX84rBuVefTd0RNfMHFOasu5EKUHbJxZ3xKHafXM1UK58KKoo3yy3WFvyt0z twuLG/eT/qaiM2hHyzwX/j0EVPaKZV+HQwPRld0uDeRkYy85SuSln10unABkxi11NUVE wSm9AxuTUEFzKTBx+BobS/j25hl2sm6HHkSuPg+Bvr0uUHZOSOIwFTpz5G63wbOR6wL1 VAzg== X-Forwarded-Encrypted: i=1; AFNElJ9TzhB8YLmA1ErWto7MHqVISzacJ+LezaYvMn4bR3lE7EVYV2QDMj+7xTIMM49pp5T7e3YvykrlfReBhf0=@vger.kernel.org X-Gm-Message-State: AOJu0YxYr8kDyZ6cGMGWxLMgBye3W10tPeDYu17+bEfyybrYK8ed3tGJ VSSADIwR4ayFBgTzZFtrkvR+g7tQ/lnIWw7nj6FpKNZKRniG7hBsqyyV X-Gm-Gg: Acq92OEueT/hhXrljYe2i/fCqFPg3KIk4w7Qjw4cpuL1ZXqRy33HtxEh9XzpbINg9x3 ckKLUpiIO/jMZmL0sstG5Yg7sqJtkuS4fHBCdwPEDHxFyUwSKWZqBBTXAT4Mt9hS6iKnjenGIMJ WGBddoyt7dbNnuyTYZRWgDBVDAHyyLeuMtn6dKPhr3kTQ3KZgBA4H75O1Dsn47QPbHHzh7N82Xs PoyQ4hYUBBGlAfsNoK6eYDK0jHI4V+rFLE4Ppld8h63+mWPqfOJaAa/4VZDdv9Emj9moeAtoX5p yz3LmoC2NTRJ7c+KGOrZTenyba7NLYRCY1PJgE7UdytK43NNoSxsbvQAundSt/404RKd3kUtxi1 HygHa+JAnvtMN3lLSI2R3EzS19zp+x2MqxNxu/Yj4E/DfbVPm6UIPrw5hH+XJ/Xgi6uIfAzJvrn zpK+XFLFdAtlFj3v5395K84REYhyte2Pz23GqyS2gipfv6nQrgBspEacUqra4VK1ZN7UGDtORgK 0zW X-Received: by 2002:a05:7022:485:b0:136:c2fa:32d6 with SMTP id a92af1059eb24-1384bffb32amr10275c88.7.1781217564602; Thu, 11 Jun 2026 15:39:24 -0700 (PDT) Received: from lappy (108-228-232-20.lightspeed.sndgca.sbcglobal.net. [108.228.232.20]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-1384b975e55sm241273c88.13.2026.06.11.15.39.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Jun 2026 15:39:24 -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" , platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/2] platform/x86: msi-wmi: Reformat msi_wmi_notify() Date: Thu, 11 Jun 2026 22:39:19 +0000 Message-ID: <20260611223920.1679438-2-derekjohn.clark@gmail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260611223920.1679438-1-derekjohn.clark@gmail.com> References: <20260611223920.1679438-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