Commit 84dc9e8a authored by Eddie James's avatar Eddie James Committed by Guenter Roeck

hwmon: (occ) Add soft minimum power cap attribute

Export the power caps data for the soft minimum power cap through hwmon.
Signed-off-by: default avatarEddie James <eajames@linux.ibm.com>
Reviewed-by: default avatarJoel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20220215151022.7498-5-eajames@linux.ibm.comSigned-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
parent 54cc3dbf
...@@ -674,6 +674,9 @@ static ssize_t occ_show_caps_3(struct device *dev, ...@@ -674,6 +674,9 @@ static ssize_t occ_show_caps_3(struct device *dev,
case 7: case 7:
val = caps->user_source; val = caps->user_source;
break; break;
case 8:
val = get_unaligned_be16(&caps->soft_min) * 1000000ULL;
break;
default: default:
return -EINVAL; return -EINVAL;
} }
...@@ -835,12 +838,13 @@ static int occ_setup_sensor_attrs(struct occ *occ) ...@@ -835,12 +838,13 @@ static int occ_setup_sensor_attrs(struct occ *occ)
case 1: case 1:
num_attrs += (sensors->caps.num_sensors * 7); num_attrs += (sensors->caps.num_sensors * 7);
break; break;
case 3:
show_caps = occ_show_caps_3;
fallthrough;
case 2: case 2:
num_attrs += (sensors->caps.num_sensors * 8); num_attrs += (sensors->caps.num_sensors * 8);
break; break;
case 3:
show_caps = occ_show_caps_3;
num_attrs += (sensors->caps.num_sensors * 9);
break;
default: default:
sensors->caps.num_sensors = 0; sensors->caps.num_sensors = 0;
} }
...@@ -1047,6 +1051,15 @@ static int occ_setup_sensor_attrs(struct occ *occ) ...@@ -1047,6 +1051,15 @@ static int occ_setup_sensor_attrs(struct occ *occ)
attr->sensor = OCC_INIT_ATTR(attr->name, 0444, attr->sensor = OCC_INIT_ATTR(attr->name, 0444,
show_caps, NULL, 7, 0); show_caps, NULL, 7, 0);
attr++; attr++;
if (sensors->caps.version > 2) {
snprintf(attr->name, sizeof(attr->name),
"power%d_cap_min_soft", s);
attr->sensor = OCC_INIT_ATTR(attr->name, 0444,
show_caps, NULL,
8, 0);
attr++;
}
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment