[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <ae82abf9da86542f5657a8c37106bcdae5011927.1585929579.git.mirq-linux@rere.qmqm.pl>
Date: Fri, 03 Apr 2020 18:23:32 +0200
From: Michał Mirosław <mirq-linux@...e.qmqm.pl>
To: Andrey Smirnov <andrew.smirnov@...il.com>,
Guenter Roeck <linux@...ck-us.net>,
Sebastian Reichel <sebastian.reichel@...labora.com>
Cc: linux-kernel@...r.kernel.org, linux-pm@...r.kernel.org
Subject: [PATCH v2 4/8] power: supply: core: tabularize HWMON temperature
labels
Rework power_supply_hwmon_read_string() to check it's parameters.
This allows to extend it later with labels for other types of
measurements.
Signed-off-by: Michał Mirosław <mirq-linux@...e.qmqm.pl>
---
v2: split from fix temperature labels
---
drivers/power/supply/power_supply_hwmon.c | 21 +++++++++++++++++++--
1 file changed, 19 insertions(+), 2 deletions(-)
diff --git a/drivers/power/supply/power_supply_hwmon.c b/drivers/power/supply/power_supply_hwmon.c
index 67b6ee60085e..48c73994732c 100644
--- a/drivers/power/supply/power_supply_hwmon.c
+++ b/drivers/power/supply/power_supply_hwmon.c
@@ -43,6 +43,11 @@ static int power_supply_hwmon_curr_to_property(u32 attr)
}
}
+static const char *const ps_temp_label[] = {
+ "temp",
+ "ambient temp",
+};
+
static int power_supply_hwmon_temp_to_property(u32 attr, int channel)
{
if (channel) {
@@ -144,8 +149,20 @@ static int power_supply_hwmon_read_string(struct device *dev,
u32 attr, int channel,
const char **str)
{
- *str = channel ? "temp ambient" : "temp";
- return 0;
+ if (channel < 0)
+ return -EINVAL;
+
+ switch (type) {
+ case hwmon_temp:
+ if (channel >= ARRAY_SIZE(ps_temp_label))
+ return -EINVAL;
+ *str = ps_temp_label[channel];
+ return 0;
+ default:
+ break;
+ }
+
+ return -EINVAL;
}
static int
--
2.20.1
Powered by blists - more mailing lists