From 3c8c049aa7bdffaab2e53401fd5270a3acc32631 Mon Sep 17 00:00:00 2001 From: Shilpasri G Bhat Date: Mon, 7 May 2018 15:55:37 +0530 Subject: hwmon: (ibmpowernv): Add support to read 64 bit sensors The firmware has supported for reading sensor values of size u32. This patch adds support to use newer firmware functions which allows to read the sensors of size u64. Signed-off-by: Shilpasri G Bhat Acked-by: Guenter Roeck Signed-off-by: Michael Ellerman --- drivers/hwmon/ibmpowernv.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'drivers/hwmon') diff --git a/drivers/hwmon/ibmpowernv.c b/drivers/hwmon/ibmpowernv.c index 5ccdd0b52650..74d9b5ae55ec 100644 --- a/drivers/hwmon/ibmpowernv.c +++ b/drivers/hwmon/ibmpowernv.c @@ -101,9 +101,10 @@ static ssize_t show_sensor(struct device *dev, struct device_attribute *devattr, struct sensor_data *sdata = container_of(devattr, struct sensor_data, dev_attr); ssize_t ret; - u32 x; + u64 x; + + ret = opal_get_sensor_data_u64(sdata->id, &x); - ret = opal_get_sensor_data(sdata->id, &x); if (ret) return ret; @@ -114,7 +115,7 @@ static ssize_t show_sensor(struct device *dev, struct device_attribute *devattr, else if (sdata->type == POWER_INPUT) x *= 1000000; - return sprintf(buf, "%u\n", x); + return sprintf(buf, "%llu\n", x); } static ssize_t show_label(struct device *dev, struct device_attribute *devattr, -- cgit v1.2.3 From 43d2974b66d916a6df16e536da542e3a65aab7b9 Mon Sep 17 00:00:00 2001 From: Shilpasri G Bhat Date: Mon, 7 May 2018 15:55:38 +0530 Subject: hwmon: (ibmpowernv) Add energy sensors This patch exports the accumulated power numbers of each power sensor maintained by OCC. Signed-off-by: Shilpasri G Bhat Acked-by: Guenter Roeck Signed-off-by: Michael Ellerman --- drivers/hwmon/ibmpowernv.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'drivers/hwmon') diff --git a/drivers/hwmon/ibmpowernv.c b/drivers/hwmon/ibmpowernv.c index 74d9b5ae55ec..0298745d46e4 100644 --- a/drivers/hwmon/ibmpowernv.c +++ b/drivers/hwmon/ibmpowernv.c @@ -51,6 +51,7 @@ enum sensors { POWER_SUPPLY, POWER_INPUT, CURRENT, + ENERGY, MAX_SENSOR_TYPE, }; @@ -78,6 +79,7 @@ static struct sensor_group { { "in" }, { "power" }, { "curr" }, + { "energy" }, }; struct sensor_data { -- cgit v1.2.3