From 9369900b308811fe3603394bc62b8a33423ad14e Mon Sep 17 00:00:00 2001 From: Jean Delvare Date: Thu, 27 Jan 2005 22:05:40 +0000 Subject: [PATCH] No errors on missing pc87360 fans (can happen with the 2.6 driver). git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@2878 7894878c-1315-0410-8ee3-d5d059ff63e0 --- prog/sensors/chips.c | 43 +++++++++++++------------------------------ 1 file changed, 13 insertions(+), 30 deletions(-) diff --git a/prog/sensors/chips.c b/prog/sensors/chips.c index 239a5b9f..57a17f97 100644 --- a/prog/sensors/chips.c +++ b/prog/sensors/chips.c @@ -3916,44 +3916,33 @@ void print_smsc47m1(const sensors_chip_name *name) void print_pc87360(const sensors_chip_name *name) { char *label = NULL; - double cur, min, fdiv; + double cur, min, fdiv, tmp; int status, valid; - if (!sensors_get_feature(*name, SENSORS_PC87360_FAN1_STATUS, &cur)) - status = cur + 0.5; - else { - printf("ERROR: Can't get FAN1 status data!\n"); - status = 0; - } - if (!sensors_get_label_and_valid(*name, SENSORS_PC87360_FAN1, &label, &valid) && !sensors_get_feature(*name, SENSORS_PC87360_FAN1, &cur) && !sensors_get_feature(*name, SENSORS_PC87360_FAN1_DIV, &fdiv) - && !sensors_get_feature(*name, SENSORS_PC87360_FAN1_MIN, &min)) { + && !sensors_get_feature(*name, SENSORS_PC87360_FAN1_MIN, &min) + && !sensors_get_feature(*name, SENSORS_PC87360_FAN1_STATUS, &tmp)) { if (valid) { print_label(label, 10); + status = tmp + 0.5; printf("%4.0f RPM (min = %4.0f RPM, div = %1.0f) %s\n", cur, min, fdiv, status&PC87360_STATUS_FAN_OVERFLOW?"OVERFLOW": status&PC87360_STATUS_FAN_LOW?"ALARM":""); } - } else - printf("ERROR: Can't get FAN1 data!\n"); - free_the_label(&label); - - if (!sensors_get_feature(*name, SENSORS_PC87360_FAN2_STATUS, &cur)) - status = cur + 0.5; - else { - printf("ERROR: Can't get FAN2 status data!\n"); - status = 0; } + free_the_label(&label); if (!sensors_get_label_and_valid(*name, SENSORS_PC87360_FAN2, &label, &valid) && !sensors_get_feature(*name, SENSORS_PC87360_FAN2, &cur) && !sensors_get_feature(*name, SENSORS_PC87360_FAN2_DIV, &fdiv) - && !sensors_get_feature(*name, SENSORS_PC87360_FAN2_MIN, &min)) { + && !sensors_get_feature(*name, SENSORS_PC87360_FAN2_MIN, &min) + && !sensors_get_feature(*name, SENSORS_PC87360_FAN2_STATUS, &tmp)) { if (valid) { print_label(label, 10); + status = tmp + 0.5; printf("%4.0f RPM (min = %4.0f RPM, div = %1.0f) %s\n", cur, min, fdiv, status&PC87360_STATUS_FAN_OVERFLOW?"OVERFLOW": @@ -3967,31 +3956,25 @@ void print_pc87360(const sensors_chip_name *name) void print_pc87364(const sensors_chip_name *name) { char *label = NULL; - double cur, min, fdiv; + double cur, min, fdiv, tmp; int status, valid; print_pc87360(name); - if (!sensors_get_feature(*name, SENSORS_PC87360_FAN3_STATUS, &cur)) - status = cur + 0.5; - else { - printf("ERROR: Can't get FAN3 status data!\n"); - status = 0; - } - if (!sensors_get_label_and_valid(*name, SENSORS_PC87360_FAN3, &label, &valid) && !sensors_get_feature(*name, SENSORS_PC87360_FAN3, &cur) && !sensors_get_feature(*name, SENSORS_PC87360_FAN3_DIV, &fdiv) - && !sensors_get_feature(*name, SENSORS_PC87360_FAN3_MIN, &min)) { + && !sensors_get_feature(*name, SENSORS_PC87360_FAN3_MIN, &min) + && !sensors_get_feature(*name, SENSORS_PC87360_FAN3_STATUS, &tmp)) { if (valid) { print_label(label, 10); + status = tmp + 0.5; printf("%4.0f RPM (min = %4.0f RPM, div = %1.0f) %s\n", cur, min, fdiv, status&PC87360_STATUS_FAN_OVERFLOW?"OVERFLOW": status&PC87360_STATUS_FAN_LOW?"ALARM":""); } - } else - printf("ERROR: Can't get FAN3 data!\n"); + } free_the_label(&label); }