Re: [PATCH v7 08/16] platform/x86: lenovo-wmi-helpers: Move gamezone enums to wmi-helpers
From: Derek John Clark
Date: Mon Apr 06 2026 - 14:42:57 EST
On Sat, Apr 4, 2026 at 5:04 PM Mark Pearson <mpearson-lenovo@xxxxxxxxx> wrote:
>
> Hi Derek,
>
> On Wed, Apr 1, 2026, at 11:24 PM, Derek J. Clark wrote:
> > In a later patch in the series the thermal mode enum will be accessed
> > across three separate drivers (wmi-capdata, wmi-gamezonem and wmi-other).
> > An additional patch in the series will also add a function protoype that
> > needs to reference this enum in wmi-helpers.h To avoid having all these
> > drivers begin to import each others headers, and to avoid declaring an
> > opaque enum to hande the second case, move the thermal mode enum to
> > helpers where it can be safely accessed by everything that needs it from
> > a single import.
> >
> > While at it, since the gamezone_events_type enum is the only remaining
> > item in the header, move that as well and remove the gamezone header
> > entirely.
> >
> > Reviewed-by: Rong Zhang <i@xxxxxxxx>
> > Tested-by: Rong Zhang <i@xxxxxxxx>
> > Signed-off-by: Derek J. Clark <derekjohn.clark@xxxxxxxxx>
> > ---
> > drivers/platform/x86/lenovo/wmi-events.c | 2 +-
> > drivers/platform/x86/lenovo/wmi-gamezone.c | 1 -
> > drivers/platform/x86/lenovo/wmi-gamezone.h | 21 ---------------------
> > drivers/platform/x86/lenovo/wmi-helpers.h | 13 +++++++++++++
> > drivers/platform/x86/lenovo/wmi-other.c | 3 +--
> > 5 files changed, 15 insertions(+), 25 deletions(-)
> > delete mode 100644 drivers/platform/x86/lenovo/wmi-gamezone.h
> >
> > diff --git a/drivers/platform/x86/lenovo/wmi-events.c
> > b/drivers/platform/x86/lenovo/wmi-events.c
> > index 0994cd7dd504..9e9f2e82e04d 100644
> > --- a/drivers/platform/x86/lenovo/wmi-events.c
> > +++ b/drivers/platform/x86/lenovo/wmi-events.c
> > @@ -17,7 +17,7 @@
> > #include <linux/wmi.h>
> >
> > #include "wmi-events.h"
> > -#include "wmi-gamezone.h"
> > +#include "wmi-helpers.h"
> >
> > #define THERMAL_MODE_EVENT_GUID "D320289E-8FEA-41E0-86F9-911D83151B5F"
> >
> > diff --git a/drivers/platform/x86/lenovo/wmi-gamezone.c
> > b/drivers/platform/x86/lenovo/wmi-gamezone.c
> > index a91089694727..5a8f4aee02cf 100644
> > --- a/drivers/platform/x86/lenovo/wmi-gamezone.c
> > +++ b/drivers/platform/x86/lenovo/wmi-gamezone.c
> > @@ -21,7 +21,6 @@
> > #include <linux/wmi.h>
> >
> > #include "wmi-events.h"
> > -#include "wmi-gamezone.h"
> > #include "wmi-helpers.h"
> >
> > #define LENOVO_GAMEZONE_GUID "887B54E3-DDDC-4B2C-8B88-68A26A8835D0"
> > diff --git a/drivers/platform/x86/lenovo/wmi-gamezone.h
> > b/drivers/platform/x86/lenovo/wmi-gamezone.h
> > deleted file mode 100644
> > index ddb919cf6c36..000000000000
> > --- a/drivers/platform/x86/lenovo/wmi-gamezone.h
> > +++ /dev/null
> > @@ -1,21 +0,0 @@
> > -/* SPDX-License-Identifier: GPL-2.0-or-later */
> > -
> > -/* Copyright (C) 2025 Derek J. Clark <derekjohn.clark@xxxxxxxxx> */
> > -
> > -#ifndef _LENOVO_WMI_GAMEZONE_H_
> > -#define _LENOVO_WMI_GAMEZONE_H_
> > -
> > -enum gamezone_events_type {
> > - LWMI_GZ_GET_THERMAL_MODE = 1,
> > -};
> > -
> > -enum thermal_mode {
> > - LWMI_GZ_THERMAL_MODE_NONE = 0x00,
> > - LWMI_GZ_THERMAL_MODE_QUIET = 0x01,
> > - LWMI_GZ_THERMAL_MODE_BALANCED = 0x02,
> > - LWMI_GZ_THERMAL_MODE_PERFORMANCE = 0x03,
> > - LWMI_GZ_THERMAL_MODE_EXTREME = 0xE0, /* Ver 6+ */
> > - LWMI_GZ_THERMAL_MODE_CUSTOM = 0xFF,
> > -};
> > -
> > -#endif /* !_LENOVO_WMI_GAMEZONE_H_ */
> > diff --git a/drivers/platform/x86/lenovo/wmi-helpers.h
> > b/drivers/platform/x86/lenovo/wmi-helpers.h
> > index 651a039228ed..ed7db3ebba6c 100644
> > --- a/drivers/platform/x86/lenovo/wmi-helpers.h
> > +++ b/drivers/platform/x86/lenovo/wmi-helpers.h
> > @@ -16,6 +16,19 @@ struct wmi_method_args_32 {
> > u32 arg1;
> > };
> >
> > +enum lwmi_event_type {
> > + LWMI_GZ_GET_THERMAL_MODE = 0x01,
> > +};
> > +
> > +enum thermal_mode {
> > + LWMI_GZ_THERMAL_MODE_NONE = 0x00,
> > + LWMI_GZ_THERMAL_MODE_QUIET = 0x01,
> > + LWMI_GZ_THERMAL_MODE_BALANCED = 0x02,
> > + LWMI_GZ_THERMAL_MODE_PERFORMANCE = 0x03,
> > + LWMI_GZ_THERMAL_MODE_EXTREME = 0xE0, /* Ver 6+ */
> > + LWMI_GZ_THERMAL_MODE_CUSTOM = 0xFF,
> > +};
> > +
> > int lwmi_dev_evaluate_int(struct wmi_device *wdev, u8 instance, u32 method_id,
> > unsigned char *buf, size_t size, u32 *retval);
> >
> > diff --git a/drivers/platform/x86/lenovo/wmi-other.c
> > b/drivers/platform/x86/lenovo/wmi-other.c
> > index 1d1bab98298b..e475d1d8a5a7 100644
> > --- a/drivers/platform/x86/lenovo/wmi-other.c
> > +++ b/drivers/platform/x86/lenovo/wmi-other.c
> > @@ -46,7 +46,6 @@
> >
> > #include "wmi-capdata.h"
> > #include "wmi-events.h"
> > -#include "wmi-gamezone.h"
> > #include "wmi-helpers.h"
> > #include "../firmware_attributes_class.h"
> >
> > @@ -787,7 +786,7 @@ static bool lwmi_attr_01_is_supported(struct
> > tunable_attr_01 *tunable_attr)
> > {
> > u8 modes[2] = { LWMI_GZ_THERMAL_MODE_CUSTOM,
> > LWMI_GZ_THERMAL_MODE_NONE };
> > struct lwmi_om_priv *priv = dev_get_drvdata(tunable_attr->dev);
> > - struct wmi_method_args_32 args = { 0x0, 0x0 };
> > + struct wmi_method_args_32 args = {};
>
> Was this change intentional? It's seems unrelated to the commit description.
>
It should have been declared as = {}; from the initial patch. Seems I
missed one in the rebase and it got added later.
Thanks,
Derek
> > bool cd_mode_found = false;
> > bool cv_mode_found = false;
> > struct capdata01 capdata;
> > --
> > 2.53.0