Add support for fan[1-*]_max, fan[1-*]_min_alarm and fan[1-*]_max_alarm

attributes. These are defined in the standard sysfs interface for quite
some time, and at least three drivers (max6650, lm63 and applesmc)
implement them so we should support them.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@6029 7894878c-1315-0410-8ee3-d5d059ff63e0
This commit is contained in:
Jean Delvare committed 2012-03-06 07:34:13 +00:00
1 parent 8695f0f515
commit a3e40509e0
4 files changed
+34 -13

No files matched your search

+3
View File
@@ -16,6 +16,9 @@ SVN HEAD
enum sensors_subfeature_type SENSORS_SUBFEATURE_CURR_AVERAGE
enum sensors_subfeature_type SENSORS_SUBFEATURE_CURR_LOWEST
enum sensors_subfeature_type SENSORS_SUBFEATURE_CURR_HIGHEST
enum sensors_subfeature_type SENSORS_SUBFEATURE_FAN_MAX
enum sensors_subfeature_type SENSORS_SUBFEATURE_FAN_MIN_ALARM
enum sensors_subfeature_type SENSORS_SUBFEATURE_FAN_MAX_ALARM
0x431 lm-sensors 3.3.0 to 3.3.1
* Added support for intrusion detection
enum sensors_feature_type SENSORS_FEATURE_INTRUSION
+3
View File
@@ -169,11 +169,14 @@ typedef enum sensors_subfeature_type {
SENSORS_SUBFEATURE_FAN_INPUT = SENSORS_FEATURE_FAN << 8,
SENSORS_SUBFEATURE_FAN_MIN,
SENSORS_SUBFEATURE_FAN_MAX,
SENSORS_SUBFEATURE_FAN_ALARM = (SENSORS_FEATURE_FAN << 8) | 0x80,
SENSORS_SUBFEATURE_FAN_FAULT,
SENSORS_SUBFEATURE_FAN_DIV,
SENSORS_SUBFEATURE_FAN_BEEP,
SENSORS_SUBFEATURE_FAN_PULSES,
SENSORS_SUBFEATURE_FAN_MIN_ALARM,
SENSORS_SUBFEATURE_FAN_MAX_ALARM,
SENSORS_SUBFEATURE_TEMP_INPUT = SENSORS_FEATURE_TEMP << 8,
SENSORS_SUBFEATURE_TEMP_MAX,
+3
View File
@@ -271,9 +271,12 @@ static const struct subfeature_type_match in_matches[] = {
static const struct subfeature_type_match fan_matches[] = {
{ "input", SENSORS_SUBFEATURE_FAN_INPUT },
{ "min", SENSORS_SUBFEATURE_FAN_MIN },
{ "max", SENSORS_SUBFEATURE_FAN_MAX },
{ "div", SENSORS_SUBFEATURE_FAN_DIV },
{ "pulses", SENSORS_SUBFEATURE_FAN_PULSES },
{ "alarm", SENSORS_SUBFEATURE_FAN_ALARM },
{ "min_alarm", SENSORS_SUBFEATURE_FAN_MIN_ALARM },
{ "max_alarm", SENSORS_SUBFEATURE_FAN_MAX_ALARM },
{ "fault", SENSORS_SUBFEATURE_FAN_FAULT },
{ "beep", SENSORS_SUBFEATURE_FAN_BEEP },
{ NULL, 0 }
+25 -13
View File
@@ -408,7 +408,7 @@ static void print_chip_fan(const sensors_chip_name *name,
const sensors_feature *feature,
int label_size)
{
const sensors_subfeature *sf, *sfmin, *sfdiv;
const sensors_subfeature *sf, *sfmin, *sfmax, *sfdiv;
double val;
char *label;
@@ -435,24 +435,36 @@ static void print_chip_fan(const sensors_chip_name *name,
sfmin = sensors_get_subfeature(name, feature,
SENSORS_SUBFEATURE_FAN_MIN);
sfmax = sensors_get_subfeature(name, feature,
SENSORS_SUBFEATURE_FAN_MAX);
sfdiv = sensors_get_subfeature(name, feature,
SENSORS_SUBFEATURE_FAN_DIV);
if (sfmin && sfdiv)
printf(" (min = %4.0f RPM, div = %1.0f)",
get_value(name, sfmin),
get_value(name, sfdiv));
else if (sfmin)
printf(" (min = %4.0f RPM)",
get_value(name, sfmin));
else if (sfdiv)
printf(" (div = %1.0f)",
get_value(name, sfdiv));
if (sfmin || sfmax || sfdiv) {
printf(" (");
if (sfmin)
printf("min = %4.0f RPM",
get_value(name, sfmin));
if (sfmax)
printf("%smax = %4.0f RPM",
sfmin ? ", " : "",
get_value(name, sfmax));
if (sfdiv)
printf("%sdiv = %1.0f",
(sfmin || sfmax) ? ", " : "",
get_value(name, sfdiv));
printf(")");
}
sf = sensors_get_subfeature(name, feature,
SENSORS_SUBFEATURE_FAN_ALARM);
if (sf && get_value(name, sf)) {
sfmin = sensors_get_subfeature(name, feature,
SENSORS_SUBFEATURE_FAN_MIN_ALARM);
sfmax = sensors_get_subfeature(name, feature,
SENSORS_SUBFEATURE_FAN_MAX_ALARM);
if ((sf && get_value(name, sf)) ||
(sfmin && get_value(name, sfmin)) ||
(sfmax && get_value(name, sfmax)))
printf(" ALARM");
}
printf("\n");
}