diff options
| author | Aureo Serrano de Souza <aureo.serrano@arctic.de> | 2026-05-08 14:44:00 +0800 |
|---|---|---|
| committer | Guenter Roeck <linux@roeck-us.net> | 2026-05-24 13:54:02 -0700 |
| commit | 6f50b9ad782915544f5137177bdd8f05796301e6 (patch) | |
| tree | 8ce91df9fb554bf4de35a8a63520f0cc07a407f1 /MAINTAINERS | |
| parent | aa61af7ce1fec3b39373655df24a5f13b2d64a6a (diff) | |
| download | linux-next-history-6f50b9ad782915544f5137177bdd8f05796301e6.tar.gz | |
hwmon: add driver for ARCTIC Fan Controller
Add hwmon driver for the ARCTIC Fan Controller, a USB HID device
(VID 0x3904, PID 0xF001) with 10 fan channels. Exposes fan speed in
RPM (read-only) and PWM duty cycle (0-255, read/write) via sysfs.
The device pushes IN reports at ~1 Hz containing RPM readings. PWM is
set via OUT reports; the device applies the new duty cycle and sends
back a 2-byte ACK (Report ID 0x02). The driver waits up to 1 s for
the ACK using a completion. Measured device latency: max ~563 ms over
500 iterations. PWM control is manual-only: the device never changes
duty cycle autonomously.
raw_event() may run in hardirq context, so fan_rpm[] is protected by
a spinlock with irq-save. pwm_duty[] is also protected by this spinlock
because reset_resume() clears it outside the hwmon core lock. The OUT
report buffer is built and write_pending is armed under the same lock so
that no reset_resume() can race with the pwm_duty[] snapshot. priv->buf
is exclusively accessed by write(), which the hwmon core serializes.
Signed-off-by: Aureo Serrano de Souza <aureo.serrano@arctic.de>
Link: https://lore.kernel.org/r/20260508064405.38676-1-aureo.serrano@arctic.de
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Diffstat (limited to 'MAINTAINERS')
| -rw-r--r-- | MAINTAINERS | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/MAINTAINERS b/MAINTAINERS index 743e451760c9c..5d4453414e772 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2070,6 +2070,13 @@ S: Maintained F: drivers/net/arcnet/ F: include/uapi/linux/if_arcnet.h +ARCTIC FAN CONTROLLER DRIVER +M: Aureo Serrano de Souza <aureo.serrano@arctic.de> +L: linux-hwmon@vger.kernel.org +S: Maintained +F: Documentation/hwmon/arctic_fan_controller.rst +F: drivers/hwmon/arctic_fan_controller.c + ARM AND ARM64 SoC SUB-ARCHITECTURES (COMMON PARTS) M: Arnd Bergmann <arnd@arndb.de> M: Krzysztof Kozlowski <krzk@kernel.org> |
