hwmon: (ibmpowernv) add a convert_opal_attr_name() routine
It simplifies the create_hwmon_attr_name() routine and it clearly isolates the conversion done between the OPAL node names and hwmon attributes names. Signed-off-by: Cédric Le Goater <clg@fr.ibm.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
This commit is contained in:
committed by
Guenter Roeck
parent
c4ad472064
commit
ccc9ac6cc9
+22
-14
@@ -127,6 +127,25 @@ static int get_sensor_index_attr(const char *name, u32 *index,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const char *convert_opal_attr_name(enum sensors type,
|
||||||
|
const char *opal_attr)
|
||||||
|
{
|
||||||
|
const char *attr_name = NULL;
|
||||||
|
|
||||||
|
if (!strcmp(opal_attr, DT_FAULT_ATTR_SUFFIX)) {
|
||||||
|
attr_name = "fault";
|
||||||
|
} else if (!strcmp(opal_attr, DT_DATA_ATTR_SUFFIX)) {
|
||||||
|
attr_name = "input";
|
||||||
|
} else if (!strcmp(opal_attr, DT_THRESHOLD_ATTR_SUFFIX)) {
|
||||||
|
if (type == TEMP)
|
||||||
|
attr_name = "max";
|
||||||
|
else if (type == FAN)
|
||||||
|
attr_name = "min";
|
||||||
|
}
|
||||||
|
|
||||||
|
return attr_name;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This function translates the DT node name into the 'hwmon' attribute name.
|
* This function translates the DT node name into the 'hwmon' attribute name.
|
||||||
* IBMPOWERNV device node appear like cooling-fan#2-data, amb-temp#1-thrs etc.
|
* IBMPOWERNV device node appear like cooling-fan#2-data, amb-temp#1-thrs etc.
|
||||||
@@ -138,7 +157,7 @@ static int create_hwmon_attr_name(struct device *dev, enum sensors type,
|
|||||||
char *hwmon_attr_name)
|
char *hwmon_attr_name)
|
||||||
{
|
{
|
||||||
char attr_suffix[MAX_ATTR_LEN];
|
char attr_suffix[MAX_ATTR_LEN];
|
||||||
char *attr_name;
|
const char *attr_name;
|
||||||
u32 index;
|
u32 index;
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
@@ -149,20 +168,9 @@ static int create_hwmon_attr_name(struct device *dev, enum sensors type,
|
|||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!strcmp(attr_suffix, DT_FAULT_ATTR_SUFFIX)) {
|
attr_name = convert_opal_attr_name(type, attr_suffix);
|
||||||
attr_name = "fault";
|
if (!attr_name)
|
||||||
} else if (!strcmp(attr_suffix, DT_DATA_ATTR_SUFFIX)) {
|
|
||||||
attr_name = "input";
|
|
||||||
} else if (!strcmp(attr_suffix, DT_THRESHOLD_ATTR_SUFFIX)) {
|
|
||||||
if (type == TEMP)
|
|
||||||
attr_name = "max";
|
|
||||||
else if (type == FAN)
|
|
||||||
attr_name = "min";
|
|
||||||
else
|
|
||||||
return -ENOENT;
|
|
||||||
} else {
|
|
||||||
return -ENOENT;
|
return -ENOENT;
|
||||||
}
|
|
||||||
|
|
||||||
snprintf(hwmon_attr_name, MAX_ATTR_LEN, "%s%d_%s",
|
snprintf(hwmon_attr_name, MAX_ATTR_LEN, "%s%d_%s",
|
||||||
sensor_groups[type].name, index, attr_name);
|
sensor_groups[type].name, index, attr_name);
|
||||||
|
|||||||
Reference in New Issue
Block a user