[PATCH linux dev-4.10] drivers/hwmon/occ: Change power sensor type a0 attributes

Eddie James eajames at linux.vnet.ibm.com
Tue Jul 18 05:55:34 AEST 2017


From: "Edward A. James" <eajames at us.ibm.com>

Needed to be more standard.

Signed-off-by: Edward A. James <eajames at us.ibm.com>
---
 drivers/hwmon/occ/common.c | 74 ++++++++++++++++++++++++++++++++++++----------
 1 file changed, 58 insertions(+), 16 deletions(-)

diff --git a/drivers/hwmon/occ/common.c b/drivers/hwmon/occ/common.c
index 4e3e411..8b0a008 100644
--- a/drivers/hwmon/occ/common.c
+++ b/drivers/hwmon/occ/common.c
@@ -565,6 +565,14 @@ static ssize_t occ_show_power_a0(struct device *dev,
 	case 14:
 		val = get_unaligned_be64(&power->vdn.accumulator);
 		break;
+	case 15:
+		return snprintf(buf, PAGE_SIZE - 1, "system\n");
+	case 16:
+		return snprintf(buf, PAGE_SIZE - 1, "proc\n");
+	case 17:
+		return snprintf(buf, PAGE_SIZE - 1, "vdd\n");
+	case 18:
+		return snprintf(buf, PAGE_SIZE - 1, "vdn\n");
 	}
 
 	return snprintf(buf, PAGE_SIZE - 1, "%llu\n", val);
@@ -804,7 +812,7 @@ int occ_setup_sensor_attrs(struct occ *occ)
 		show_power = occ_show_power_2;
 		break;
 	case 0xA0:
-		occ->num_attrs += (sensors->power.num_sensors * 15);
+		occ->num_attrs += (sensors->power.num_sensors * 19);
 		show_power = occ_show_power_a0;
 		break;
 	default:
@@ -888,91 +896,125 @@ int occ_setup_sensor_attrs(struct occ *occ)
 			s = i + 1;
 
 			snprintf(attr->name, sizeof(attr->name),
-				 "power%d_label", s);
+				 "power%d_id", s);
 			attr->sensor = OCC_INIT_ATTR(attr->name, 0444,
 						     show_power, NULL, 0, i);
 			attr++;
 
+			/* system power attributes */
 			snprintf(attr->name, sizeof(attr->name),
-				 "power%d_system_update_time", s);
+				 "power%d_label", s);
+			attr->sensor = OCC_INIT_ATTR(attr->name, 0444,
+						     show_power, NULL, 15, i);
+			attr++;
+
+			snprintf(attr->name, sizeof(attr->name),
+				 "power%d_update_time", s);
 			attr->sensor = OCC_INIT_ATTR(attr->name, 0444,
 						     show_power, NULL, 1, i);
 			attr++;
 
 			snprintf(attr->name, sizeof(attr->name),
-				 "power%d_system_value", s);
+				 "power%d_input", s);
 			attr->sensor = OCC_INIT_ATTR(attr->name, 0444,
 						     show_power, NULL, 2, i);
 			attr++;
 
 			snprintf(attr->name, sizeof(attr->name),
-				 "power%d_system_update_tag", s);
+				 "power%d_update_tag", s);
 			attr->sensor = OCC_INIT_ATTR(attr->name, 0444,
 						     show_power, NULL, 3, i);
 			attr++;
 
 			snprintf(attr->name, sizeof(attr->name),
-				 "power%d_system_accumulator", s);
+				 "power%d_accumulator", s);
 			attr->sensor = OCC_INIT_ATTR(attr->name, 0444,
 						     show_power, NULL, 4, i);
 			attr++;
 
+			s++;
+
+			/* proc power attributes */
 			snprintf(attr->name, sizeof(attr->name),
-				 "power%d_proc_update_time", s);
+				 "power%d_label", s);
+			attr->sensor = OCC_INIT_ATTR(attr->name, 0444,
+						     show_power, NULL, 16, i);
+			attr++;
+
+			snprintf(attr->name, sizeof(attr->name),
+				 "power%d_update_time", s);
 			attr->sensor = OCC_INIT_ATTR(attr->name, 0444,
 						     show_power, NULL, 5, i);
 			attr++;
 
 			snprintf(attr->name, sizeof(attr->name),
-				 "power%d_proc_value", s);
+				 "power%d_input", s);
 			attr->sensor = OCC_INIT_ATTR(attr->name, 0444,
 						     show_power, NULL, 6, i);
 			attr++;
 
 			snprintf(attr->name, sizeof(attr->name),
-				 "power%d_proc_update_tag", s);
+				 "power%d_update_tag", s);
 			attr->sensor = OCC_INIT_ATTR(attr->name, 0444,
 						     show_power, NULL, 7, i);
 			attr++;
 
 			snprintf(attr->name, sizeof(attr->name),
-				 "power%d_proc_accumulator", s);
+				 "power%d_accumulator", s);
 			attr->sensor = OCC_INIT_ATTR(attr->name, 0444,
 						     show_power, NULL, 8, i);
 			attr++;
 
+			s++;
+
+			/* vdd power attributes */
 			snprintf(attr->name, sizeof(attr->name),
-				 "power%d_vdd_value", s);
+				 "power%d_label", s);
+			attr->sensor = OCC_INIT_ATTR(attr->name, 0444,
+						     show_power, NULL, 17, i);
+			attr++;
+
+			snprintf(attr->name, sizeof(attr->name),
+				 "power%d_input", s);
 			attr->sensor = OCC_INIT_ATTR(attr->name, 0444,
 						     show_power, NULL, 9, i);
 			attr++;
 
 			snprintf(attr->name, sizeof(attr->name),
-				 "power%d_vdd_update_tag", s);
+				 "power%d_update_tag", s);
 			attr->sensor = OCC_INIT_ATTR(attr->name, 0444,
 						     show_power, NULL, 10, i);
 			attr++;
 
 			snprintf(attr->name, sizeof(attr->name),
-				 "power%d_vdd_accumulator", s);
+				 "power%d_accumulator", s);
 			attr->sensor = OCC_INIT_ATTR(attr->name, 0444,
 						     show_power, NULL, 11, i);
 			attr++;
 
+			s++;
+
+			/* vdn power attributes */
 			snprintf(attr->name, sizeof(attr->name),
-				 "power%d_vdn_value", s);
+				 "power%d_label", s);
+			attr->sensor = OCC_INIT_ATTR(attr->name, 0444,
+						     show_power, NULL, 18, i);
+			attr++;
+
+			snprintf(attr->name, sizeof(attr->name),
+				 "power%d_input", s);
 			attr->sensor = OCC_INIT_ATTR(attr->name, 0444,
 						     show_power, NULL, 12, i);
 			attr++;
 
 			snprintf(attr->name, sizeof(attr->name),
-				 "power%d_vdn_update_tag", s);
+				 "power%d_update_tag", s);
 			attr->sensor = OCC_INIT_ATTR(attr->name, 0444,
 						     show_power, NULL, 13, i);
 			attr++;
 
 			snprintf(attr->name, sizeof(attr->name),
-				 "power%d_vdn_accumulator", s);
+				 "power%d_accumulator", s);
 			attr->sensor = OCC_INIT_ATTR(attr->name, 0444,
 						     show_power, NULL, 14, i);
 			attr++;
-- 
1.8.3.1



More information about the openbmc mailing list