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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

-- 
 i.





[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux