[PATCH 3/4] Documentation: ABI: Document SteelSeries headset sysfs attributes

Sriman Achanta posted 4 patches 1 month, 1 week ago
There is a newer version of this series
[PATCH 3/4] Documentation: ABI: Document SteelSeries headset sysfs attributes
Posted by Sriman Achanta 1 month, 1 week ago
Replace the SRW-S1 specific documentation with comprehensive
documentation for the hid-steelseries driver covering both the legacy
SRW-S1 wheel and the modern Arctis headset lineup.

New sysfs attributes documented:
- sidetone_level: Control microphone monitoring volume
- inactive_time: Auto-sleep timeout configuration
- chatmix_level: Game/Chat audio balance (read-only)
- mic_mute_led_brightness: Microphone mute LED brightness control
- mic_volume: Internal microphone gain control
- volume_limiter: EU hearing protection volume limiter
- bluetooth_on_power: Bluetooth auto-enable on power-on
- bluetooth_call_vol: Bluetooth call audio attenuation settings

The SRW-S1 LED documentation is preserved and moved into the new unified
documentation file.

Signed-off-by: Sriman Achanta <srimanachanta@gmail.com>
---
 .../ABI/testing/sysfs-driver-hid-srws1        |  21 ---
 .../ABI/testing/sysfs-driver-hid-steelseries  | 123 ++++++++++++++++++
 2 files changed, 123 insertions(+), 21 deletions(-)
 delete mode 100644 Documentation/ABI/testing/sysfs-driver-hid-srws1
 create mode 100644 Documentation/ABI/testing/sysfs-driver-hid-steelseries

diff --git a/Documentation/ABI/testing/sysfs-driver-hid-srws1 b/Documentation/ABI/testing/sysfs-driver-hid-srws1
deleted file mode 100644
index d0eba70c7d40..000000000000
--- a/Documentation/ABI/testing/sysfs-driver-hid-srws1
+++ /dev/null
@@ -1,21 +0,0 @@
-What:		/sys/class/leds/SRWS1::<serial>::RPM1
-What:		/sys/class/leds/SRWS1::<serial>::RPM2
-What:		/sys/class/leds/SRWS1::<serial>::RPM3
-What:		/sys/class/leds/SRWS1::<serial>::RPM4
-What:		/sys/class/leds/SRWS1::<serial>::RPM5
-What:		/sys/class/leds/SRWS1::<serial>::RPM6
-What:		/sys/class/leds/SRWS1::<serial>::RPM7
-What:		/sys/class/leds/SRWS1::<serial>::RPM8
-What:		/sys/class/leds/SRWS1::<serial>::RPM9
-What:		/sys/class/leds/SRWS1::<serial>::RPM10
-What:		/sys/class/leds/SRWS1::<serial>::RPM11
-What:		/sys/class/leds/SRWS1::<serial>::RPM12
-What:		/sys/class/leds/SRWS1::<serial>::RPM13
-What:		/sys/class/leds/SRWS1::<serial>::RPM14
-What:		/sys/class/leds/SRWS1::<serial>::RPM15
-What:		/sys/class/leds/SRWS1::<serial>::RPMALL
-Date:		Jan 2013
-KernelVersion:	3.9
-Contact:	Simon Wood <simon@mungewell.org>
-Description:	Provides a control for turning on/off the LEDs which form
-		an RPM meter on the front of the controller
diff --git a/Documentation/ABI/testing/sysfs-driver-hid-steelseries b/Documentation/ABI/testing/sysfs-driver-hid-steelseries
new file mode 100644
index 000000000000..3066dbb486d3
--- /dev/null
+++ b/Documentation/ABI/testing/sysfs-driver-hid-steelseries
@@ -0,0 +1,123 @@
+What:		/sys/class/leds/SRWS1::<serial>::RPM1
+What:		/sys/class/leds/SRWS1::<serial>::RPM2
+What:		/sys/class/leds/SRWS1::<serial>::RPM3
+What:		/sys/class/leds/SRWS1::<serial>::RPM4
+What:		/sys/class/leds/SRWS1::<serial>::RPM5
+What:		/sys/class/leds/SRWS1::<serial>::RPM6
+What:		/sys/class/leds/SRWS1::<serial>::RPM7
+What:		/sys/class/leds/SRWS1::<serial>::RPM8
+What:		/sys/class/leds/SRWS1::<serial>::RPM9
+What:		/sys/class/leds/SRWS1::<serial>::RPM10
+What:		/sys/class/leds/SRWS1::<serial>::RPM11
+What:		/sys/class/leds/SRWS1::<serial>::RPM12
+What:		/sys/class/leds/SRWS1::<serial>::RPM13
+What:		/sys/class/leds/SRWS1::<serial>::RPM14
+What:		/sys/class/leds/SRWS1::<serial>::RPM15
+What:		/sys/class/leds/SRWS1::<serial>::RPMALL
+Date:		Jan 2013
+KernelVersion:	3.9
+Contact:	Simon Wood <simon@mungewell.org>
+Description:	Provides a control for turning on/off the LEDs which form
+		an RPM meter on the front of the controller
+
+What:		/sys/class/hid/drivers/steelseries/<dev>/sidetone_level
+Date:		January 2025
+KernelVersion:	6.19
+Contact:	Sriman Achanta <srimanachanta@gmail.com>
+Description:
+		Controls the sidetone (microphone monitoring) volume level.
+		This determines how much of the microphone input is fed back into
+		the headset speakers.
+
+		Range: 0-128 (mapped internally to device-specific values).
+		Access: Write
+
+What:		/sys/class/hid/drivers/steelseries/<dev>/inactive_time
+Date:		January 2025
+KernelVersion:	6.19
+Contact:	Sriman Achanta <srimanachanta@gmail.com>
+Description:
+		Sets the time in minutes before the headset automatically enters
+		standby/sleep mode when no audio is playing.
+
+		Range: 0-90 (minutes).
+		       Some devices (e.g., Arctis 1/7X) map this to specific presets.
+		Access: Write
+
+What:		/sys/class/hid/drivers/steelseries/<dev>/chatmix_level
+Date:		January 2025
+KernelVersion:	6.19
+Contact:	Sriman Achanta <srimanachanta@gmail.com>
+Description:
+		Reports the current balance between Game and Chat audio channels
+		(ChatMix). This value changes when the physical ChatMix dial
+		on the headset is adjusted.
+
+		Range: 0-128
+		       0   = 100% Chat / 0% Game
+		       64  = 50% Chat / 50% Game (Balanced)
+		       128 = 0% Chat / 100% Game
+		Access: Read
+
+What:		/sys/class/hid/drivers/steelseries/<dev>/mic_mute_led_brightness
+Date:		January 2025
+KernelVersion:	6.19
+Contact:	Sriman Achanta <srimanachanta@gmail.com>
+Description:
+		Controls the brightness of the LED on the microphone boom that
+		indicates when the microphone is muted.
+
+		Range: 0-3 (off, low, medium, high) for most devices.
+		       0-10 for newer Nova series devices.
+		Access: Write
+
+What:		/sys/class/hid/drivers/steelseries/<dev>/mic_volume
+Date:		January 2025
+KernelVersion:	6.19
+Contact:	Sriman Achanta <srimanachanta@gmail.com>
+Description:
+		Controls the internal microphone gain/volume of the headset.
+		This is distinct from the OS input volume.
+
+		Range: 0-128 (mapped internally to device-specific values).
+		Access: Write
+
+What:		/sys/class/hid/drivers/steelseries/<dev>/volume_limiter
+Date:		January 2025
+KernelVersion:	6.19
+Contact:	Sriman Achanta <srimanachanta@gmail.com>
+Description:
+		Enables or disables the EU volume limiter (hearing protection).
+		When enabled, the maximum output volume is capped.
+
+		Values:
+		0 = Disabled
+		1 = Enabled
+		Access: Write
+
+What:		/sys/class/hid/drivers/steelseries/<dev>/bluetooth_on_power
+Date:		January 2025
+KernelVersion:	6.19
+Contact:	Sriman Achanta <srimanachanta@gmail.com>
+Description:
+		Configures whether the Bluetooth radio automatically turns on
+		when the headset is powered on.
+
+		Values:
+		0 = Bluetooth must be turned on manually
+		1 = Bluetooth turns on automatically with headset
+		Access: Write
+
+What:		/sys/class/hid/drivers/steelseries/<dev>/bluetooth_call_vol
+Date:		January 2025
+KernelVersion:	6.19
+Contact:	Sriman Achanta <srimanachanta@gmail.com>
+Description:
+		Configures how the 2.4GHz Game/Chat audio is attenuated when
+		a Bluetooth call is active.
+
+		Values:
+		0 = No attenuation (mix both equally)
+		1 = Attenuate Game audio by -12dB
+		2 = Mute Game audio completely
+		Access: Write
-- 
2.52.0
Re: [PATCH 3/4] Documentation: ABI: Document SteelSeries headset sysfs attributes
Posted by Bagas Sanjaya 1 month, 1 week ago
On Sun, Dec 28, 2025 at 07:20:24AM -0500, Sriman Achanta wrote:
> +What:		/sys/class/hid/drivers/steelseries/<dev>/chatmix_level
> +Date:		January 2025
> +KernelVersion:	6.19
> +Contact:	Sriman Achanta <srimanachanta@gmail.com>
> +Description:
> +		Reports the current balance between Game and Chat audio channels
> +		(ChatMix). This value changes when the physical ChatMix dial
> +		on the headset is adjusted.
> +
> +		Range: 0-128
> +		       0   = 100% Chat / 0% Game
> +		       64  = 50% Chat / 50% Game (Balanced)
> +		       128 = 0% Chat / 100% Game
> +		Access: Read

Sphinx reports htmldocs warnings:

Documentation/ABI/testing/sysfs-driver-hid-steelseries:47: WARNING: Definition list ends without a blank line; unexpected unindent. [docutils]
Documentation/ABI/testing/sysfs-driver-hid-steelseries:35: WARNING: Definition list ends without a blank line; unexpected unindent. [docutils]
Documentation/ABI/testing/sysfs-driver-hid-steelseries:62: WARNING: Definition list ends without a blank line; unexpected unindent. [docutils]

I have to fix up the bullet lists:

---- >8 ----
diff --git a/Documentation/ABI/testing/sysfs-driver-hid-steelseries b/Documentation/ABI/testing/sysfs-driver-hid-steelseries
index 3066dbb486d363..5f6c703d40892a 100644
--- a/Documentation/ABI/testing/sysfs-driver-hid-steelseries
+++ b/Documentation/ABI/testing/sysfs-driver-hid-steelseries
@@ -30,6 +30,7 @@ Description:
 		the headset speakers.
 
 		Range: 0-128 (mapped internally to device-specific values).
+
 		Access: Write
 
 What:		/sys/class/hid/drivers/steelseries/<dev>/inactive_time
@@ -42,6 +43,7 @@ Description:
 
 		Range: 0-90 (minutes).
 		       Some devices (e.g., Arctis 1/7X) map this to specific presets.
+
 		Access: Write
 
 What:		/sys/class/hid/drivers/steelseries/<dev>/chatmix_level
@@ -53,10 +55,12 @@ Description:
 		(ChatMix). This value changes when the physical ChatMix dial
 		on the headset is adjusted.
 
-		Range: 0-128
-		       0   = 100% Chat / 0% Game
-		       64  = 50% Chat / 50% Game (Balanced)
-		       128 = 0% Chat / 100% Game
+		Range: 0-128, where:
+
+		- 0   = 100% Chat / 0% Game
+		- 64  = 50% Chat / 50% Game (Balanced)
+		- 128 = 0% Chat / 100% Game
+
 		Access: Read
 
 What:		/sys/class/hid/drivers/steelseries/<dev>/mic_mute_led_brightness
@@ -67,8 +71,11 @@ Description:
 		Controls the brightness of the LED on the microphone boom that
 		indicates when the microphone is muted.
 
-		Range: 0-3 (off, low, medium, high) for most devices.
-		       0-10 for newer Nova series devices.
+		Range:
+
+		- 0-3 (off, low, medium, high) for most devices.
+		- 0-10 for newer Nova series devices.
+
 		Access: Write
 
 What:		/sys/class/hid/drivers/steelseries/<dev>/mic_volume
@@ -80,6 +87,7 @@ Description:
 		This is distinct from the OS input volume.
 
 		Range: 0-128 (mapped internally to device-specific values).
+
 		Access: Write
 
 What:		/sys/class/hid/drivers/steelseries/<dev>/volume_limiter
@@ -91,8 +99,10 @@ Description:
 		When enabled, the maximum output volume is capped.
 
 		Values:
-		0 = Disabled
-		1 = Enabled
+
+		- 0 = Disabled
+		- 1 = Enabled
+
 		Access: Write
 
 What:		/sys/class/hid/drivers/steelseries/<dev>/bluetooth_on_power
@@ -104,8 +114,10 @@ Description:
 		when the headset is powered on.
 
 		Values:
-		0 = Bluetooth must be turned on manually
-		1 = Bluetooth turns on automatically with headset
+
+		- 0 = Bluetooth must be turned on manually
+		- 1 = Bluetooth turns on automatically with headset
+
 		Access: Write
 
 What:		/sys/class/hid/drivers/steelseries/<dev>/bluetooth_call_vol
@@ -117,7 +129,9 @@ Description:
 		a Bluetooth call is active.
 
 		Values:
-		0 = No attenuation (mix both equally)
-		1 = Attenuate Game audio by -12dB
-		2 = Mute Game audio completely
+
+		- 0 = No attenuation (mix both equally)
+		- 1 = Attenuate Game audio by -12dB
+		- 2 = Mute Game audio completely
+
 		Access: Write

Thanks.

-- 
An old man doll... just what I always wanted! - Clara
Re: [PATCH 3/4] Documentation: ABI: Document SteelSeries headset sysfs attributes
Posted by Jiri Kosina 1 month ago
On Mon, 29 Dec 2025, Bagas Sanjaya wrote:

> On Sun, Dec 28, 2025 at 07:20:24AM -0500, Sriman Achanta wrote:
> > +What:		/sys/class/hid/drivers/steelseries/<dev>/chatmix_level
> > +Date:		January 2025
> > +KernelVersion:	6.19
> > +Contact:	Sriman Achanta <srimanachanta@gmail.com>
> > +Description:
> > +		Reports the current balance between Game and Chat audio channels
> > +		(ChatMix). This value changes when the physical ChatMix dial
> > +		on the headset is adjusted.
> > +
> > +		Range: 0-128
> > +		       0   = 100% Chat / 0% Game
> > +		       64  = 50% Chat / 50% Game (Balanced)
> > +		       128 = 0% Chat / 100% Game
> > +		Access: Read
> 
> Sphinx reports htmldocs warnings:
> 
> Documentation/ABI/testing/sysfs-driver-hid-steelseries:47: WARNING: Definition list ends without a blank line; unexpected unindent. [docutils]
> Documentation/ABI/testing/sysfs-driver-hid-steelseries:35: WARNING: Definition list ends without a blank line; unexpected unindent. [docutils]
> Documentation/ABI/testing/sysfs-driver-hid-steelseries:62: WARNING: Definition list ends without a blank line; unexpected unindent. [docutils]
> 
> I have to fix up the bullet lists:

Sriman, could you please resubmit the series with this fixed?

Thanks,

-- 
Jiri Kosina
SUSE Labs
Re: [PATCH 3/4] Documentation: ABI: Document SteelSeries headset sysfs attributes
Posted by kernel test robot 1 month, 1 week ago
Hi Sriman,

kernel test robot noticed the following build warnings:

[auto build test WARNING on hid/for-next]
[also build test WARNING on linus/master v6.19-rc3 next-20251219]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Sriman-Achanta/HID-hid-ids-Add-SteelSeries-Arctis-headset-device-IDs/20251228-202426
base:   https://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git for-next
patch link:    https://lore.kernel.org/r/20251228122025.154682-4-srimanachanta%40gmail.com
patch subject: [PATCH 3/4] Documentation: ABI: Document SteelSeries headset sysfs attributes
reproduce: (https://download.01.org/0day-ci/archive/20251229/202512290229.oFaoatlF-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512290229.oFaoatlF-lkp@intel.com/

All warnings (new ones prefixed by >>):

   Using alabaster theme
   ERROR: Cannot find file ./include/linux/pci.h
   WARNING: No kernel-doc for file ./include/linux/pci.h
   ERROR: Cannot find file ./include/linux/mod_devicetable.h
   WARNING: No kernel-doc for file ./include/linux/mod_devicetable.h
>> Documentation/ABI/testing/sysfs-driver-hid-steelseries:47: WARNING: Definition list ends without a blank line; unexpected unindent. [docutils]
   Documentation/ABI/testing/sysfs-driver-hid-steelseries:35: WARNING: Definition list ends without a blank line; unexpected unindent. [docutils]
   Documentation/ABI/testing/sysfs-driver-hid-steelseries:62: WARNING: Definition list ends without a blank line; unexpected unindent. [docutils]
   ERROR: Cannot find file ./include/linux/bootconfig.h
   WARNING: No kernel-doc for file ./include/linux/bootconfig.h
   ERROR: Cannot find file ./include/linux/pstore_zone.h


vim +47 Documentation/ABI/testing/sysfs-driver-hid-steelseries

  > 47	What:		/sys/class/hid/drivers/steelseries/<dev>/chatmix_level
    48	Date:		January 2025
    49	KernelVersion:	6.19
    50	Contact:	Sriman Achanta <srimanachanta@gmail.com>
    51	Description:
    52			Reports the current balance between Game and Chat audio channels
    53			(ChatMix). This value changes when the physical ChatMix dial
    54			on the headset is adjusted.
    55	
    56			Range: 0-128
    57			       0   = 100% Chat / 0% Game
    58			       64  = 50% Chat / 50% Game (Balanced)
    59			       128 = 0% Chat / 100% Game
    60			Access: Read
    61	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki