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@rere.qmqm.pl>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
This commit is contained in:
Michał Mirosław 2020-05-01 17:11:18 +02:00 committed by Sebastian Reichel
parent 97ed79f493
commit e83a2e4434

View File

@ -13,6 +13,11 @@ struct power_supply_hwmon {
unsigned long *props;
};
static const char *const ps_temp_label[] = {
"temp",
"ambient temp",
};
static int power_supply_hwmon_in_to_property(u32 attr)
{
switch (attr) {
@ -180,7 +185,20 @@ static int power_supply_hwmon_read_string(struct device *dev,
u32 attr, int channel,
const char **str)
{
*str = channel ? "temp ambient" : "temp";
switch (type) {
case hwmon_temp:
*str = ps_temp_label[channel];
break;
default:
/* unreachable, but see:
* gcc bug #51513 [1] and clang bug #978 [2]
*
* [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51513
* [2] https://github.com/ClangBuiltLinux/linux/issues/978
*/
break;
}
return 0;
}