libsensors: Add support for instantaneous
PATCH 1/2 libsensors: Add support for instantaneous
Add support for instantaneous power sensors.
---
I'd appreciate review and testing of this patch. Darrick, please test that this doesn't break support of your IBM chips.
doc/libsensors-API.txt | 6 ++++++ lib/sensors.h | 6 ++++-- lib/sysfs.c | 3 +++ prog/sensors/chips.c | 28 +++++++++++++++++++++------- 4 files changed, 34 insertions(+), 9 deletions(-)
lib/sensors.h +4 -2
@@ -31,7 +31,7 @@when the API + ABI breaks), the third digit is incremented to track small API additions like new flags / enum values. The second digit is for tracking larger additions like new methods. */ -#define SENSORS_API_VERSION 0x401 +#define SENSORS_API_VERSION 0x402#define SENSORS_CHIP_NAME_PREFIX_ANY NULL#define SENSORS_CHIP_NAME_ADDR_ANY (-1)
@@ -175,7 +175,9 @@ typedef enum sensors_subfeature_type {SENSORS_SUBFEATURE_POWER_AVERAGE =SENSORS_FEATURE_POWER <<8 ,SENSORS_SUBFEATURE_POWER_AVERAGE_HIGHEST ,SENSORS_SUBFEATURE_POWER_AVERAGE_LOWEST , - +SENSORS_SUBFEATURE_POWER_INPUT , +SENSORS_SUBFEATURE_POWER_INPUT_HIGHEST , +SENSORS_SUBFEATURE_POWER_INPUT_LOWEST ,SENSORS_SUBFEATURE_POWER_AVERAGE_INTERVAL = (SENSORS_FEATURE_POWER <<8 ) |0x80 , SENSORS_SUBFEATURE_ENERGY_INPUT = SENSORS_FEATURE_ENERGY << 8,
lib/sysfs.c +3 -0
@@ -247,6 +247,9 @@ static const struct subfeature_type_matc { "average", SENSORS_SUBFEATURE_POWER_AVERAGE }, { "average_highest", SENSORS_SUBFEATURE_POWER_AVERAGE_HIGHEST }, { "average_lowest", SENSORS_SUBFEATURE_POWER_AVERAGE_LOWEST }, + { "input", SENSORS_SUBFEATURE_POWER_INPUT }, + { "input_highest", SENSORS_SUBFEATURE_POWER_INPUT_HIGHEST }, + { "input_lowest", SENSORS_SUBFEATURE_POWER_INPUT_LOWEST }, { "average_interval", SENSORS_SUBFEATURE_POWER_AVERAGE_INTERVAL }, { NULL, 0 } };
prog/sensors/chips.c +21 -7
@@ -449,8 +449,28 @@ static void print_chip_power(const sensoprint_label (label, label_size);free (label); +/* Power sensors come in 2 flavors: instantaneous and averaged. +To keep things simple, we assume that each sensor only implements +one flavor. */ sf =sensors_get_subfeature (name, feature, -SENSORS_SUBFEATURE_POWER_AVERAGE ); +SENSORS_SUBFEATURE_POWER_INPUT ); +if (sf) { + sfmin =sensors_get_subfeature (name, feature, +SENSORS_SUBFEATURE_POWER_INPUT_HIGHEST ); + sfmax =sensors_get_subfeature (name, feature, +SENSORS_SUBFEATURE_POWER_INPUT_LOWEST ); + sfint =NULL ; + }else { + sf =sensors_get_subfeature (name, feature, +SENSORS_SUBFEATURE_POWER_AVERAGE ); + sfmin =sensors_get_subfeature (name, feature, +SENSORS_SUBFEATURE_POWER_AVERAGE_HIGHEST ); + sfmax =sensors_get_subfeature (name, feature, +SENSORS_SUBFEATURE_POWER_AVERAGE_LOWEST ); + sfint =sensors_get_subfeature (name, feature, +SENSORS_SUBFEATURE_POWER_AVERAGE_INTERVAL ); + } +if (sf) { val =get_value (name, sf);scale_value (&val, &unit);
@@ -458,12 +478,6 @@ static void print_chip_power(const senso }else printf (" N/A" ); - sfmin =sensors_get_subfeature (name, feature, -SENSORS_SUBFEATURE_POWER_AVERAGE_HIGHEST ); - sfmax =sensors_get_subfeature (name, feature, -SENSORS_SUBFEATURE_POWER_AVERAGE_LOWEST ); - sfint =sensors_get_subfeature (name, feature, -SENSORS_SUBFEATURE_POWER_AVERAGE_INTERVAL );if (sfmin || sfmax || sfint) {printf (" (" );
doc/libsensors-API.txt +6 -0
@@ -6,6 +6,12 @@ over time. This document summarizes thes authors can quickly figure out how to test for the availability of a given new feature. +0x402 lm-sensors SVN +* Added support for instantaneous power sensors + enum sensors_subfeature_type SENSORS_SUBFEATURE_POWER_INPUT + enum sensors_subfeature_type SENSORS_SUBFEATURE_POWER_INPUT_HIGHEST + enum sensors_subfeature_type SENSORS_SUBFEATURE_POWER_INPUT_LOWEST + 0x401 lm-sensors 3.0.2 to 3.0.3 * Added bus type "virtual": #define SENSORS_BUS_TYPE_VIRTUAL
Signature · 6 lines
Jean Delvare _______________________________________________ lm-sensors mailing list [email protected] http://lists.lm-sensors.org/mailman/listinfo/lm-sensors
PATCH 1/2 libsensors: Add support for temp[1-*]_min_hyst and temp[1-*]_lcrit_hyst
Add support for sysfs attributes temp[1-*]_min_hyst (already implemented by drivers adt7x10, lm77 and lm92) and temp[1-*]_lcrit_hyst (no known users yet.)
--- doc/libsensors-API.txt | 3 +++ lib/sensors.h | 2 ++ lib/sysfs.c | 2 ++ 3 files changed, 7 insertions(+)
lib/sensors.h +2 -0
@@ -190,6 +190,8 @@ typedef enum sensors_subfeature_type {SENSORS_SUBFEATURE_TEMP_EMERGENCY_HYST ,SENSORS_SUBFEATURE_TEMP_LOWEST ,SENSORS_SUBFEATURE_TEMP_HIGHEST , +SENSORS_SUBFEATURE_TEMP_MIN_HYST , +SENSORS_SUBFEATURE_TEMP_LCRIT_HYST ,SENSORS_SUBFEATURE_TEMP_ALARM = (SENSORS_FEATURE_TEMP <<8 ) |0x80 ,SENSORS_SUBFEATURE_TEMP_MAX_ALARM , SENSORS_SUBFEATURE_TEMP_MIN_ALARM,
lib/sysfs.c +2 -0
@@ -214,9 +214,11 @@ static const struct subfeature_type_matc { "max", SENSORS_SUBFEATURE_TEMP_MAX }, { "max_hyst", SENSORS_SUBFEATURE_TEMP_MAX_HYST }, { "min", SENSORS_SUBFEATURE_TEMP_MIN }, + { "min_hyst", SENSORS_SUBFEATURE_TEMP_MIN_HYST }, { "crit", SENSORS_SUBFEATURE_TEMP_CRIT }, { "crit_hyst", SENSORS_SUBFEATURE_TEMP_CRIT_HYST }, { "lcrit", SENSORS_SUBFEATURE_TEMP_LCRIT }, + { "lcrit_hyst", SENSORS_SUBFEATURE_TEMP_LCRIT_HYST }, { "emergency", SENSORS_SUBFEATURE_TEMP_EMERGENCY }, { "emergency_hyst", SENSORS_SUBFEATURE_TEMP_EMERGENCY_HYST }, { "lowest", SENSORS_SUBFEATURE_TEMP_LOWEST },
doc/libsensors-API.txt +3 -0
@@ -9,6 +9,9 @@ given new feature. 0x440 lm-sensors 3.4.0 * Defined SENSORS_FEATURE_MAX enum sensors_feature_type SENSORS_FEATURE_MAX +* Added support for temp min and temp critical min hysteresis + enum sensors_subfeature_type SENSORS_SUBFEATURE_TEMP_MIN_HYST + enum sensors_subfeature_type SENSORS_SUBFEATURE_TEMP_LCRIT_HYST 0x432 lm-sensors 3.3.2 to 3.3.5 * Added support for new sysfs attributes
Signature · 7 lines
Jean Delvare SUSE L3 Support _______________________________________________ lm-sensors mailing list [email protected] http://lists.lm-sensors.org/mailman/listinfo/lm-sensors
Re: [lm-sensors] [PATCH 1/2] libsensors: Add support for temp[1-*]_min_hyst and temp[1-*]_lcrit_hyst
In reply to Jean DelvareQuoted 3 lines · Jean Delvare
Add support for sysfs attributes temp[1-*]_min_hyst (already implemented by drivers adt7x10, lm77 and lm92) and temp[1-*]_lcrit_hyst (no known users yet.)
Looks good. I'll see if I can test and the next patch later today or tomorrow.
For both patches:
_______________________________________________
lm-sensors mailing list
[email protected]
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors