• Jonas Malaco's avatar
    hwmon: add driver for NZXT Kraken X42/X52/X62/X72 · 82e3430d
    Jonas Malaco authored
    These are "all-in-one" CPU liquid coolers that can be monitored and
    controlled through a proprietary USB HID protocol.
    
    While the models have differently sized radiators and come with varying
    numbers of fans, they are all indistinguishable at the software level.
    
    The driver exposes fan/pump speeds and coolant temperature through the
    standard hwmon sysfs interface.
    
    Fan and pump control, while supported by the devices, are not currently
    exposed.  The firmware accepts up to 61 trip points per channel
    (fan/pump), but the same set of trip temperatures has to be maintained
    for both; with pwmX_auto_point_Y_temp attributes, users would need to
    maintain this invariant themselves.
    
    Instead, fan and pump control, as well as LED control (which the device
    also supports for 9 addressable RGB LEDs on the CPU water block) are
    left for existing and already mature user-space tools, which can still
    be used alongside the driver, thanks to hidraw.  A link to one, which I
    also maintain, is provided in the documentation.
    
    The implementation is based on USB traffic analysis.  It has been
    runtime tested on x86_64, both as a built-in driver and as a module.
    Signed-off-by: default avatarJonas Malaco <jonas@protocubo.io>
    Link: https://lore.kernel.org/r/20210319045544.416138-1-jonas@protocubo.io
    [groeck: Removed unnecessary spinlock.h include]
    Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
    82e3430d
Makefile 8.46 KB