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