linux/drivers
Sriman Achanta 83e70ced0d HID: steelseries: Add support for Arctis Nova 5X and Nova 7 families
The Arctis Nova 5X, Nova 7 Gen2, and Nova 7 2026 refresh headsets answer
status polls, but also send unsolicited battery and connection updates
on a second HID interface (interface 5). Use that interface through
async_interface so the driver does not have to poll. Add request and
parse helpers for the Nova status format (0xb0/0xb7/0xb9/0xbb opcodes).

The original (pre-Gen2) Arctis Nova 7 family answers the same status
opcodes on the same interfaces, but reports battery capacity as a
discrete 0-4 level instead of a raw percentage. Add a second parse
function that maps that level through steelseries_map_capacity(), and a
separate device_info so the two capacity encodings cannot get mixed up.

Add the fourteen USB product IDs that share these protocols:

  0x2253  Arctis Nova 5X
  0x2202  Arctis Nova 7
  0x2206  Arctis Nova 7X
  0x22a4  Arctis Nova 7X (alternate PID)
  0x223a  Arctis Nova 7 Diablo
  0x227a  Arctis Nova 7 World of Warcraft Edition
  0x22a1  Arctis Nova 7 2026
  0x22a7  Arctis Nova 7P 2026
  0x22a5  Arctis Nova 7X 2026
  0x22a9  Arctis Nova 7 Diablo 2026
  0x227e  Arctis Nova 7 Gen 2
  0x2258  Arctis Nova 7X Gen 2
  0x229e  Arctis Nova 7X Gen 2 (alternate PID)
  0x22ad  Arctis Nova 7X Gen 2 (alternate PID)

Signed-off-by: Sriman Achanta <srimanachanta@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2026-08-03 21:31:55 +02:00
..
accel drm-next for 7.2-rc1 2026-06-17 10:21:00 +01:00
accessibility
acpi spi: Updates for v7.2 2026-06-16 07:56:47 +05:30
amba amba: use generic driver_override infrastructure 2026-05-30 22:25:23 +02:00
android rust_binder: Avoid holding lock when dropping delivered_death 2026-05-22 11:55:48 +02:00
ata ata changes for 7.2-rc1 2026-06-18 08:12:50 -07:00
atm atm: remove unused ATM PHY operations 2026-06-16 08:53:53 -07:00
auxdisplay auxdisplay: Kconfig: drop unneeded quotes in PANEL_BOOT_MESSAGE dep 2026-05-17 07:58:30 +02:00
base soc: drivers for 7.2 2026-06-17 11:21:40 -07:00
bcma
block for-7.2/block-20260615 2026-06-16 13:02:47 +05:30
bluetooth Bluetooth: btintel_pcie: Separate coredump work from RX work 2026-06-11 14:24:42 -04:00
bus soc: drivers for 7.2 2026-06-17 11:21:40 -07:00
cache cache: sifive_ccache: Add StarFive JH7110 SoC support 2026-05-21 11:12:00 +01:00
cdrom cdrom, scsi: sr: propagate read-only status to block layer via set_disk_ro() 2026-04-27 15:52:51 -06:00
cdx Devicetree updates for v7.2: 2026-06-17 11:54:57 -07:00
char virtio,vhost,vdpa: features, fixes 2026-06-17 11:49:00 -07:00
clk soc: drivers for 7.2 2026-06-17 11:21:40 -07:00
clocksource A series of updates for the VDSO: 2026-06-15 13:57:13 +05:30
comedi comedi: comedi_test: fix check for valid scan_begin_src in waveform_ai_cmdtest() 2026-05-21 10:34:04 +02:00
connector
counter counter: Fix refcount leak in counter_alloc() error path 2026-05-03 13:48:39 +09:00
cpufreq x86/cpu updates for v7.2: 2026-06-15 15:25:17 +05:30
cpuidle
crypto This update includes the following changes: 2026-06-16 09:01:23 +05:30
cxl CXL changes for v7.1 2026-04-17 15:52:58 -07:00
dax dax changes for 7.1 2026-04-21 14:12:01 -07:00
dca
devfreq devfreq: change devfreq_event_class to a const struct 2026-05-22 13:28:46 +02:00
dibs dibs: Improve DIBS prompts and help texts 2026-05-18 16:53:53 -07:00
dio dio: Use tabs and avoid continuation logging in dio_init 2026-05-18 11:16:26 +02:00
dma driver core: Replace dev->dma_coherent with dev_dma_coherent() 2026-04-26 23:43:58 +02:00
dma-buf drm-next for 7.2-rc1 2026-06-17 10:21:00 +01:00
dpll dpll: allow fwnode pins to attempt state change without capability bit 2026-06-13 13:24:34 -07:00
edac EDAC: Consistently define pci_device_ids using named initializers 2026-05-29 13:28:36 -07:00
eisa
extcon
firewire
firmware virtio,vhost,vdpa: features, fixes 2026-06-17 11:49:00 -07:00
fpga
fsi
fwctl fwctl: pds: Validate RPC input size before parsing 2026-05-19 10:44:32 -03:00
gnss
gpib Revert "gpib: cb7210: Fix region leak when request_irq fails" 2026-05-30 12:25:36 +02:00
gpio Networking changes for 7.2. 2026-06-17 08:17:00 +01:00
gpu soc: drivers for 7.2 2026-06-17 11:21:40 -07:00
greybus
hid HID: steelseries: Add support for Arctis Nova 5X and Nova 7 families 2026-08-03 21:31:55 +02:00
hsi
hte
hv x86/msr updates for v7.2: 2026-06-15 15:08:14 +05:30
hwmon hwmon updates for v7.2 2026-06-16 08:10:21 +05:30
hwspinlock
hwtracing driver core: platform: set mod_name in driver registration 2026-06-08 23:28:24 +02:00
i2c i2c for v7.2 2026-06-16 07:43:29 +05:30
i3c
idle x86/msr updates for v7.2: 2026-06-15 15:08:14 +05:30
iio bitmap updates for v7.2 2026-06-17 11:38:38 +01:00
infiniband RDMA v7.2 merge window 2026-06-18 08:16:21 -07:00
input Input updates for v7.1-rc6 2026-06-07 08:40:53 -07:00
interconnect
iommu iommufd v7.2 merge window pull request 2026-06-17 12:33:23 -07:00
ipack
irqchip Devicetree updates for v7.2: 2026-06-17 11:54:57 -07:00
leds leds: trigger: netdev: don't recurse on the netdev ops lock 2026-06-04 14:04:56 -07:00
macintosh sched/cputime: Remove superfluous and error prone kcpustat_field() parameter 2026-06-02 21:27:25 +02:00
mailbox mailbox: mailbox-test: make data_ready a per-instance variable 2026-04-18 13:10:14 -05:00
mcb
md - small cleanups in dm-vdo, dm-raid, dm-cache, dm-zoned-metadata 2026-06-16 13:20:54 +05:30
media soc: drivers for 7.2 2026-06-17 11:21:40 -07:00
memory soc: drivers for 7.2 2026-06-17 11:21:40 -07:00
memstick memstick: Constify the driver id_table 2026-05-11 16:59:43 +02:00
message
mfd soc: drivers for 7.2 2026-06-17 11:21:40 -07:00
misc hardening updates for v7.2-rc1 2026-06-16 09:21:01 +05:30
mmc for-7.2/block-20260615 2026-06-16 13:02:47 +05:30
most
mtd for-7.2/block-20260615 2026-06-16 13:02:47 +05:30
mux Char/Misc/IIO/and others driver updates for 7.1-rc1 2026-04-24 13:23:50 -07:00
net virtio,vhost,vdpa: features, fixes 2026-06-17 11:49:00 -07:00
nfc nfc: Use named initializers for struct i2c_device_id 2026-06-11 20:24:47 +02:00
ntb ntb: Use consistent DMA attributes when freeing DMA mappings 2026-05-08 22:28:19 +02:00
nubus nubus: Switch to dynamic root device 2026-05-18 11:16:19 +02:00
nvdimm nvdimm: Convert nvdimm_bus guard to class 2026-06-03 11:38:47 +02:00
nvme for-7.2/block-20260615 2026-06-16 13:02:47 +05:30
nvmem nvmem: core: fix use-after-free bugs in error paths 2026-06-05 17:18:58 +02:00
of Devicetree updates for v7.2: 2026-06-17 11:54:57 -07:00
opp OPP: of: Fix potential memory leak in opp_parse_supplies() 2026-05-20 13:23:37 +05:30
parisc parisc: Fix IRQ leak in LASI driver 2026-05-04 11:48:12 +02:00
parport parport: Fix race between port and client registration 2026-05-22 12:19:02 +02:00
pci IOMMU Updates for Linux v7.2 2026-06-17 12:24:50 -07:00
pcmcia PCMCIA fixes and cleanups for v7.1 2026-04-23 11:22:16 -07:00
peci
perf perf/arm-cmn: Fix DVM node events 2026-06-03 20:50:24 +01:00
phy phy: qcom: qmp-usbc: Fix out-of-bounds array access in dp swing config 2026-05-19 15:42:11 +05:30
pinctrl Revert "pinctrl-amd: enable IRQ for WACF2200 touchscreen on Lenovo Yoga 7 14AGP11" 2026-05-30 00:00:33 +02:00
platform workqueue: Changes for v7.2 2026-06-17 11:57:44 +01:00
pmdomain pmdomain: imx: fix OF node refcount 2026-06-03 11:49:37 +02:00
pnp
power power sequencing updates for v7.2-rc1 2026-06-16 07:38:04 +05:30
powercap powercap: intel_rapl: Use sysfs_emit() in cpumask_show() 2026-06-01 19:55:32 +02:00
pps pps: generators: Use ktime_get_real_ts64() instead of ktime_get_snapshot() 2026-06-02 11:39:58 +02:00
ps3
ptp bitmap updates for v7.2 2026-06-17 11:38:38 +01:00
pwm pwm: Changes for v7.2-rc1 2026-06-16 07:26:47 +05:30
rapidio rapidio: rio: add WQ_PERCPU to alloc_workqueue users 2026-05-07 11:30:04 -10:00
ras - Fix a malformed Kconfig default for the AMD Address Translation Library 2026-06-16 05:31:01 +05:30
regulator regulator: Updates for v7.2 2026-06-16 07:50:31 +05:30
remoteproc rpmsg updates for v7.1 2026-04-17 14:18:55 -07:00
resctrl arm64 updates for 7.2 2026-06-16 05:18:04 +05:30
reset reset: eyeq: drop device_set_of_node_from_dev() done by parent 2026-04-28 19:03:50 -07:00
rpmsg rpmsg: use generic driver_override infrastructure 2026-05-30 22:25:45 +02:00
rtc rtc: rv3032: switch to using FIELD_GET_SIGNED() 2026-05-20 11:18:27 -04:00
s390 Networking changes for 7.2. 2026-06-17 08:17:00 +01:00
sbus
scsi Networking changes for 7.2. 2026-06-17 08:17:00 +01:00
sh
siox
slimbus slimbus: qcom-ngd-ctrl: Avoid ABBA on tx_lock/ctrl->lock 2026-06-05 17:19:51 +02:00
soc soc: drivers for 7.2 2026-06-17 11:21:40 -07:00
soundwire soundwire: Always wait for initialisation of unattached devices 2026-06-11 20:46:48 +01:00
spi spi: Updates for v7.2 2026-06-16 07:56:47 +05:30
spmi
ssb
staging spi: Updates for v7.2 2026-06-16 07:56:47 +05:30
target scsi: target: iscsi: Validate CHAP_R length before base64 decode 2026-05-22 23:06:00 -04:00
tc
tee soc: drivers for 7.2 2026-06-17 11:21:40 -07:00
thermal x86/cpu updates for v7.2: 2026-06-15 15:25:17 +05:30
thunderbolt thunderbolt: Limit XDomain response copy to actual frame size 2026-05-26 15:18:31 +02:00
tty fbdev fixes & cleanups for 7.2-rc1: 2026-06-16 08:28:41 +05:30
ufs soc: fixes for 7.1, part 2 2026-06-02 10:54:11 -07:00
uio uio: uio_pci_generic_sva: fix double free of devm_kzalloc() memory 2026-05-22 12:19:02 +02:00
usb soc: drivers for 7.2 2026-06-17 11:21:40 -07:00
vdpa vdpa/octeon_ep: fix IRQ-to-ring mapping in interrupt handler 2026-06-10 02:17:00 -04:00
vfio vfio/qat: fix f_pos race in qat_vf_resume_write() 2026-06-10 14:33:05 -06:00
vhost virtio,vhost,vdpa: features, fixes 2026-06-17 11:49:00 -07:00
video fbdev: modedb: Fix misaligned fields in the 1920x1080-60 mode 2026-06-12 23:23:43 +02:00
virt workqueue: Changes for v7.2 2026-06-17 11:57:44 +01:00
virtio virtio,vhost,vdpa: features, fixes 2026-06-17 11:49:00 -07:00
w1
watchdog watchdog updates and fixes for v7.2 2026-06-16 08:04:24 +05:30
xen Devicetree updates for v7.2: 2026-06-17 11:54:57 -07:00
zorro zorro: sysfs: Replace sprintf() by sysfs_emit() 2026-04-27 13:52:12 +02:00
Kconfig net: remove ISDN subsystem and Bluetooth CMTP 2026-04-23 10:24:02 -07:00
Makefile net: remove ISDN subsystem and Bluetooth CMTP 2026-04-23 10:24:02 -07:00