From: "Derek J. Clark" <derekjohn.clark@gmail.com>
To: "Hans de Goede" <hdegoede@redhat.com>,
"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
Cc: Armin Wolf <W_Armin@gmx.de>, Jonathan Corbet <corbet@lwn.net>,
Mario Limonciello <superm1@kernel.org>,
Luke Jones <luke@ljones.dev>, Xino Ni <nijs1@lenovo.com>,
Zhixin Zhang <zhangzx36@lenovo.com>,
Mia Shao <shaohz1@lenovo.com>,
Mark Pearson <mpearson-lenovo@squebb.ca>,
"Pierre-Loup A . Griffais" <pgriffais@valvesoftware.com>,
"Cody T . -H . Chiu" <codyit@gmail.com>,
John Martens <johnfanv2@gmail.com>, Kurt Borja <kuurtb@gmail.com>,
"Derek J . Clark" <derekjohn.clark@gmail.com>,
platform-driver-x86@vger.kernel.org, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: [PATCH v10 0/6] platform/x86: Add Lenovo WMI Gaming Series Drivers
Date: Thu, 15 May 2025 11:22:18 -0700 [thread overview]
Message-ID: <20250515182224.8277-1-derekjohn.clark@gmail.com> (raw)
Adds support for the Lenovo "Gaming Series" of laptop hardware that use
WMI interfaces that control various power settings. There are multiple WMI
interfaces that work in concert to provide getting and setting values as
well as validation of input. Currently only the "Gamezone", "Other
Mode", and "LENOVO_CAPABILITY_DATA_01" interfaces are implemented, but
I attempted to structure the driver so that adding the "Custom Mode",
"Lighting", and other data block interfaces would be trivial in later
patches.
This driver attempts to standardize the exposed sysfs by mirroring the
asus-armoury driver currently under review. As such, a lot of
inspiration has been drawn from that driver.
https://lore.kernel.org/platform-driver-x86/20250319065827.53478-1-luke@ljones.dev/#t
The drivers have been tested by me on the Lenovo Legion Go and Legion Go
S.
Suggested-by: Mario Limonciello <superm1@kernel.org>
Reviewed-by: Armin Wolf <W_Armin@gmx.de>
Signed-off-by: Derek J. Clark <derekjohn.clark@gmail.com>
---
v10:
- Fix build error.
v9:
https://lore.kernel.org/platform-driver-x86/20250508235217.12256-1-derekjohn.clark@gmail.com/
v8:
https://lore.kernel.org/platform-driver-x86/20250505010659.1450984-1-derekjohn.clark@gmail.com/
v7:
https://lore.kernel.org/platform-driver-x86/20250503000142.1190354-1-derekjohn.clark@gmail.com/
v6:
https://lore.kernel.org/platform-driver-x86/20250428012029.970017-1-derekjohn.clark@gmail.com/
v5:
https://lore.kernel.org/platform-driver-x86/20250408012815.1032357-1-derekjohn.clark@gmail.com/
v4:
https://lore.kernel.org/platform-driver-x86/20250317144326.5850-1-derekjohn.clark@gmail.com/
v3:
https://lore.kernel.org/platform-driver-x86/20250225220037.16073-1-derekjohn.clark@gmail.com/
v2:
https://lore.kernel.org/platform-driver-x86/20250102004854.14874-1-derekjohn.clark@gmail.com/
v1:
https://lore.kernel.org/platform-driver-x86/20241217230645.15027-1-derekjohn.clark@gmail.com/
Derek J. Clark (6):
platform/x86: Add lenovo-wmi-* driver Documentation
platform/x86: Add lenovo-wmi-helpers
platform/x86: Add Lenovo WMI Events Driver
platform/x86: Add Lenovo Capability Data 01 WMI Driver
platform/x86: Add Lenovo Gamezone WMI Driver
platform/x86: Add Lenovo Other Mode WMI Driver
.../wmi/devices/lenovo-wmi-gamezone.rst | 203 ++++++
.../wmi/devices/lenovo-wmi-other.rst | 108 +++
MAINTAINERS | 12 +
drivers/platform/x86/Kconfig | 41 ++
drivers/platform/x86/Makefile | 5 +
drivers/platform/x86/lenovo-wmi-capdata01.c | 303 ++++++++
drivers/platform/x86/lenovo-wmi-capdata01.h | 25 +
drivers/platform/x86/lenovo-wmi-events.c | 196 +++++
drivers/platform/x86/lenovo-wmi-events.h | 20 +
drivers/platform/x86/lenovo-wmi-gamezone.c | 408 +++++++++++
drivers/platform/x86/lenovo-wmi-gamezone.h | 20 +
drivers/platform/x86/lenovo-wmi-helpers.c | 75 ++
drivers/platform/x86/lenovo-wmi-helpers.h | 20 +
drivers/platform/x86/lenovo-wmi-other.c | 667 ++++++++++++++++++
drivers/platform/x86/lenovo-wmi-other.h | 16 +
15 files changed, 2119 insertions(+)
create mode 100644 Documentation/wmi/devices/lenovo-wmi-gamezone.rst
create mode 100644 Documentation/wmi/devices/lenovo-wmi-other.rst
create mode 100644 drivers/platform/x86/lenovo-wmi-capdata01.c
create mode 100644 drivers/platform/x86/lenovo-wmi-capdata01.h
create mode 100644 drivers/platform/x86/lenovo-wmi-events.c
create mode 100644 drivers/platform/x86/lenovo-wmi-events.h
create mode 100644 drivers/platform/x86/lenovo-wmi-gamezone.c
create mode 100644 drivers/platform/x86/lenovo-wmi-gamezone.h
create mode 100644 drivers/platform/x86/lenovo-wmi-helpers.c
create mode 100644 drivers/platform/x86/lenovo-wmi-helpers.h
create mode 100644 drivers/platform/x86/lenovo-wmi-other.c
create mode 100644 drivers/platform/x86/lenovo-wmi-other.h
--
2.49.0
next reply other threads:[~2025-05-15 18:22 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-15 18:22 Derek J. Clark [this message]
2025-05-15 18:22 ` [PATCH v10 1/6] platform/x86: Add lenovo-wmi-* driver Documentation Derek J. Clark
2025-05-15 18:22 ` [PATCH v10 2/6] platform/x86: Add lenovo-wmi-helpers Derek J. Clark
2025-05-15 18:22 ` [PATCH v10 3/6] platform/x86: Add Lenovo WMI Events Driver Derek J. Clark
2025-05-15 18:22 ` [PATCH v10 4/6] platform/x86: Add Lenovo Capability Data 01 WMI Driver Derek J. Clark
2025-05-15 18:22 ` [PATCH v10 5/6] platform/x86: Add Lenovo Gamezone " Derek J. Clark
2025-05-15 18:22 ` [PATCH v10 6/6] platform/x86: Add Lenovo Other Mode " Derek J. Clark
2025-05-21 10:55 ` Ilpo Järvinen
2025-05-21 13:40 ` Derek J. Clark
2025-05-17 16:16 ` [PATCH v10 0/6] platform/x86: Add Lenovo WMI Gaming Series Drivers Armin Wolf
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=20250515182224.8277-1-derekjohn.clark@gmail.com \
--to=derekjohn.clark@gmail.com \
--cc=W_Armin@gmx.de \
--cc=codyit@gmail.com \
--cc=corbet@lwn.net \
--cc=hdegoede@redhat.com \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=johnfanv2@gmail.com \
--cc=kuurtb@gmail.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=luke@ljones.dev \
--cc=mpearson-lenovo@squebb.ca \
--cc=nijs1@lenovo.com \
--cc=pgriffais@valvesoftware.com \
--cc=platform-driver-x86@vger.kernel.org \
--cc=shaohz1@lenovo.com \
--cc=superm1@kernel.org \
--cc=zhangzx36@lenovo.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).