From: Guenter Roeck Date: Sat, 10 Sep 2011 19:59:15 +0000 (-0700) Subject: hwmon: (pmbus) Add support for TEMP2 peak attributes X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=3d790287c4e6caa8790421737b1cf8f0a6531559;p=GitHub%2Fmt8127%2Fandroid_kernel_alcatel_ttab.git hwmon: (pmbus) Add support for TEMP2 peak attributes 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 Reviewed-by: Robert Coulson --- diff --git a/drivers/hwmon/pmbus/pmbus.h b/drivers/hwmon/pmbus/pmbus.h index cfa912d0f0b0..5d31d1c2c0f5 100644 --- a/drivers/hwmon/pmbus/pmbus.h +++ b/drivers/hwmon/pmbus/pmbus.h @@ -168,6 +168,9 @@ #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 diff --git a/drivers/hwmon/pmbus/pmbus_core.c b/drivers/hwmon/pmbus/pmbus_core.c index f241a4d2cf8f..814ebb198346 100644 --- a/drivers/hwmon/pmbus/pmbus_core.c +++ b/drivers/hwmon/pmbus/pmbus_core.c @@ -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), } };