Re: [PATCH 1/3] HID: steelseries: add SteelSeries Arctis 9 support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





Am 04.01.25 um 13:45 schrieb Christophe JAILLET:
Le 01/01/2025 à 16:11, Christian Mayer a écrit :
Add support for the SteelSeries Arctis 9 headset. This driver
will export the battery information like it already does for
the Arcits 1 headset.

Signed-off-by: Christian Mayer <git@xxxxxxxxxxxx>

...
Thanks for your feedback Christophe.
I will repost my patches with the fixes for your comments together with the fixes for Bastiens comment.

-static int steelseries_headset_arctis_1_fetch_battery(struct hid_device *hdev)
+static int steelseries_headset_request_battery(struct hid_device *hdev,
+    const char *request, size_t len)
  {
      u8 *write_buf;
      int ret;
      /* Request battery information */
-    write_buf = kmemdup(arctis_1_battery_request, sizeof(arctis_1_battery_request), GFP_KERNEL);
+    write_buf = kmemdup(request, len, GFP_KERNEL);
      if (!write_buf)
          return -ENOMEM;
-    ret = hid_hw_raw_request(hdev, arctis_1_battery_request[0],
-                 write_buf, sizeof(arctis_1_battery_request),
+    hid_dbg(hdev, "Sending battery request report");
+    ret = hid_hw_raw_request(hdev, request[0],
+                 write_buf, len,

This could be on the same line.

                   HID_OUTPUT_REPORT, HID_REQ_SET_REPORT);
-    if (ret < (int)sizeof(arctis_1_battery_request)) {
+    if (ret < (int)len) {
          hid_err(hdev, "hid_hw_raw_request() failed with %d\n", ret);
          ret = -ENODATA;
      }

...

+static uint8_t steelseries_headset_map_capacity(uint8_t capacity, uint8_t min_in, uint8_t max_in)
+{
+    if (capacity > max_in)

 >= ?

+        return 100;
+    if (capacity < min_in)

<= ?

+        return 0;
+    return (capacity - min_in) * 100 / (max_in - min_in);
+}

...

CJ





[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux