From: "Ionut Nechita (Sunlight Linux)" <sunlightlinux@gmail.com>
To: benato.denis96@gmail.com, jikos@kernel.org, bentiss@kernel.org
Cc: ionut_n2001@yahoo.com, linux-input@vger.kernel.org,
linux-kernel@vger.kernel.org, sunlightlinux@gmail.com,
superm1@kernel.org
Subject: [PATCH v5 3/4] HID: asus: Add WMI communication infrastructure
Date: Wed, 7 Jan 2026 17:42:22 +0200 [thread overview]
Message-ID: <20260107154219.164514-8-sunlightlinux@gmail.com> (raw)
In-Reply-To: <20260107154219.164514-2-sunlightlinux@gmail.com>
From: Ionut Nechita <ionut_n2001@yahoo.com>
Add infrastructure for the HID driver to communicate with the asus-wmi
driver for handling special keys that require WMI communication.
This includes:
- Define ASUS_WMI_METHODID_NOTIF method ID in asus-wmi.h
- Implement asus_wmi_send_event() function to send events to asus-wmi
Reviewed-by: Denis Benato <benato.denis96@gmail.com>
Reviewed-by: Mario Limonciello (AMD) <superm1@kernel.org>
Signed-off-by: Ionut Nechita <ionut_n2001@yahoo.com>
---
drivers/hid/hid-asus.c | 24 ++++++++++++++++++++++
include/linux/platform_data/x86/asus-wmi.h | 1 +
2 files changed, 25 insertions(+)
diff --git a/drivers/hid/hid-asus.c b/drivers/hid/hid-asus.c
index 15c24d5812763..6fcd3213857cf 100644
--- a/drivers/hid/hid-asus.c
+++ b/drivers/hid/hid-asus.c
@@ -23,6 +23,7 @@
/*
*/
+#include <linux/acpi.h>
#include <linux/dmi.h>
#include <linux/hid.h>
#include <linux/module.h>
@@ -321,6 +322,29 @@ static int asus_e1239t_event(struct asus_drvdata *drvdat, u8 *data, int size)
return 0;
}
+/*
+ * Send events to asus-wmi driver for handling special keys
+ */
+static int asus_wmi_send_event(struct asus_drvdata *drvdata, u8 code)
+{
+ int err;
+ u32 retval;
+
+ err = asus_wmi_evaluate_method(ASUS_WMI_METHODID_DEVS,
+ ASUS_WMI_METHODID_NOTIF, code, &retval);
+ if (err) {
+ pr_warn("Failed to notify asus-wmi: %d\n", err);
+ return err;
+ }
+
+ if (retval != 0) {
+ pr_warn("Failed to notify asus-wmi (retval): 0x%x\n", retval);
+ return -EIO;
+ }
+
+ return 0;
+}
+
static int asus_event(struct hid_device *hdev, struct hid_field *field,
struct hid_usage *usage, __s32 value)
{
diff --git a/include/linux/platform_data/x86/asus-wmi.h b/include/linux/platform_data/x86/asus-wmi.h
index 419491d4abca1..516538b5a527e 100644
--- a/include/linux/platform_data/x86/asus-wmi.h
+++ b/include/linux/platform_data/x86/asus-wmi.h
@@ -29,6 +29,7 @@
#define ASUS_WMI_METHODID_KBFT 0x5446424B /* KeyBoard FilTer */
#define ASUS_WMI_METHODID_INIT 0x54494E49 /* INITialize */
#define ASUS_WMI_METHODID_HKEY 0x59454B48 /* Hot KEY ?? */
+#define ASUS_WMI_METHODID_NOTIF 0x00100021 /* Notify method */
#define ASUS_WMI_UNSUPPORTED_METHOD 0xFFFFFFFE
--
2.52.0
next prev parent reply other threads:[~2026-01-07 15:42 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-07 15:42 [PATCH v5 0/4] HID: asus: Add Fn+F5 fan control key support for ROG laptops Ionut Nechita (Sunlight Linux)
2026-01-07 15:42 ` [PATCH v5 1/4] HID: asus: Replace magic number with HID_UP_ASUSVENDOR constant Ionut Nechita (Sunlight Linux)
2026-01-07 15:42 ` [PATCH v5 2/4] HID: asus: Filter spurious HID vendor codes on ROG laptops Ionut Nechita (Sunlight Linux)
2026-01-07 15:42 ` Ionut Nechita (Sunlight Linux) [this message]
2026-01-07 15:42 ` [PATCH v5 4/4] HID: asus: Implement Fn+F5 fan control key handler Ionut Nechita (Sunlight Linux)
2026-01-08 7:40 ` [PATCH v5 0/4] HID: asus: Add Fn+F5 fan control key support for ROG laptops Ionut Nechita (Sunlight Linux)
2026-01-08 11:17 ` Jiri Kosina
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260107154219.164514-8-sunlightlinux@gmail.com \
--to=sunlightlinux@gmail.com \
--cc=benato.denis96@gmail.com \
--cc=bentiss@kernel.org \
--cc=ionut_n2001@yahoo.com \
--cc=jikos@kernel.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=superm1@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.