Re: [PATCH v7 08/16] platform/x86: lenovo-wmi-helpers: Move gamezone enums to wmi-helpers
From: Mark Pearson
Date: Sat Apr 04 2026 - 20:04:26 EST
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.
> bool cd_mode_found = false;
> bool cv_mode_found = false;
> struct capdata01 capdata;
> --
> 2.53.0