aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>2014-01-21 09:52:37 +1100
committerEli Qiao <taget@linux.vnet.ibm.com>2014-01-22 10:26:24 +0800
commit0f726b2f1870b2dfaac40aceb3de7a1f9159dfd5 (patch)
tree84a74e948b75b7d986f95a43181592760f4863df
parentfbd8173314a3ce24d3b9670c5a1aea342b144c04 (diff)
downloadpowerkvm-0f726b2f1870b2dfaac40aceb3de7a1f9159dfd5.tar.gz
powerpc/powernv: Add power sensor data retrieval from FSP
Platform will provide power data in watts, hwmon expects in micro-watts. Signed-off-by: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
-rw-r--r--drivers/hwmon/ibmpowernv.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/hwmon/ibmpowernv.c b/drivers/hwmon/ibmpowernv.c
index 020952083d145..6a08c4717f6a5 100644
--- a/drivers/hwmon/ibmpowernv.c
+++ b/drivers/hwmon/ibmpowernv.c
@@ -53,6 +53,7 @@ enum sensors {
UNKNOWN = -1,
FAN,
TEMPERATURE,
+ POWERSUPPLY,
POWER,
MAX_SENSOR_TYPES
};
@@ -61,6 +62,7 @@ static const char * const sensor_name_table[] = {
"fan-sensor",
"amb-temp-sensor",
"power-sensor",
+ "power",
NULL
};
@@ -68,6 +70,7 @@ static const char * const dt_sensor_comp_types[] = {
"ibm,opal-sensor-cooling-fan",
"ibm,opal-sensor-amb-temp",
"ibm,opal-sensor-power-supply",
+ "ibm,opal-sensor-power",
NULL
};
@@ -195,6 +198,9 @@ static ssize_t show_sensor(struct device *dev,
* milli-degrees.
*/
x = x*1000;
+ } else if (sensor_type == POWER && x > 0) {
+ /* Power value comes in watts, convert to micro-watts */
+ x = x * 1000000;
}
return sprintf(buf, "%d\n", x);
@@ -276,6 +282,8 @@ static int create_sensor_attr(struct sensor_specific_data *tdata,
strcpy(temp_file_prefix, "fan");
else if (sensor_type == TEMPERATURE)
strcpy(temp_file_prefix, "temp");
+ else if (sensor_type == POWERSUPPLY)
+ strcpy(temp_file_prefix, "powersupply");
else if (sensor_type == POWER)
strcpy(temp_file_prefix, "power");