Message ID | 20250112114438.2196-5-git@mayer-bgk.de (mailing list archive) |
---|---|
State | New |
Delegated to: | Jiri Kosina |
Headers | show |
Series | HID: steelseries: add SteelSeries Arctis 9 support | expand |
On Sun, 2025-01-12 at 11:44 +0000, Christian Mayer wrote: > 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> > --- > drivers/hid/hid-steelseries.c | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/drivers/hid/hid-steelseries.c b/drivers/hid/hid- > steelseries.c > index 2ee1a6f01852..1a935802880a 100644 > --- a/drivers/hid/hid-steelseries.c > +++ b/drivers/hid/hid-steelseries.c > @@ -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,
diff --git a/drivers/hid/hid-steelseries.c b/drivers/hid/hid-steelseries.c index 2ee1a6f01852..1a935802880a 100644 --- a/drivers/hid/hid-steelseries.c +++ b/drivers/hid/hid-steelseries.c @@ -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,
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> --- drivers/hid/hid-steelseries.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)