On Wed, 21 May 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> > --- > v11: > - Fix formmating issues. Thanks for the update, I've applied this now into the review-ilpo-next branch. BUT, this is very late in the cycle now and if there's a build issue (or LKP doesn't build test it in reasonable time), I'll have to drop this series and postpone it into the next cycle as I don't want to delay the main PR to Linus too long. But lets hope for the best, I think some depends on issues were fixed earlier (IIRC), so hopefully it works good enough now. :-) -- i. > 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 | 407 +++++++++++ > 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, 2114 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 > >