[PATCH 08/10] HID: hid-lenovo-go-s: Reorganize and rename hid_gos_cfg

From: Derek J. Clark

Date: Mon Sep 14 2026 - 18:56:52 EST


Renames hid_gos_cfg struct to gos_cfg_drvdata in preparation for later
fixes.

This is a prerequisite for later fixes. No functional change intended.

Fixes: a23f3497bf208c59ad ("HID: hid-lenovo-go-s: Add Lenovo Legion Go S Series HID Driver")
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Derek J. Clark <derekjohn.clark@xxxxxxxxx>
---
drivers/hid/hid-lenovo-go-s.c | 39 ++++++++++++++++++++---------------
1 file changed, 22 insertions(+), 17 deletions(-)

diff --git a/drivers/hid/hid-lenovo-go-s.c b/drivers/hid/hid-lenovo-go-s.c
index f1a0bcfcdb71..e5c4104a3adb 100644
--- a/drivers/hid/hid-lenovo-go-s.c
+++ b/drivers/hid/hid-lenovo-go-s.c
@@ -32,36 +32,41 @@
#define GO_S_CFG_INTF_IN 0x84
#define GO_S_PACKET_SIZE 64

-static struct hid_gos_cfg {
- struct delayed_work gos_cfg_setup;
+static struct gos_cfg_drvdata {
+ /* MCU General Variables */
struct completion send_cmd_complete;
- struct led_classdev *led_cdev;
+ struct delayed_work gos_cfg_setup;
struct hid_device *hdev;
bool orphan_ack_pending;
struct mutex cfg_mutex; /*ensure single synchronous output report*/
- bool gp_registered;
- bool rgb_registered;
int cmd_status;
+
+ /* Gamepad Variables */
u8 gp_auto_sleep_time;
- u8 gp_dpad_mode;
- u8 gp_mode;
- u8 gp_poll_rate;
- u8 imu_bypass_en;
u8 imu_manufacturer;
+ bool gp_registered;
+ u8 tp_windows_mode;
+ u8 tp_manufacturer;
+ u8 tp_linux_mode;
+ u8 imu_bypass_en;
u8 imu_sensor_en;
+ u8 gp_dpad_mode;
+ u8 gp_poll_rate;
u8 mcu_id[12];
u8 mouse_step;
+ u8 tp_version;
+ u8 gp_mode;
u8 os_mode;
- u8 rgb_effect;
- u8 rgb_en;
- u8 rgb_mode;
+ u8 tp_en;
+
+ /* RGB Variables */
+ struct led_classdev *led_cdev;
+ bool rgb_registered;
u8 rgb_profile;
+ u8 rgb_effect;
u8 rgb_speed;
- u8 tp_en;
- u8 tp_linux_mode;
- u8 tp_windows_mode;
- u8 tp_version;
- u8 tp_manufacturer;
+ u8 rgb_mode;
+ u8 rgb_en;
} drvdata;

struct gos_cfg_attr {
--
2.55.0