hwmon: add fault attribute for voltage channels
authorNuno Sa <nuno.sa@analog.com>
Mon, 29 Jan 2024 16:13:24 +0000 (17:13 +0100)
committerGuenter Roeck <linux@roeck-us.net>
Sun, 11 Feb 2024 21:43:09 +0000 (13:43 -0800)
Sometimes a voltage channel might have an hard failure (eg: a shorted
MOSFET). Hence, add a fault attribute to report such failures.

Signed-off-by: Nuno Sa <nuno.sa@analog.com>
Link: https://lore.kernel.org/r/20240129-b4-ltc4282-support-v4-2-fe75798164cc@analog.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Documentation/ABI/testing/sysfs-class-hwmon
drivers/hwmon/hwmon.c
include/linux/hwmon.h

index 3dac923c9b0ef08b6ce32a4551d7e8d221c01a0a..6c4e68ad4a8331f899471e91e53cc049cb6beb2a 100644 (file)
@@ -149,6 +149,15 @@ Description:
 
                RW
 
+What:          /sys/class/hwmon/hwmonX/inY_fault
+Description:
+               Reports a voltage hard failure (eg: shorted component)
+
+               - 1: Failed
+               - 0: Ok
+
+               RO
+
 What:          /sys/class/hwmon/hwmonX/cpuY_vid
 Description:
                CPU core reference voltage.
index c7dd3f5b2bd5499cc6bb4b0b896d477631533403..18705049ad610e8ceb781993478782ed1d9090e0 100644 (file)
@@ -510,6 +510,7 @@ static const char * const hwmon_in_attr_templates[] = {
        [hwmon_in_rated_min] = "in%d_rated_min",
        [hwmon_in_rated_max] = "in%d_rated_max",
        [hwmon_in_beep] = "in%d_beep",
+       [hwmon_in_fault] = "in%d_fault",
 };
 
 static const char * const hwmon_curr_attr_templates[] = {
index c2c0da18dfa3699aac5a268afae7402ce758bd86..c7885fdce88f09675dd1733882e907afbda2c512 100644 (file)
@@ -141,6 +141,7 @@ enum hwmon_in_attributes {
        hwmon_in_rated_min,
        hwmon_in_rated_max,
        hwmon_in_beep,
+       hwmon_in_fault,
 };
 
 #define HWMON_I_ENABLE         BIT(hwmon_in_enable)
@@ -162,6 +163,7 @@ enum hwmon_in_attributes {
 #define HWMON_I_RATED_MIN      BIT(hwmon_in_rated_min)
 #define HWMON_I_RATED_MAX      BIT(hwmon_in_rated_max)
 #define HWMON_I_BEEP           BIT(hwmon_in_beep)
+#define HWMON_I_FAULT          BIT(hwmon_in_fault)
 
 enum hwmon_curr_attributes {
        hwmon_curr_enable,