Re: [PATCH v11 07/15] platform/x86: lenovo-wmi-helpers: Move gamezone enums to wmi-helpers
From: Ilpo Järvinen
Date: Fri May 08 2026 - 10:21:43 EST
On Thu, 7 May 2026, Derek J. Clark wrote:
It seems there are a few nits still to address (they were too many so I'd
want to try to do inline editing).
> 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
prototype
> 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.
>
> Fixes: 22024ac5366f ("platform/x86: Add Lenovo Gamezone WMI Driver")
This change doesn't seem to exactly fix anything so it shouldn't have
Fixes tag.
We want to only have Cc: stable in the prerequisites for some other fix
that comes after.
My plan is to take patches 1-9 through fixes branch and then merge fixes
to for-next and take the rest through for-next.
--
i.
> Cc: stable@xxxxxxxxxxxxxxx
> Reviewed-by: Mark Pearson <mpearson-lenovo@xxxxxxxxx>
> Reviewed-by: Rong Zhang <i@xxxxxxxx>
> Tested-by: Rong Zhang <i@xxxxxxxx>
> Signed-off-by: Derek J. Clark <derekjohn.clark@xxxxxxxxx>
> ---
> v11:
> - Move to earlier in the series as later patches depend on it.
> ---
> drivers/platform/x86/lenovo/wmi-events.c | 2 +-
> drivers/platform/x86/lenovo/wmi-gamezone.c | 1 -
> drivers/platform/x86/lenovo/wmi-gamezone.h | 20 --------------------
> drivers/platform/x86/lenovo/wmi-helpers.h | 13 +++++++++++++
> drivers/platform/x86/lenovo/wmi-other.c | 1 -
> 5 files changed, 14 insertions(+), 23 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 6b163a5eeb95..000000000000
> --- a/drivers/platform/x86/lenovo/wmi-gamezone.h
> +++ /dev/null
> @@ -1,20 +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_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 f63e568a4e12..b4ed7af50a24 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"
>
>