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

Derek J. Clark posted 6 patches 6 months, 3 weeks ago
There is a newer version of this series
.../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
[PATCH v11 0/6] platform/x86: Add Lenovo WMI Gaming Series Drivers
Posted by Derek J. Clark 6 months, 3 weeks ago
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>
---
v11:
  - Fix formmating issues.
v10:
https://lore.kernel.org/platform-driver-x86/20250515182224.8277-1-derekjohn.clark@gmail.com/
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   | 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

-- 
2.49.0
Re: [PATCH v11 0/6] platform/x86: Add Lenovo WMI Gaming Series Drivers
Posted by Ilpo Järvinen 6 months, 3 weeks ago
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@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>
> ---
> 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@gmail.com/
> 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   | 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
> 
>
Re: [PATCH v11 0/6] platform/x86: Add Lenovo WMI Gaming Series Drivers
Posted by Ilpo Järvinen 6 months, 3 weeks ago
On Mon, 26 May 2025, Ilpo Järvinen wrote:

> 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@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>
> > ---
> > 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. :-)

Hmpf, these give me a few new warnings related to this series:

make W=1 drivers/platform/x86/
make C=2 drivers/platform/x86/

...I really don't know why sparse complains about the lock context 
imbalance though, those functions use guard().

There's also a copy-paste error:

 * lwmi_gz_profile_get_get() - Get the current platform profile.

..._get_get -> ..._set
Get -> Set



-- 
 i.
Re: [PATCH v11 0/6] platform/x86: Add Lenovo WMI Gaming Series Drivers
Posted by Derek John Clark 6 months, 2 weeks ago
On Sun, May 25, 2025 at 2:42 PM Ilpo Järvinen
<ilpo.jarvinen@linux.intel.com> wrote:
>
> On Mon, 26 May 2025, Ilpo Järvinen wrote:
>
> > 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@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>
> > > ---
> > > 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. :-)
>
> Hmpf, these give me a few new warnings related to this series:
>
> make W=1 drivers/platform/x86/
> make C=2 drivers/platform/x86/

When I use scoped_guard the warnings go away. It seems to be a
limitation of sparse in that its not correctly identifying the guard
will be unlocked on the return perhaps? In any case, if you're okay
with a scoped guard here (matches both other invocations) I'll send it
up.

I also took care of the warnings for W=1.

> ...I really don't know why sparse complains about the lock context
> imbalance though, those functions use guard().
>
> There's also a copy-paste error:
>
>  * lwmi_gz_profile_get_get() - Get the current platform profile.
>
> ..._get_get -> ..._set
> Get -> Set
>
>
>
> --
>  i.
Re: [PATCH v11 0/6] platform/x86: Add Lenovo WMI Gaming Series Drivers
Posted by Ilpo Järvinen 6 months, 2 weeks ago
+ Cc sparse people.

On Fri, 30 May 2025, Derek John Clark wrote:

> On Sun, May 25, 2025 at 2:42 PM Ilpo Järvinen
> <ilpo.jarvinen@linux.intel.com> wrote:
> >
> > On Mon, 26 May 2025, Ilpo Järvinen wrote:
> >
> > > 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@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>
> > > > ---
> > > > 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. :-)
> >
> > Hmpf, these give me a few new warnings related to this series:
> >
> > make W=1 drivers/platform/x86/
> > make C=2 drivers/platform/x86/
> 
> When I use scoped_guard the warnings go away.

Okay, not that it helps much because the implementation of guard() and 
scoped_guard() is dramatically different.

> It seems to be a
> limitation of sparse in that its not correctly identifying the guard
> will be unlocked on the return perhaps?

It's odd because we'd have those warnings all over the place if it would 
be general thing for sparse to not understand how guard() works. Maybe 
sparse people have some idea what's so special here?

To give context to sparse people, this patch triggers two false 
positives in sparse:

https://lore.kernel.org/platform-driver-x86/20250522015350.471070-6-derekjohn.clark@gmail.com/

$ make C=2 drivers/platform/x86/lenovo-wmi-gamezone.o
  CHECK   scripts/mod/empty.c
  CALL    scripts/checksyscalls.sh
  DESCEND objtool
  INSTALL libsubcmd_headers
  CHECK   drivers/platform/x86/lenovo-wmi-gamezone.c
drivers/platform/x86/lenovo-wmi-gamezone.c:155:12: warning: context 
imbalance in 'lwmi_gz_profile_get' - different lock contexts for basic 
block
drivers/platform/x86/lenovo-wmi-gamezone.c:206:12: warning: context 
imbalance in 'lwmi_gz_profile_set' - different lock contexts for basic 
block

https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/tree/drivers/platform/x86/lenovo-wmi-gamezone.c?h=review-ilpo-next#n190

(That code link is just for convinience, it's not a perma one, I'll be 
overwriting that branch eventually once the merge window is over, if not 
sooner.)

> In any case, if you're okay
> with a scoped guard here (matches both other invocations) I'll send it
> up.

I'd prefer to keep using guard() for now as this looks clearly a false 
positive from sparse, not a problem in your code.

> I also took care of the warnings for W=1.

Thanks.

> > ...I really don't know why sparse complains about the lock context
> > imbalance though, those functions use guard().

-- 
 i.
Re: [PATCH v11 0/6] platform/x86: Add Lenovo WMI Gaming Series Drivers
Posted by Derek J. Clark 6 months, 3 weeks ago

On May 25, 2025 2:41:51 PM PDT, "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com> wrote:
>On Mon, 26 May 2025, Ilpo Järvinen wrote:
>
>> 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@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>
>> > ---
>> > 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. :-)

>Hmpf, these give me a few new warnings related to this series:
>
>make W=1 drivers/platform/x86/
>make C=2 drivers/platform/x86/
>
>...I really don't know why sparse complains about the lock context 
>imbalance though, those functions use guard().

Hmm, I'll take a look at it.

Is there a comprehensive list of all tests that need to be run? I'd like to improve my process to avoid these in the future.

>There's also a copy-paste error:
>
> * lwmi_gz_profile_get_get() - Get the current platform profile.
>
>..._get_get -> ..._set
>Get -> Set


Do you want me to submit v12 whenever it's ready,  or wait for the merge window to open? Trying to avoid too much noise on your end.

Thanks,
- Derek
Re: [PATCH v11 0/6] platform/x86: Add Lenovo WMI Gaming Series Drivers
Posted by Ilpo Järvinen 6 months, 3 weeks ago
On Sun, 25 May 2025, Derek J. Clark wrote:
> On May 25, 2025 2:41:51 PM PDT, "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com> wrote:
> >On Mon, 26 May 2025, Ilpo Järvinen wrote:
> >
> >> 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@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>
> >> > ---
> >> > 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. :-)
> 
> >Hmpf, these give me a few new warnings related to this series:
> >
> >make W=1 drivers/platform/x86/
> >make C=2 drivers/platform/x86/
> >
> >...I really don't know why sparse complains about the lock context 
> >imbalance though, those functions use guard().
> 
> Hmm, I'll take a look at it.

Thanks.

> Is there a comprehensive list of all tests that need to be run? I'd like 
> to improve my process to avoid these in the future. 

There's some list in Documentation/process/submit-checklist.rst
but use reason with some of the items whether they're relevant, I think 
very few patches would meet _all_ of those in the most literal 
interpretation :-).

> >There's also a copy-paste error:
> >
> > * lwmi_gz_profile_get_get() - Get the current platform profile.
> >
> >..._get_get -> ..._set
> >Get -> Set
> 
> 
> Do you want me to submit v12 whenever it's ready,  or wait for the merge 
> window to open? Trying to avoid too much noise on your end.

Just send v12 when it's ready. For pdx86, there's no need to avoid sending 
during merge window (just don't assume anything gets applied during merge 
window :-)).

-- 
 i.