From nobody Wed Aug 5 07:40:56 2026 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: quoted-printable Content-Type: text/plain; charset="utf-8" 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 Reviewed-by: Armin Wolf --- 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 = =3D { =20 static void msi_wmi_notify(union acpi_object *obj, void *context) { - struct key_entry *key; + struct key_entry *key =3D NULL; + int eventcode =3D 0; =20 - if (obj && obj->type =3D=3D ACPI_TYPE_INTEGER) { - int eventcode =3D obj->integer.value; + if (!obj) + return; + + switch (obj->type) { + case ACPI_TYPE_INTEGER: + eventcode =3D obj->integer.value; pr_debug("Eventcode: 0x%x\n", eventcode); - key =3D 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 =3D 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 =3D ktime_get_real(); + ktime_t diff =3D 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 =3D cur; + } =20 - if (event_wmi->quirk_last_pressed) { - ktime_t cur =3D ktime_get_real(); - ktime_t diff =3D 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 =3D cur; - } + /* Brightness is served via acpi video driver */ + if (key->type =3D=3D KE_KEY && + (backlight || (key->code =3D=3D MSI_KEY_BRIGHTNESSUP || + key->code =3D=3D MSI_KEY_BRIGHTNESSDOWN))) + return; =20 - if (key->type =3D=3D KE_KEY && - /* Brightness is served via acpi video driver */ - (backlight || - (key->code !=3D MSI_KEY_BRIGHTNESSUP && - key->code !=3D 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->ke= ycode); + sparse_keymap_report_entry(msi_wmi_input_dev, key, 1, true); } =20 static int __init msi_wmi_backlight_setup(void) --=20 2.54.0 From nobody Wed Aug 5 07:40:56 2026 Received: from mail-dy1-f172.google.com (mail-dy1-f172.google.com [74.125.82.172]) (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 D895125E469 for ; Sat, 13 Jun 2026 02:16:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781317021; cv=none; b=lEk6uqbmj07ewlW1u/cF86vS//gtL+DdKl/1O1BPA3j3EufckSF3h8p5ak9Jf5QtWrSNahfwJAMRc8RkC1JLzIzmIt2m1s5BkEUG2WwhlbLy1WB1qpi6YnQJUrbPQ1F3NENp5GPNCIQ6iUldqNCtBZ6UPwTHgTH8QGBCMA30C8Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781317021; c=relaxed/simple; bh=zVMwEyWWCc8jfTHooJjUSOaj9CWNTteTj5bXrbCRFa8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=m2YRSYqm4QFH1riq10HhI84c1/c4PFMYVaS9bul6sZ5KctyqIFf/cblVnZLc3B95+t4LaeWbTJvAVornbPriwCk9PISmrFd8LXbjTepp3J7d95wOnj3LIHHoXO++uAbm0vh11tFpu3nZem//rmlZHPnhN1bWyPbkk7ZDU1O7B8I= 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=cX/dMhFM; arc=none smtp.client-ip=74.125.82.172 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="cX/dMhFM" Received: by mail-dy1-f172.google.com with SMTP id 5a478bee46e88-304d0ac5e3cso3411208eec.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=1781317019; x=1781921819; 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=dWft2f1Im9NncRU+LFQf7xWUs7WelaDhR+JrHlWf3PE=; b=cX/dMhFMUO3GO+30vz/Wq8BemUsdmpxhtRNd5g/7h3X4hUADEO7UoKB5r72iOmJcyB 0Zal99CR1LyWAL6SfyqRN7RbKa/YR9Cjpj7Uwnsk5bAbohmQ8SzLoVFsQOh+YgKfETJh EIGuUnQUaFnGiq80fpDXvZR9RimaVro20G191X96AkSIdTCgpLtxTOakA+uLRfIr+uJ/ 1fzUnXS5bwGqru/+4oRY9sre9cIK8ecnN4awT4L3xkSnm/e+M7tZX9tUz+JVfDHrHxjq 8fq2kurVRRhCGTAqtIA5NgXuAJrK0T2zkmUZLiQHEpywJYaexmsFceTW4q63jcCj4ePp RH5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781317019; x=1781921819; 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=dWft2f1Im9NncRU+LFQf7xWUs7WelaDhR+JrHlWf3PE=; b=WsnVeHXEay3SwosfBNM0FnhtQs4Kn5KECnxsjv8bUhduLhP3qvKFqvf/mXBnKa5y0x 242cVOcAztjxUaSfSOYlqih3bzNecEv+6RiJAbvR0YoMp1AN80XL43+sgBZP9w/ChGqM NSCQK7ZS/vAEr+h1xH2J8c4dUNGv7MJ0kE8sjVjbjh/TwsryA/xJWFi3AI5G8NAx2/jD 4RncLnrCd0QavdL8VkXS1g42i+aWK2V0Yh76uzO7J9UhA2Kn8eS5kcZt0M96Qu1G9LDI eaDyiEBdGDtDD/QPNh+3n2gHmxQZQa3nXwImRDEk7NT2ilIyqJYpxlhhoeN+Ts32pO6s 3qIg== X-Forwarded-Encrypted: i=1; AFNElJ8KDOBmXu+dvBC3pN10cIv4rSIutwgLcEX61pKO+4/DbZKVnYpy0Iu4srzFFTFpSFqPo7Dbz68eiRefRqc=@vger.kernel.org X-Gm-Message-State: AOJu0Yw+hRH9OD4FTPIsVULgDsfZTntIikxYN1xWDKV/pIYJxiIqOLUG qLpM230Hr/kImICFmJ5fBmVAAuZ4GEllghRgO8035DJYeW+znYkikcbX X-Gm-Gg: Acq92OGqCAUj9+8xldX2J7Fs/k00MtcZecdBzdBJHRPZKDAonhTqdV934N3Kaa0SpgH kOcx+BIStwwV+S7MxhVIU+/oLlKvRiGwFVsyMQCdvOqtCQqR84wmtkEDt4S2kTyf8CLVpJrv51A S3r6WfO6uJDX81wW0bpFUseXQR+nv90j5CdhKYOkzcNfBhgLrEfdsm/kKLJx0cPbKV78okLEuxw 1ovy5yu3BowU0m0DDMlPg5FgvGUeSNHD5JSD7kFzBZvFmjbg07Bj66pmsnsBjlu73e2Rq7Yk0NX xIUOGa8QuMEX81B0SjJtCZph5jH9K2Xbs1Zq9LO1Ros70b3atkjoC7Jrod7XC0UBLQONloqjDiQ DINxXJRxu3zT+8ytkz6R3iNpLmzwbqtGA0bQYwKQZOXnewR3jj6D0IjUehulhMcXs62khDkXPlt 2/ePmwag3mhh2W2BTxDtW7XclXrh+qo8G9+x7ZRlinqofAVqP/h6bYBlrtzf3XzobpOJrsPXdRu CM0 X-Received: by 2002:a05:7300:6916:b0:307:3a6c:e708 with SMTP id 5a478bee46e88-3081ff57263mr3376737eec.5.1781317018931; 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.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 12 Jun 2026 19:16:58 -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 2/2] platform/x86: msi-wmi: Add MSI Claw M-Center keys Date: Fri, 12 Jun 2026 19:16:54 -0700 Message-ID: <20260613021654.933618-3-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: quoted-printable Content-Type: text/plain; charset="utf-8" MSI Claw devices produce WMI events through the MSI WMI hotkeys GUID for some of their buttons. When pressed, these cause spam in the kernel. For the majority of devices these events can be safely ignored as they are duplicated by the AT Translated Set 2 Keyboard device exposed as an evdev. For the MSI Claw A8 BZ2EM model's M-Center Menu button (left of the screen) there is no associated keyboard event, so this event must be exposed. Map this button to the same scancode produced by the AT Keyboard device on other models. This does cause double F15 events on the A1M, 7 AI+ A2VM, and 8 AI+ A2VM, but it appears to be harmless in my testing. Signed-off-by: Derek J. Clark Reviewed-by: Armin Wolf --- v2: - Add comments explaining buffer fields & length. - Test that we have at lease u8[2] before assignment of key ID --- drivers/platform/x86/msi-wmi.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/drivers/platform/x86/msi-wmi.c b/drivers/platform/x86/msi-wmi.c index d00ced756581..c9db750fe5ae 100644 --- a/drivers/platform/x86/msi-wmi.c +++ b/drivers/platform/x86/msi-wmi.c @@ -46,6 +46,12 @@ enum msi_scancodes { WIND_KEY_WLAN =3D 0x5f, /* Fn+F11 Wi-Fi toggle */ WIND_KEY_TURBO, /* Fn+F10 turbo mode toggle */ WIND_KEY_ECO =3D 0x69, /* Fn+F10 ECO mode toggle */ + /* MSI Claw keys */ + CLAW_KEY_VOLUMEDOWN =3D 0x21, + CLAW_KEY_CENTER =3D 0x29, /* MSI M-Center main menu */ + CLAW_KEY_QUICK_LONG =3D 0x2a, /* MSI M-Center quick access long hold */ + CLAW_KEY_VOLUMEUP =3D 0x32, + CLAW_KEY_QUICK_SHORT =3D 0x58, /* MSI M-Center quick access short press */ }; static struct key_entry msi_wmi_keymap[] =3D { { KE_KEY, MSI_KEY_BRIGHTNESSUP, {KEY_BRIGHTNESSUP} }, @@ -69,6 +75,15 @@ static struct key_entry msi_wmi_keymap[] =3D { { KE_KEY, WIND_KEY_TURBO, {KEY_PROG1} }, { KE_KEY, WIND_KEY_ECO, {KEY_PROG2} }, =20 + /* These are MSI Claw keys, used for MSI M-Center in Windows */ + { KE_KEY, CLAW_KEY_CENTER, {KEY_F15} }, + + /* These MSI Claw keys work without WMI. Ignore them to avoid double keyc= odes */ + { KE_IGNORE, CLAW_KEY_QUICK_SHORT }, + { KE_IGNORE, CLAW_KEY_QUICK_LONG }, + { KE_IGNORE, CLAW_KEY_VOLUMEUP }, + { KE_IGNORE, CLAW_KEY_VOLUMEDOWN }, + { KE_END, 0 } }; =20 @@ -183,6 +198,17 @@ static void msi_wmi_notify(union acpi_object *obj, voi= d *context) eventcode =3D obj->integer.value; pr_debug("Eventcode: 0x%x\n", eventcode); break; + case ACPI_TYPE_BUFFER: + /* Field returns u8[2] here, but is u32 by spec. Allow "oversized" buffe= rs. */ + if (obj->buffer.length < 2) + return; + + /* pointer[0] is key ID, pointer[1] is active state. We don't get release + * events, so ignore the active state and treat as autorelease. + */ + eventcode =3D obj->buffer.pointer[0]; + pr_debug("Eventcode: 0x%x\n", eventcode); + break; default: pr_info("Unknown event received\n"); return; --=20 2.54.0