From nobody Wed Apr 1 09:59:05 2026 Received: from mail-dl1-f48.google.com (mail-dl1-f48.google.com [74.125.82.48]) (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 6AD433E8C5A for ; Tue, 31 Mar 2026 18:12:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774980746; cv=none; b=OUutJqX4TrmwGkeLW4zGOLlUhoTCgahQ39AeGH2FpzI5/0CRBgmGbpoq0/bV1v4cX6SB/UCnkB1DDtnqTpJ8Ar6p+0acMPUwIQAVTF5DRc93gNU/7PB+T1hKUzAAe86QPB+8cpsK9Dqad5lKCy6PCctunEMWgVt0cPnhC0xwjvk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774980746; c=relaxed/simple; bh=JiWzgDAXej9In4o5iFPkUzYAAXMi/rkmJkGLb7EKJ3Y=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=k6e+/DhZDKQbQV+Z4ornVP7mL+GwlPMmGn+a3MWii3vxSULMLLOqlKM+OAAqs9cMKIF6Hc4A6w9zfStrxDSHexto7p+/7YbL+BiuaDjpqThSMzBxMk107Os18wcSyDYkfN4Q2p/DuYyQA9zDROGdkcFBS+5lTYGI/ZJDqtwpPKs= 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=lyaxuI74; arc=none smtp.client-ip=74.125.82.48 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="lyaxuI74" Received: by mail-dl1-f48.google.com with SMTP id a92af1059eb24-126ea4b77adso8574192c88.1 for ; Tue, 31 Mar 2026 11:12:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774980742; x=1775585542; 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=btToglq9X1YRie8VMe5VKgTtvJn2RACiXwu4CAtqAnI=; b=lyaxuI74g8nHkCBPLE5GgbbDStxZEwQbOAGYdAsoAF6uTZap6rkro1wQ3gvQnrNkzI THhFKiAcHS/xYpddSj3ZbK2+sE7HilY+7gefyvpIq6q8seqUv3swqYuuz0ZLM/WhdgGK 2FcuMUdJGs3sU7ZuDWiSEe/LUhyhbjGWJVqgz7lWFXBanJEfXzCYuMixi9N0vJVUPC1U MtBFZLxWq3Bsy8J/rThKhD/CzdLXUJfGkffto9cnJ1WLRE89tWzaL9I8sf78FpNMVOdM SIRQp37j/QKcUuZXOAfOO1sBxP1WFxlOlDx7H3Eb9VWYhp6UR+CDTMo/KelnUw5595BB Wd7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774980742; x=1775585542; 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=btToglq9X1YRie8VMe5VKgTtvJn2RACiXwu4CAtqAnI=; b=eOvo3FtIZqdrOvp/6NGXHHB8sEmEv3URl2OTGR5+GDqlYDD3dv7XDMSWXOLUByjas9 8l2Y4YjAvsZq/oWM5XV8aVMCBqE1SN1A66Yn/xFuWL+Fm1/BluBluxyEwZxOgzz9UDYb 2JGRm5Aww+9jM2xFPnM76wtmojYWTunmqaHVz47LYPZOyTFigAHT4nL4kUxB145GnDkY F/0OXeMbgrptnO4ZjcfqXSXtNtRAbjuPjRKd1+holcEqeptOGVux5Uw8kFMQVa4HhsDj fScR6ZMxdMwIpB6iT3BPZ6bPA1e+FEV+lBdBOD//WawCI77nHFfTLKVSspDOSvdhBopA eRPA== X-Forwarded-Encrypted: i=1; AJvYcCXRCvpib3wEIxEPVw/QUq251pxks2Wchi7K0dmevnNvJJgR4wQkWyyEOIRqcBAPNHmfSSFaerBi4OfMIiM=@vger.kernel.org X-Gm-Message-State: AOJu0YwnSKmv/Qw25eirLLyLCXtymom2oNU69ZXSN6+wj+JW+O5U1FiR NUilxZxqzbtXVbpzlu/OWaDVuuCANlWXlCBh8rtRLwewgYm5EB/lvEO/ X-Gm-Gg: ATEYQzy114RfjcTHdiPpbRkbqBqN1W/xfuk5hHNL3MBJhEWgWzxwSBkyd2Vc8JkF3rt C+APUUnD5meI/tycPDvfsjEUYkYSJNY4hDnW1FzRKtpeKImsUQIlHaxDXJh0EwqXpNr/WFyLEkU /BkjvjuXCy9eobmA+xSQwybzzV2jvZGq4Kr09tsh3VWL0/VMmn/6n/clp7rjbcTfH3aR1cw9FBG rofJ9Z1qfYcQJ4yk5xIpQrseWQpoSw0oDCdUNWpWdbH3t7JCLBstF15eRBCMcR/H4XUJ5WZ7hCC b9C/4Ti5nL9tLWOI2rXd4eilaQHdjzvYL5NlhoGo9SHT6z8a5hWMQ2FZQoBSIaKS3er3PgLuTiR TzXH3dY59kR7tkbVkCzXPIYSqVWRljr/o7S+64pZQQUjwLw2BKK0vhiKIvGX+vS4pQMFeFrIHau 6Jo7/hNQPWkt9iMjYuo2zJeWayc2mgE3eyfyEyuq2FY+IZxulEqt+K+rrCZ+3hY1r4S1wLQzrvH 2VL X-Received: by 2002:a05:7022:602:b0:128:d2f2:5cf8 with SMTP id a92af1059eb24-12be6575e03mr273151c88.34.1774980741768; Tue, 31 Mar 2026 11:12:21 -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-12abbe21787sm10769272c88.11.2026.03.31.11.12.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 Mar 2026 11:12:21 -0700 (PDT) From: "Derek J. Clark" To: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= , Hans de Goede Cc: Mark Pearson , Armin Wolf , Jonathan Corbet , Rong Zhang , Kurt Borja , "Derek J . Clark" , platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v6 12/13] platform/x86: lenovo-wmi-helpers: Add helper for creating per-device debugfs dir Date: Tue, 31 Mar 2026 18:12:07 +0000 Message-ID: <20260331181208.421552-13-derekjohn.clark@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260331181208.421552-1-derekjohn.clark@gmail.com> References: <20260331181208.421552-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" From: Rong Zhang We are about to add debugfs support for lenovo-wmi-capdata. Let's setup a debugfs directory called "lenovo_wmi" for tidiness, so that any lenovo-wmi-* device can put its subdirectory under the directory. Subdirectories will be named after the corresponding WMI devices. Signed-off-by: Rong Zhang Signed-off-by: Derek J. Clark --- drivers/platform/x86/lenovo/wmi-helpers.c | 34 +++++++++++++++++++++++ drivers/platform/x86/lenovo/wmi-helpers.h | 2 ++ 2 files changed, 36 insertions(+) diff --git a/drivers/platform/x86/lenovo/wmi-helpers.c b/drivers/platform/x= 86/lenovo/wmi-helpers.c index e1cf869224d2..52a0c6a5a4bf 100644 --- a/drivers/platform/x86/lenovo/wmi-helpers.c +++ b/drivers/platform/x86/lenovo/wmi-helpers.c @@ -17,6 +17,8 @@ */ =20 #include +#include +#include #include #include #include @@ -185,6 +187,38 @@ int lwmi_tm_notifier_call(enum thermal_mode *mode) } EXPORT_SYMBOL_NS_GPL(lwmi_tm_notifier_call, "LENOVO_WMI_HELPERS"); =20 +static struct dentry *lwmi_debugfs_dir; + +/** + * lwmi_debugfs_create_dir() - Helper function for creating a debugfs dire= ctory + * for a device. + * @wdev: Pointer to the WMI device to be called. + * + * Caller must remove the directory with debugfs_remove_recursive() on dev= ice + * removal. + * + * Return: Pointer to the created directory. + */ +struct dentry *lwmi_debugfs_create_dir(struct wmi_device *wdev) +{ + return debugfs_create_dir(dev_name(&wdev->dev), lwmi_debugfs_dir); +} +EXPORT_SYMBOL_NS_GPL(lwmi_debugfs_create_dir, "LENOVO_WMI_HELPERS"); + +static int __init lwmi_helpers_init(void) +{ + lwmi_debugfs_dir =3D debugfs_create_dir("lenovo_wmi", NULL); + + return 0; +} +module_init(lwmi_helpers_init) + +static void __exit lwmi_helpers_exit(void) +{ + debugfs_remove_recursive(lwmi_debugfs_dir); +} +module_exit(lwmi_helpers_exit) + MODULE_AUTHOR("Derek J. Clark "); MODULE_DESCRIPTION("Lenovo WMI Helpers Driver"); MODULE_LICENSE("GPL"); diff --git a/drivers/platform/x86/lenovo/wmi-helpers.h b/drivers/platform/x= 86/lenovo/wmi-helpers.h index ed7db3ebba6c..039fe61003ce 100644 --- a/drivers/platform/x86/lenovo/wmi-helpers.h +++ b/drivers/platform/x86/lenovo/wmi-helpers.h @@ -16,6 +16,8 @@ struct wmi_method_args_32 { u32 arg1; }; =20 +struct dentry *lwmi_debugfs_create_dir(struct wmi_device *wdev); + enum lwmi_event_type { LWMI_GZ_GET_THERMAL_MODE =3D 0x01, }; --=20 2.53.0