hwmon: (pmbus) Add support for TEMP2 peak attributes
authorGuenter Roeck <guenter.roeck@ericsson.com>
Sat, 10 Sep 2011 19:59:15 +0000 (12:59 -0700)
committerGuenter Roeck <guenter.roeck@ericsson.com>
Mon, 24 Oct 2011 18:09:42 +0000 (11:09 -0700)
At least one PMBus chip supports peak attributes for READ_TEMPERATURE2.
Add virtual registers to be able to report it to the user.

Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
Reviewed-by: Robert Coulson <robert.coulson@ericsson.com>
drivers/hwmon/pmbus/pmbus.h
drivers/hwmon/pmbus/pmbus_core.c

index cfa912d0f0b0a383b9a85d805c9889154a299b18..5d31d1c2c0f5c3e9312d934e034d170a9b423873 100644 (file)
 #define PMBUS_VIRT_READ_IOUT_MIN       (PMBUS_VIRT_BASE + 19)
 #define PMBUS_VIRT_READ_IOUT_MAX       (PMBUS_VIRT_BASE + 20)
 #define PMBUS_VIRT_RESET_IOUT_HISTORY  (PMBUS_VIRT_BASE + 21)
+#define PMBUS_VIRT_READ_TEMP2_MIN      (PMBUS_VIRT_BASE + 22)
+#define PMBUS_VIRT_READ_TEMP2_MAX      (PMBUS_VIRT_BASE + 23)
+#define PMBUS_VIRT_RESET_TEMP2_HISTORY (PMBUS_VIRT_BASE + 24)
 
 /*
  * CAPABILITY
index f241a4d2cf8f7eeb4a7005949bc41b3e0419122a..814ebb198346c3e1f00bbaa759745db5d5480bae 100644 (file)
@@ -1401,7 +1401,42 @@ static const struct pmbus_limit_attr temp_limit_attrs[] = {
        }
 };
 
-static const struct pmbus_limit_attr temp_limit_attrs23[] = {
+static const struct pmbus_limit_attr temp_limit_attrs2[] = {
+       {
+               .reg = PMBUS_UT_WARN_LIMIT,
+               .low = true,
+               .attr = "min",
+               .alarm = "min_alarm",
+               .sbit = PB_TEMP_UT_WARNING,
+       }, {
+               .reg = PMBUS_UT_FAULT_LIMIT,
+               .low = true,
+               .attr = "lcrit",
+               .alarm = "lcrit_alarm",
+               .sbit = PB_TEMP_UT_FAULT,
+       }, {
+               .reg = PMBUS_OT_WARN_LIMIT,
+               .attr = "max",
+               .alarm = "max_alarm",
+               .sbit = PB_TEMP_OT_WARNING,
+       }, {
+               .reg = PMBUS_OT_FAULT_LIMIT,
+               .attr = "crit",
+               .alarm = "crit_alarm",
+               .sbit = PB_TEMP_OT_FAULT,
+       }, {
+               .reg = PMBUS_VIRT_READ_TEMP2_MIN,
+               .attr = "lowest",
+       }, {
+               .reg = PMBUS_VIRT_READ_TEMP2_MAX,
+               .attr = "highest",
+       }, {
+               .reg = PMBUS_VIRT_RESET_TEMP2_HISTORY,
+               .attr = "reset_history",
+       }
+};
+
+static const struct pmbus_limit_attr temp_limit_attrs3[] = {
        {
                .reg = PMBUS_UT_WARN_LIMIT,
                .low = true,
@@ -1450,8 +1485,8 @@ static const struct pmbus_sensor_attr temp_attributes[] = {
                .sfunc = PMBUS_HAVE_STATUS_TEMP,
                .sbase = PB_STATUS_TEMP_BASE,
                .gbit = PB_STATUS_TEMPERATURE,
-               .limit = temp_limit_attrs23,
-               .nlimit = ARRAY_SIZE(temp_limit_attrs23),
+               .limit = temp_limit_attrs2,
+               .nlimit = ARRAY_SIZE(temp_limit_attrs2),
        }, {
                .reg = PMBUS_READ_TEMPERATURE_3,
                .class = PSC_TEMPERATURE,
@@ -1462,8 +1497,8 @@ static const struct pmbus_sensor_attr temp_attributes[] = {
                .sfunc = PMBUS_HAVE_STATUS_TEMP,
                .sbase = PB_STATUS_TEMP_BASE,
                .gbit = PB_STATUS_TEMPERATURE,
-               .limit = temp_limit_attrs23,
-               .nlimit = ARRAY_SIZE(temp_limit_attrs23),
+               .limit = temp_limit_attrs3,
+               .nlimit = ARRAY_SIZE(temp_limit_attrs3),
        }
 };