Re: [PATCH v12 0/6] platform/x86: Add Lenovo WMI Gaming Series Drivers

From: Derek J. Clark
Date: Fri Jun 13 2025 - 10:28:01 EST




On June 13, 2025 2:07:14 AM PDT, "Ilpo Järvinen" <ilpo.jarvinen@xxxxxxxxxxxxxxx> wrote:
>On Mon, 9 Jun 2025, Derek J. Clark wrote:
>
>> 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@xxxxxxxxxx/#t
>>
>> The drivers have been tested by me on the Lenovo Legion Go and Legion Go
>> S.
>>
>> Suggested-by: Mario Limonciello <superm1@xxxxxxxxxx>
>> Reviewed-by: Armin Wolf <W_Armin@xxxxxx>
>> Signed-off-by: Derek J. Clark <derekjohn.clark@xxxxxxxxx>
>> ---
>> v12:
>> - Fix warnings from make W=1
>> v11:
>> v10:
>> https://lore.kernel.org/platform-driver-x86/20250515182224.8277-1-derekjohn.clark@xxxxxxxxx/
>> v9:
>> https://lore.kernel.org/platform-driver-x86/20250508235217.12256-1-derekjohn.clark@xxxxxxxxx/
>> v8:
>> https://lore.kernel.org/platform-driver-x86/20250505010659.1450984-1-derekjohn.clark@xxxxxxxxx/
>> v7:
>> https://lore.kernel.org/platform-driver-x86/20250503000142.1190354-1-derekjohn.clark@xxxxxxxxx/
>> v6:
>> https://lore.kernel.org/platform-driver-x86/20250428012029.970017-1-derekjohn.clark@xxxxxxxxx/
>> v5:
>> https://lore.kernel.org/platform-driver-x86/20250408012815.1032357-1-derekjohn.clark@xxxxxxxxx/
>> v4:
>> https://lore.kernel.org/platform-driver-x86/20250317144326.5850-1-derekjohn.clark@xxxxxxxxx/
>> v3:
>> https://lore.kernel.org/platform-driver-x86/20250225220037.16073-1-derekjohn.clark@xxxxxxxxx/
>> v2:
>> https://lore.kernel.org/platform-driver-x86/20250102004854.14874-1-derekjohn.clark@xxxxxxxxx/
>> v1:
>> https://lore.kernel.org/platform-driver-x86/20241217230645.15027-1-derekjohn.clark@xxxxxxxxx/
>>
>> 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 | 302 ++++++++
>> 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 | 409 +++++++++++
>> drivers/platform/x86/lenovo-wmi-gamezone.h | 20 +
>> drivers/platform/x86/lenovo-wmi-helpers.c | 74 ++
>> drivers/platform/x86/lenovo-wmi-helpers.h | 20 +
>> drivers/platform/x86/lenovo-wmi-other.c | 665 ++++++++++++++++++
>> drivers/platform/x86/lenovo-wmi-other.h | 16 +
>> 15 files changed, 2116 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
>
>Hi Derek,
>
>Could you please rebase this on top of for-next placing the files under
>lenovo/ folder which we just created. I could have easily changed the
>placement of the files themselves, but making the Kconfig & Makefile
>changes into the new files while applying would have been more
>complicated. It is better you do it so I won't end up messing up anything.
>
>There's the lenovo-target in lenovo/Makefile which will auto add the
>'lenovo-' prefix to the files so you can basically rename the files like
>this:
>
>drivers/platform/x86/lenovo-wmi-other.c ->
>drivers/platform/x86/lenovo/wmi-other.c
>
>...and add them using that lenovo-target.
>

Sure. I'm on travel so it may be a few days. I'll attempt to get it done today if I can though.

Should I change the docs at all for this?

Cheers,
- Derek