mirror of
https://github.com/lm-sensors/lm-sensors.git
synced 2026-11-13 17:00:15 +00:00
(mds) add lm87 support to 'sensors'. Rename SYSCTL_* values to standard
TEMP[1-3], etc. No fan2 support in driver yet. git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@953 7894878c-1315-0410-8ee3-d5d059ff63e0
This commit is contained in:
1 parent
6b26ed4118
commit
ab321d5243
6 files changed
+246
-53
No files matched your search
+21
-16
@@ -346,15 +346,17 @@ static ctl_table lm87_dir_table_template[] = {
|
||||
&sensors_sysctl_real, NULL, &lm87_in},
|
||||
{LM87_SYSCTL_IN5, "in5", NULL, 0, 0644, NULL, &sensors_proc_real,
|
||||
&sensors_sysctl_real, NULL, &lm87_in},
|
||||
{LM87_SYSCTL_FAN, "fan1", NULL, 0, 0644, NULL, &sensors_proc_real,
|
||||
{LM87_SYSCTL_FAN1, "fan1", NULL, 0, 0644, NULL, &sensors_proc_real,
|
||||
&sensors_sysctl_real, NULL, &lm87_fan},
|
||||
{LM87_SYSCTL_FRNT_TEMP, "temp1", NULL,
|
||||
{LM87_SYSCTL_FAN2, "fan2", NULL, 0, 0644, NULL, &sensors_proc_real,
|
||||
&sensors_sysctl_real, NULL, &lm87_fan},
|
||||
{LM87_SYSCTL_TEMP1, "temp1", NULL, 0, 0644, NULL, &sensors_proc_real,
|
||||
&sensors_sysctl_real, NULL, &lm87_temp},
|
||||
{LM87_SYSCTL_TEMP2, "temp2", NULL, 0, 0644, NULL, &sensors_proc_real,
|
||||
&sensors_sysctl_real, NULL, &lm87_temp},
|
||||
{LM87_SYSCTL_TEMP3, "temp3", NULL,
|
||||
0, 0644, NULL, &sensors_proc_real,
|
||||
&sensors_sysctl_real, NULL, &lm87_temp},
|
||||
{LM87_SYSCTL_CPU_TEMP, "temp2", NULL, 0, 0644, NULL, &sensors_proc_real,
|
||||
&sensors_sysctl_real, NULL, &lm87_temp},
|
||||
{LM87_SYSCTL_INT_TEMP, "temp3", NULL, 0, 0644, NULL, &sensors_proc_real,
|
||||
&sensors_sysctl_real, NULL, &lm87_temp},
|
||||
{LM87_SYSCTL_FAN_DIV, "fan_div", NULL,
|
||||
0, 0644, NULL, &sensors_proc_real,
|
||||
&sensors_sysctl_real, NULL, &lm87_fan_div},
|
||||
@@ -730,7 +732,10 @@ void lm87_fan(struct i2c_client *client, int operation, int ctl_name,
|
||||
int *nrels_mag, long *results)
|
||||
{
|
||||
struct lm87_data *data = client->data;
|
||||
int nr = ctl_name - LM87_SYSCTL_FAN + 1; /* not sure +1 needed */
|
||||
/*
|
||||
need to fix this function to handle both fans
|
||||
int nr = ctl_name - LM87_SYSCTL_FAN + 1;
|
||||
*/
|
||||
|
||||
if (operation == SENSORS_PROC_REAL_INFO)
|
||||
*nrels_mag = 0;
|
||||
@@ -765,19 +770,19 @@ void lm87_temp(struct i2c_client *client, int operation, int ctl_name,
|
||||
lm87_update_client(client);
|
||||
|
||||
/* find out which temp. is being requested */
|
||||
if (ctl_name == LM87_SYSCTL_FRNT_TEMP)
|
||||
if (ctl_name == LM87_SYSCTL_TEMP3)
|
||||
{
|
||||
results[0] = TEMP_LIMIT_FROM_REG(data->front_amb_temp_max);
|
||||
results[1] = TEMP_LIMIT_FROM_REG(data->front_amb_temp_min);
|
||||
results[2] = TEMP_FROM_REG(data->front_amb_temp);
|
||||
}
|
||||
else if(ctl_name == LM87_SYSCTL_CPU_TEMP)
|
||||
else if(ctl_name == LM87_SYSCTL_TEMP2)
|
||||
{
|
||||
results[0] = TEMP_LIMIT_FROM_REG(data->cpu_temp_max);
|
||||
results[1] = TEMP_LIMIT_FROM_REG(data->cpu_temp_min);
|
||||
results[2] = TEMP_FROM_REG(data->cpu_temp);
|
||||
}
|
||||
else if(ctl_name == LM87_SYSCTL_INT_TEMP)
|
||||
else if(ctl_name == LM87_SYSCTL_TEMP1)
|
||||
{
|
||||
results[0] = TEMP_LIMIT_FROM_REG(data->int_temp_max);
|
||||
results[1] = TEMP_LIMIT_FROM_REG(data->int_temp_min);
|
||||
@@ -786,36 +791,36 @@ void lm87_temp(struct i2c_client *client, int operation, int ctl_name,
|
||||
*nrels_mag = 3;
|
||||
} else if (operation == SENSORS_PROC_REAL_WRITE) {
|
||||
if (*nrels_mag >= 1) {
|
||||
if (ctl_name == LM87_SYSCTL_FRNT_TEMP) {
|
||||
if (ctl_name == LM87_SYSCTL_TEMP3) {
|
||||
data->front_amb_temp_max =
|
||||
TEMP_LIMIT_TO_REG(results[0]);
|
||||
lm87_write_value(client, LM87_REG_2_5V_EXT_TEMP_2_HIGH,
|
||||
data->front_amb_temp_max);
|
||||
}
|
||||
if (ctl_name == LM87_SYSCTL_CPU_TEMP) {
|
||||
if (ctl_name == LM87_SYSCTL_TEMP2) {
|
||||
data->cpu_temp_max = TEMP_LIMIT_TO_REG(results[0]);
|
||||
lm87_write_value(client, LM87_REG_EXT_TEMP_1_HIGH,
|
||||
data->int_temp_max);
|
||||
}
|
||||
if (ctl_name == LM87_SYSCTL_INT_TEMP) {
|
||||
if (ctl_name == LM87_SYSCTL_TEMP1) {
|
||||
data->int_temp_max = TEMP_LIMIT_TO_REG(results[0]);
|
||||
lm87_write_value(client, LM87_REG_INT_TEMP_HIGH,
|
||||
data->int_temp_max);
|
||||
}
|
||||
}
|
||||
if (*nrels_mag >= 2) {
|
||||
if (ctl_name == LM87_SYSCTL_FRNT_TEMP) {
|
||||
if (ctl_name == LM87_SYSCTL_TEMP3) {
|
||||
data->front_amb_temp_min =
|
||||
TEMP_LIMIT_TO_REG(results[0]);
|
||||
lm87_write_value(client, LM87_REG_2_5V_EXT_TEMP_2_LOW,
|
||||
data->front_amb_temp_min);
|
||||
}
|
||||
if (ctl_name == LM87_SYSCTL_CPU_TEMP) {
|
||||
if (ctl_name == LM87_SYSCTL_TEMP2) {
|
||||
data->cpu_temp_min = TEMP_LIMIT_TO_REG(results[0]);
|
||||
lm87_write_value(client, LM87_REG_EXT_TEMP_1_LOW,
|
||||
data->int_temp_min);
|
||||
}
|
||||
if (ctl_name == LM87_SYSCTL_INT_TEMP) {
|
||||
if (ctl_name == LM87_SYSCTL_TEMP1) {
|
||||
data->int_temp_min = TEMP_LIMIT_TO_REG(results[1]);
|
||||
lm87_write_value(client, LM87_REG_INT_TEMP_LOW,
|
||||
data->int_temp_min);
|
||||
|
||||
@@ -756,10 +756,11 @@ struct sensors_chips_data {
|
||||
#define LM87_SYSCTL_IN3 1003
|
||||
#define LM87_SYSCTL_IN4 1004
|
||||
#define LM87_SYSCTL_IN5 1005
|
||||
#define LM87_SYSCTL_FAN 1102
|
||||
#define LM87_SYSCTL_FRNT_TEMP 1250 /* Degrees Celcius * 100 */
|
||||
#define LM87_SYSCTL_CPU_TEMP 1251 /* Degrees Celcius * 100 */
|
||||
#define LM87_SYSCTL_INT_TEMP 1252 /* Degrees Celcius * 100 */
|
||||
#define LM87_SYSCTL_FAN1 1101
|
||||
#define LM87_SYSCTL_FAN2 1102
|
||||
#define LM87_SYSCTL_TEMP1 1250 /* Degrees Celcius * 100 */
|
||||
#define LM87_SYSCTL_TEMP2 1251 /* Degrees Celcius * 100 */
|
||||
#define LM87_SYSCTL_TEMP3 1252 /* Degrees Celcius * 100 */
|
||||
#define LM87_SYSCTL_FAN_DIV 2000 /* 1, 2, 4 or 8 */
|
||||
#define LM87_SYSCTL_ALARMS 2001 /* bitvector */
|
||||
#define LM87_SYSCTL_ANALOG_OUT 2002
|
||||
@@ -771,9 +772,11 @@ struct sensors_chips_data {
|
||||
#define LM87_ALARM_IN3 0x0008
|
||||
#define LM87_ALARM_IN4 0x0100
|
||||
#define LM87_ALARM_IN5 0x0200
|
||||
#define LM87_ALARM_AMB_TEMP 0x0040
|
||||
#define LM87_ALARM_TEMP1 0x0010
|
||||
#define LM87_ALARM_TEMP2 0x4020 /* include D1 fault */
|
||||
#define LM87_ALARM_TEMP3 0x8001 /* include D2 fault */
|
||||
#define LM87_ALARM_FAN1 0x0040
|
||||
#define LM87_ALARM_FAN2 0x0080
|
||||
#define LM87_ALARM_INT_TEMP 0x0010
|
||||
#define LM87_ALARM_CHAS 0x1000
|
||||
|
||||
#define PCF8574_SYSCTL_STAT 1000
|
||||
|
||||
+38
-21
@@ -1824,31 +1824,48 @@ static sensors_chip_feature lm87_features[] =
|
||||
{ SENSORS_LM87_IN5_MAX, "Vccp2_max", SENSORS_LM87_IN5,
|
||||
SENSORS_LM87_IN5, SENSORS_MODE_RW,
|
||||
LM87_SYSCTL_IN5, VALUE(2), 2 },
|
||||
{ SENSORS_LM87_FAN2_AIN2, "fan", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
|
||||
SENSORS_MODE_R, LM87_SYSCTL_FAN, VALUE(2), 0 },
|
||||
{ SENSORS_LM87_FAN1_AIN1_LIMIT, "fan1/ain1_limit", SENSORS_LM87_FAN1_AIN1,
|
||||
SENSORS_LM87_FAN1_AIN1, SENSORS_MODE_RW,
|
||||
LM87_SYSCTL_FAN, VALUE(1), 0 },
|
||||
{ SENSORS_LM87_FAN2_AIN2_LIMIT, "fan2/ain2_limit", SENSORS_LM87_FAN2_AIN2,
|
||||
SENSORS_LM87_FAN2_AIN2, SENSORS_MODE_RW,
|
||||
LM87_SYSCTL_FAN, VALUE(1), 0 },
|
||||
{ SENSORS_LM87_FRONT_TEMP, "frnt_amb_temp", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
|
||||
SENSORS_MODE_R, LM87_SYSCTL_FRNT_TEMP, VALUE(3), 1 },
|
||||
{ SENSORS_LM87_CPU_TEMP, "CPU_Temp", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
|
||||
SENSORS_MODE_R, LM87_SYSCTL_CPU_TEMP, VALUE(3), 1 },
|
||||
{ SENSORS_LM87_INT_TEMP, "int_temp", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
|
||||
SENSORS_MODE_R, LM87_SYSCTL_INT_TEMP, VALUE(3), 1 },
|
||||
{ SENSORS_LM87_INT_TEMP_HYST, "temp_hyst", SENSORS_LM87_INT_TEMP,
|
||||
SENSORS_LM87_INT_TEMP, SENSORS_MODE_RW,
|
||||
LM87_SYSCTL_INT_TEMP, VALUE(2), 1 },
|
||||
{ SENSORS_LM87_INT_TEMP_OVER, "temp_over", SENSORS_LM87_INT_TEMP,
|
||||
SENSORS_LM87_INT_TEMP, SENSORS_MODE_RW,
|
||||
LM87_SYSCTL_INT_TEMP, VALUE(1), 1 },
|
||||
{ SENSORS_LM87_FAN1, "fan1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
|
||||
SENSORS_MODE_R, LM87_SYSCTL_FAN1, VALUE(2), 0 },
|
||||
{ SENSORS_LM87_FAN2, "fan2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
|
||||
SENSORS_MODE_R, LM87_SYSCTL_FAN2, VALUE(2), 0 },
|
||||
{ SENSORS_LM87_FAN1_MIN, "fan1 min", SENSORS_LM87_FAN1,
|
||||
SENSORS_LM87_FAN1, SENSORS_MODE_RW,
|
||||
LM87_SYSCTL_FAN1, VALUE(1), 0 },
|
||||
{ SENSORS_LM87_FAN2_MIN, "fan2 min", SENSORS_LM87_FAN2,
|
||||
SENSORS_LM87_FAN2, SENSORS_MODE_RW,
|
||||
LM87_SYSCTL_FAN2, VALUE(1), 0 },
|
||||
{ SENSORS_LM87_TEMP3, "temp3", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
|
||||
SENSORS_MODE_R, LM87_SYSCTL_TEMP3, VALUE(3), 1 },
|
||||
{ SENSORS_LM87_TEMP2, "CPU Temp", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
|
||||
SENSORS_MODE_R, LM87_SYSCTL_TEMP2, VALUE(3), 1 },
|
||||
{ SENSORS_LM87_TEMP1, "temp1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
|
||||
SENSORS_MODE_R, LM87_SYSCTL_TEMP1, VALUE(3), 1 },
|
||||
{ SENSORS_LM87_TEMP1_HYST, "temp_hyst", SENSORS_LM87_TEMP1,
|
||||
SENSORS_LM87_TEMP1, SENSORS_MODE_RW,
|
||||
LM87_SYSCTL_TEMP1, VALUE(2), 1 },
|
||||
{ SENSORS_LM87_TEMP1_OVER, "temp_over", SENSORS_LM87_TEMP1,
|
||||
SENSORS_LM87_TEMP1, SENSORS_MODE_RW,
|
||||
LM87_SYSCTL_TEMP1, VALUE(1), 1 },
|
||||
{ SENSORS_LM87_TEMP2_HYST, "temp_hyst", SENSORS_LM87_TEMP2,
|
||||
SENSORS_LM87_TEMP2, SENSORS_MODE_RW,
|
||||
LM87_SYSCTL_TEMP2, VALUE(2), 1 },
|
||||
{ SENSORS_LM87_TEMP2_OVER, "temp_over", SENSORS_LM87_TEMP2,
|
||||
SENSORS_LM87_TEMP2, SENSORS_MODE_RW,
|
||||
LM87_SYSCTL_TEMP2, VALUE(1), 1 },
|
||||
{ SENSORS_LM87_TEMP3_HYST, "temp_hyst", SENSORS_LM87_TEMP3,
|
||||
SENSORS_LM87_TEMP3, SENSORS_MODE_RW,
|
||||
LM87_SYSCTL_TEMP3, VALUE(2), 1 },
|
||||
{ SENSORS_LM87_TEMP3_OVER, "temp_over", SENSORS_LM87_TEMP3,
|
||||
SENSORS_LM87_TEMP3, SENSORS_MODE_RW,
|
||||
LM87_SYSCTL_TEMP3, VALUE(1), 1 },
|
||||
{ SENSORS_LM87_VID, "vid", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
|
||||
SENSORS_MODE_R, LM87_SYSCTL_VID, VALUE(1), 2 },
|
||||
{ SENSORS_LM87_FAN_DIV, "fan_div", SENSORS_LM87_FAN2_AIN2,
|
||||
{ SENSORS_LM87_FAN1_DIV, "fan_div", SENSORS_LM87_FAN1,
|
||||
SENSORS_NO_MAPPING, SENSORS_MODE_RW,
|
||||
LM87_SYSCTL_FAN_DIV, VALUE(1), 0 },
|
||||
{ SENSORS_LM87_FAN2_DIV, "fan_div", SENSORS_LM87_FAN2,
|
||||
SENSORS_NO_MAPPING, SENSORS_MODE_RW,
|
||||
LM87_SYSCTL_FAN_DIV, VALUE(2), 0 },
|
||||
{ SENSORS_LM87_ALARMS, "alarms", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,
|
||||
SENSORS_MODE_R, LM87_SYSCTL_ALARMS, VALUE(1), 0 },
|
||||
{ SENSORS_LM87_ANALOG_OUT, "analog_out", SENSORS_NO_MAPPING,
|
||||
|
||||
+15
-10
@@ -840,17 +840,22 @@
|
||||
#define SENSORS_LM87_IN3_MAX 24 /* RW */
|
||||
#define SENSORS_LM87_IN4_MAX 25 /* RW */
|
||||
#define SENSORS_LM87_IN5_MAX 26 /* RW */
|
||||
#define SENSORS_LM87_FAN1_AIN1 31 /* R */
|
||||
#define SENSORS_LM87_FAN2_AIN2 32 /* R */
|
||||
#define SENSORS_LM87_FAN1_AIN1_LIMIT 41 /* RW */
|
||||
#define SENSORS_LM87_FAN2_AIN2_LIMIT 42 /* RW */
|
||||
#define SENSORS_LM87_FRONT_TEMP 51 /* R */
|
||||
#define SENSORS_LM87_CPU_TEMP 52 /* R */
|
||||
#define SENSORS_LM87_INT_TEMP 53 /* R */
|
||||
#define SENSORS_LM87_INT_TEMP_HYST 54 /* RW */
|
||||
#define SENSORS_LM87_INT_TEMP_OVER 55 /* RW */
|
||||
#define SENSORS_LM87_FAN1 31 /* R */
|
||||
#define SENSORS_LM87_FAN2 32 /* R */
|
||||
#define SENSORS_LM87_FAN1_MIN 41 /* RW */
|
||||
#define SENSORS_LM87_FAN2_MIN 42 /* RW */
|
||||
#define SENSORS_LM87_TEMP1 51 /* R */
|
||||
#define SENSORS_LM87_TEMP2 52 /* R */
|
||||
#define SENSORS_LM87_TEMP3 53 /* R */
|
||||
#define SENSORS_LM87_TEMP1_HYST 54 /* RW */
|
||||
#define SENSORS_LM87_TEMP1_OVER 55 /* RW */
|
||||
#define SENSORS_LM87_TEMP2_HYST 56 /* RW */
|
||||
#define SENSORS_LM87_TEMP2_OVER 57 /* RW */
|
||||
#define SENSORS_LM87_TEMP3_HYST 58 /* RW */
|
||||
#define SENSORS_LM87_TEMP3_OVER 59 /* RW */
|
||||
#define SENSORS_LM87_VID 61 /* R */
|
||||
#define SENSORS_LM87_FAN_DIV 71 /* RW */
|
||||
#define SENSORS_LM87_FAN1_DIV 71 /* RW */
|
||||
#define SENSORS_LM87_FAN2_DIV 72 /* RW */
|
||||
#define SENSORS_LM87_ALARMS 81 /* R */
|
||||
#define SENSORS_LM87_ANALOG_OUT 82 /* RW */
|
||||
|
||||
|
||||
@@ -1277,6 +1277,167 @@ void print_lm80(const sensors_chip_name *name)
|
||||
free_the_label(&label);
|
||||
}
|
||||
|
||||
void print_lm87(const sensors_chip_name *name)
|
||||
{
|
||||
char *label = NULL;
|
||||
double cur,min,max,fdiv;
|
||||
int alarms,valid;
|
||||
|
||||
if (!sensors_get_feature(*name,SENSORS_LM87_ALARMS,&cur))
|
||||
alarms = cur + 0.5;
|
||||
else {
|
||||
printf("ERROR: Can't get alarm data!\n");
|
||||
alarms = 0;
|
||||
}
|
||||
|
||||
|
||||
if (!sensors_get_label_and_valid(*name,SENSORS_LM87_IN0,&label,&valid) &&
|
||||
!sensors_get_feature(*name,SENSORS_LM87_IN0,&cur) &&
|
||||
!sensors_get_feature(*name,SENSORS_LM87_IN0_MIN,&min) &&
|
||||
!sensors_get_feature(*name,SENSORS_LM87_IN0_MAX,&max)) {
|
||||
if (valid) {
|
||||
print_label(label,10);
|
||||
printf("%+6.2f V (min = %+6.2f V, max = %+6.2f V) %s\n",
|
||||
cur,min,max,alarms&LM87_ALARM_IN0?"ALARM":"");
|
||||
}
|
||||
} else
|
||||
printf("ERROR: Can't get IN0 data!\n");
|
||||
free_the_label(&label);
|
||||
if (!sensors_get_label_and_valid(*name,SENSORS_LM87_IN1,&label,&valid) &&
|
||||
!sensors_get_feature(*name,SENSORS_LM87_IN1,&cur) &&
|
||||
!sensors_get_feature(*name,SENSORS_LM87_IN1_MIN,&min) &&
|
||||
!sensors_get_feature(*name,SENSORS_LM87_IN1_MAX,&max)) {
|
||||
if (valid) {
|
||||
print_label(label,10);
|
||||
printf("%+6.2f V (min = %+6.2f V, max = %+6.2f V) %s\n",
|
||||
cur,min,max,alarms&LM87_ALARM_IN1?"ALARM":"");
|
||||
}
|
||||
} else
|
||||
printf("ERROR: Can't get IN1 data!\n");
|
||||
free_the_label(&label);
|
||||
if (!sensors_get_label_and_valid(*name,SENSORS_LM87_IN2,&label,&valid) &&
|
||||
!sensors_get_feature(*name,SENSORS_LM87_IN2,&cur) &&
|
||||
!sensors_get_feature(*name,SENSORS_LM87_IN2_MIN,&min) &&
|
||||
!sensors_get_feature(*name,SENSORS_LM87_IN2_MAX,&max)) {
|
||||
if (valid) {
|
||||
print_label(label,10);
|
||||
printf("%+6.2f V (min = %+6.2f V, max = %+6.2f V) %s\n",
|
||||
cur,min,max,alarms&LM87_ALARM_IN2?"ALARM":"");
|
||||
}
|
||||
} else
|
||||
printf("ERROR: Can't get IN2 data!\n");
|
||||
free_the_label(&label);
|
||||
if (!sensors_get_label_and_valid(*name,SENSORS_LM87_IN3,&label,&valid) &&
|
||||
!sensors_get_feature(*name,SENSORS_LM87_IN3,&cur) &&
|
||||
!sensors_get_feature(*name,SENSORS_LM87_IN3_MIN,&min) &&
|
||||
!sensors_get_feature(*name,SENSORS_LM87_IN3_MAX,&max)) {
|
||||
if (valid) {
|
||||
print_label(label,10);
|
||||
printf("%+6.2f V (min = %+6.2f V, max = %+6.2f V) %s\n",
|
||||
cur,min,max,alarms&LM87_ALARM_IN3?"ALARM":"");
|
||||
}
|
||||
} else
|
||||
printf("ERROR: Can't get IN3 data!\n");
|
||||
free_the_label(&label);
|
||||
if (!sensors_get_label_and_valid(*name,SENSORS_LM87_IN4,&label,&valid) &&
|
||||
!sensors_get_feature(*name,SENSORS_LM87_IN4,&cur) &&
|
||||
!sensors_get_feature(*name,SENSORS_LM87_IN4_MIN,&min) &&
|
||||
!sensors_get_feature(*name,SENSORS_LM87_IN4_MAX,&max)) {
|
||||
if (valid) {
|
||||
print_label(label,10);
|
||||
printf("%+6.2f V (min = %+6.2f V, max = %+6.2f V) %s\n",
|
||||
cur,min,max,alarms&LM87_ALARM_IN4?"ALARM":"");
|
||||
}
|
||||
} else
|
||||
printf("ERROR: Can't get IN4 data!\n");
|
||||
free_the_label(&label);
|
||||
if (!sensors_get_label_and_valid(*name,SENSORS_LM87_IN5,&label,&valid) &&
|
||||
!sensors_get_feature(*name,SENSORS_LM87_IN5,&cur) &&
|
||||
!sensors_get_feature(*name,SENSORS_LM87_IN5_MIN,&min) &&
|
||||
!sensors_get_feature(*name,SENSORS_LM87_IN5_MAX,&max)) {
|
||||
if (valid) {
|
||||
print_label(label,10);
|
||||
printf("%+6.2f V (min = %+6.2f V, max = %+6.2f V) %s\n",
|
||||
cur,min,max,alarms&LM87_ALARM_IN5?"ALARM":"");
|
||||
}
|
||||
} else
|
||||
printf("ERROR: Can't get IN5 data!\n");
|
||||
free_the_label(&label);
|
||||
|
||||
if (!sensors_get_label_and_valid(*name,SENSORS_LM87_FAN1,&label,&valid) &&
|
||||
!sensors_get_feature(*name,SENSORS_LM87_FAN1,&cur) &&
|
||||
!sensors_get_feature(*name,SENSORS_LM87_FAN1_DIV,&fdiv) &&
|
||||
!sensors_get_feature(*name,SENSORS_LM87_FAN1_MIN,&min)) {
|
||||
if (valid) {
|
||||
print_label(label,10);
|
||||
printf("%4.0f RPM (min = %4.0f RPM, div = %1.0f) %s\n",
|
||||
cur,min,fdiv, alarms&LM87_ALARM_FAN1?"ALARM":"");
|
||||
}
|
||||
} else
|
||||
printf("ERROR: Can't get FAN1 data!\n");
|
||||
free_the_label(&label);
|
||||
if (!sensors_get_label_and_valid(*name,SENSORS_LM87_FAN2,&label,&valid) &&
|
||||
!sensors_get_feature(*name,SENSORS_LM87_FAN2,&cur) &&
|
||||
!sensors_get_feature(*name,SENSORS_LM87_FAN2_DIV,&fdiv) &&
|
||||
!sensors_get_feature(*name,SENSORS_LM87_FAN2_MIN,&min)) {
|
||||
if (valid) {
|
||||
print_label(label,10);
|
||||
printf("%4.0f RPM (min = %4.0f RPM, div = %1.0f) %s\n",
|
||||
cur,min,fdiv, alarms&LM87_ALARM_FAN2 ?"ALARM":"");
|
||||
}
|
||||
} else
|
||||
printf("ERROR: Can't get FAN2 data!\n");
|
||||
free_the_label(&label);
|
||||
|
||||
if (!sensors_get_label_and_valid(*name,SENSORS_LM87_TEMP1,&label,&valid) &&
|
||||
!sensors_get_feature(*name,SENSORS_LM87_TEMP1,&cur) &&
|
||||
!sensors_get_feature(*name,SENSORS_LM87_TEMP1_HYST,&min) &&
|
||||
!sensors_get_feature(*name,SENSORS_LM87_TEMP1_OVER,&max)) {
|
||||
if (valid) {
|
||||
print_label(label,10);
|
||||
print_temp_info( cur, max, min, MINMAX );
|
||||
printf(" %s\n", alarms&LM87_ALARM_TEMP1?"ALARM":"");
|
||||
}
|
||||
} else
|
||||
printf("ERROR: Can't get TEMP1 data!\n");
|
||||
free_the_label(&label);
|
||||
|
||||
if (!sensors_get_label_and_valid(*name,SENSORS_LM87_TEMP2,&label,&valid) &&
|
||||
!sensors_get_feature(*name,SENSORS_LM87_TEMP2,&cur) &&
|
||||
!sensors_get_feature(*name,SENSORS_LM87_TEMP2_HYST,&min) &&
|
||||
!sensors_get_feature(*name,SENSORS_LM87_TEMP2_OVER,&max)) {
|
||||
if (valid) {
|
||||
print_label(label,10);
|
||||
print_temp_info( cur, max, min, MINMAX );
|
||||
printf(" %s\n", alarms&LM87_ALARM_TEMP2?"ALARM":"");
|
||||
}
|
||||
} else
|
||||
printf("ERROR: Can't get TEMP2 data!\n");
|
||||
free_the_label(&label);
|
||||
|
||||
if (!sensors_get_label_and_valid(*name,SENSORS_LM87_TEMP3,&label,&valid) &&
|
||||
!sensors_get_feature(*name,SENSORS_LM87_TEMP3,&cur) &&
|
||||
!sensors_get_feature(*name,SENSORS_LM87_TEMP3_HYST,&min) &&
|
||||
!sensors_get_feature(*name,SENSORS_LM87_TEMP3_OVER,&max)) {
|
||||
if (valid) {
|
||||
print_label(label,10);
|
||||
print_temp_info( cur, max, min, MINMAX );
|
||||
printf(" %s\n", alarms&LM87_ALARM_TEMP3?"ALARM":"");
|
||||
}
|
||||
} else
|
||||
printf("ERROR: Can't get TEMP3 data!\n");
|
||||
free_the_label(&label);
|
||||
|
||||
if (!sensors_get_label_and_valid(*name,SENSORS_LM87_VID,&label,&valid) &&
|
||||
!sensors_get_feature(*name,SENSORS_LM87_VID,&cur)) {
|
||||
if (valid) {
|
||||
print_label(label,10);
|
||||
printf("%+6.2f V\n",cur);
|
||||
}
|
||||
}
|
||||
free_the_label(&label);
|
||||
}
|
||||
|
||||
void print_mtp008(const sensors_chip_name *name)
|
||||
{
|
||||
char *label = NULL;
|
||||
|
||||
@@ -294,6 +294,8 @@ void do_a_print(sensors_chip_name name)
|
||||
print_via686a(&name);
|
||||
else if (!strcmp(name.prefix,"lm80"))
|
||||
print_lm80(&name);
|
||||
else if (!strcmp(name.prefix,"lm87"))
|
||||
print_lm87(&name);
|
||||
else if (!strcmp(name.prefix,"gl518sm"))
|
||||
print_gl518(&name);
|
||||
else if (!strcmp(name.prefix,"adm1025"))
|
||||
|
||||
Reference in new issue
Block a user