Re: [PATCH v6 04/13] platform/x86: lenovo-wmi-helpers: Move gamezone enums to wmi-helpers
From: Rong Zhang
Date: Wed Apr 01 2026 - 14:39:52 EST
Hi Derek,
On Tue, 2026-03-31 at 18:11 +0000, Derek J. Clark wrote:
> In the next patch, the thermal mode enum will be accessed across three
> separate drivers (wmi-capdata, wmi-gamezone 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 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 to permit removing the gamezone
> header entirely.
>
> Signed-off-by: Derek J. Clark <derekjohn.clark@xxxxxxxxx>
Reviewed-by: Rong Zhang <i@xxxxxxxx>
Tested-by: Rong Zhang <i@xxxxxxxx>
Thanks,
Rong
> ---
> 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 381836d29a96..602a48de1b4e 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"
> #include "wmi-other.h"
>
> 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 20fd21749803..3364d8e152ca 100644
> --- a/drivers/platform/x86/lenovo/wmi-helpers.h
> +++ b/drivers/platform/x86/lenovo/wmi-helpers.h
> @@ -14,6 +14,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 c3614bc4f90c..b24bf98c19ad 100644
> --- a/drivers/platform/x86/lenovo/wmi-other.c
> +++ b/drivers/platform/x86/lenovo/wmi-other.c
> @@ -47,7 +47,6 @@
>
> #include "wmi-capdata.h"
> #include "wmi-events.h"
> -#include "wmi-gamezone.h"
> #include "wmi-helpers.h"
> #include "wmi-other.h"
> #include "../firmware_attributes_class.h"