]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
HID: steelseries: export model and manufacturer
authorChristian Mayer <git@mayer-bgk.de>
Sun, 12 Jan 2025 11:44:05 +0000 (11:44 +0000)
committerJiri Kosina <jkosina@suse.com>
Thu, 16 Jan 2025 10:03:57 +0000 (11:03 +0100)
Export model and manufacturer with the power supply properties.
This helps identifing the device in the battery overview.
In the case of the Arctis 9 headset, the manufacturer is prefixed twice in
the device name.

Signed-off-by: Christian Mayer <git@mayer-bgk.de>
Reviewed-by: Bastien Nocera <hadess@hadess.net>
Tested-by: Bastien Nocera <hadess@hadess.net>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
drivers/hid/hid-steelseries.c

index 2ee1a6f018527aab974375d0d52dd4819e8348a7..1a935802880aaf376cf8e8520e43f79d54273414 100644 (file)
@@ -439,6 +439,9 @@ static void steelseries_headset_battery_timer_tick(struct work_struct *work)
        steelseries_headset_fetch_battery(hdev);
 }
 
+#define STEELSERIES_PREFIX "SteelSeries "
+#define STEELSERIES_PREFIX_LEN strlen(STEELSERIES_PREFIX)
+
 static int steelseries_headset_battery_get_property(struct power_supply *psy,
                                enum power_supply_property psp,
                                union power_supply_propval *val)
@@ -447,6 +450,14 @@ static int steelseries_headset_battery_get_property(struct power_supply *psy,
        int ret = 0;
 
        switch (psp) {
+       case POWER_SUPPLY_PROP_MODEL_NAME:
+               val->strval = sd->hdev->name;
+               while (!strncmp(val->strval, STEELSERIES_PREFIX, STEELSERIES_PREFIX_LEN))
+                       val->strval += STEELSERIES_PREFIX_LEN;
+               break;
+       case POWER_SUPPLY_PROP_MANUFACTURER:
+               val->strval = "SteelSeries";
+               break;
        case POWER_SUPPLY_PROP_PRESENT:
                val->intval = 1;
                break;
@@ -490,6 +501,8 @@ steelseries_headset_set_wireless_status(struct hid_device *hdev,
 }
 
 static enum power_supply_property steelseries_headset_battery_props[] = {
+       POWER_SUPPLY_PROP_MODEL_NAME,
+       POWER_SUPPLY_PROP_MANUFACTURER,
        POWER_SUPPLY_PROP_PRESENT,
        POWER_SUPPLY_PROP_STATUS,
        POWER_SUPPLY_PROP_SCOPE,