Changeset 4551

Show
Ignore:
Timestamp:
07/05/07 07:27:35 (7 years ago)
Author:
jwrdegoede
Message:

Add abituguru3 support

Location:
lm-sensors/trunk
Files:
6 modified

Legend:

Unmodified
Added
Removed
  • lm-sensors/trunk/lib/access.c

    r4287 r4551  
    2121#include <string.h> 
    2222#include <math.h> 
     23#include <limits.h> 
    2324#include "access.h" 
    2425#include "sensors.h" 
     
    149150        const sensors_chip *chip; 
    150151        const sensors_chip_feature *featureptr; 
     152        char buf[128], path[PATH_MAX]; 
     153        FILE *f; 
    151154        int i; 
    152155 
     
    160163                for (i = 0; i < chip->labels_count; i++) 
    161164                        if (!strcasecmp(featureptr->data.name,chip->labels[i].name)){ 
    162                                 if (*result) 
    163                                         free(*result); 
    164                                 if (!(*result = strdup(chip->labels[i].value))) 
    165                                         sensors_fatal_error("sensors_get_label", 
    166                                                             "Allocating label text"); 
    167                                 return 0; 
    168                         } 
     165                                *result = strdup(chip->labels[i].value); 
     166                                goto sensors_get_label_exit; 
     167                        } 
     168 
     169        /* No user specified label, check for a _label sysfs file */ 
     170        snprintf(path, PATH_MAX, "%s/%s_label", name.busname, 
     171                featureptr->data.name); 
     172         
     173        if ((f = fopen(path, "r"))) { 
     174                i = fread(buf, 1, sizeof(buf) - 1, f); 
     175                fclose(f); 
     176                if (i > 0) { 
     177                        /* i - 1 to strip the '\n' at the end */ 
     178                        buf[i - 1] = 0; 
     179                        *result = strdup(buf); 
     180                        goto sensors_get_label_exit; 
     181                } 
     182        } 
    169183 
    170184        /* No label, return the feature name instead */ 
    171         if (!(*result = strdup(featureptr->data.name))) 
     185        *result = strdup(featureptr->data.name); 
     186         
     187sensors_get_label_exit: 
     188        if (*result == NULL) 
    172189                sensors_fatal_error("sensors_get_label", 
    173190                                    "Allocating label text"); 
  • lm-sensors/trunk/lib/chips.c

    r4537 r4551  
    59535953}; 
    59545954 
     5955static sensors_chip_feature abituguru3_features[] = 
     5956{ 
     5957        SENSORS_ABITUGURU_IN_FEATURES(0), 
     5958        SENSORS_ABITUGURU_IN_FEATURES(1), 
     5959        SENSORS_ABITUGURU_IN_FEATURES(2), 
     5960        SENSORS_ABITUGURU_IN_FEATURES(3), 
     5961        SENSORS_ABITUGURU_IN_FEATURES(4), 
     5962        SENSORS_ABITUGURU_IN_FEATURES(5), 
     5963        SENSORS_ABITUGURU_IN_FEATURES(6), 
     5964        SENSORS_ABITUGURU_IN_FEATURES(7), 
     5965        SENSORS_ABITUGURU_IN_FEATURES(8), 
     5966        SENSORS_ABITUGURU_IN_FEATURES(9), 
     5967        SENSORS_ABITUGURU_IN_FEATURES(10), 
     5968        SENSORS_ABITUGURU_IN_FEATURES(11), 
     5969        SENSORS_ABITUGURU_IN_FEATURES(12), 
     5970        SENSORS_ABITUGURU_IN_FEATURES(13), 
     5971        SENSORS_ABITUGURU_TEMP_FEATURES(1), 
     5972        SENSORS_ABITUGURU_TEMP_FEATURES(2), 
     5973        SENSORS_ABITUGURU_TEMP_FEATURES(3), 
     5974        SENSORS_ABITUGURU_TEMP_FEATURES(4), 
     5975        SENSORS_ABITUGURU_TEMP_FEATURES(5), 
     5976        SENSORS_ABITUGURU_TEMP_FEATURES(6), 
     5977        SENSORS_ABITUGURU_TEMP_FEATURES(7), 
     5978        SENSORS_ABITUGURU_FAN_FEATURES(1), 
     5979        SENSORS_ABITUGURU_FAN_FEATURES(2), 
     5980        SENSORS_ABITUGURU_FAN_FEATURES(3), 
     5981        SENSORS_ABITUGURU_FAN_FEATURES(4), 
     5982        SENSORS_ABITUGURU_FAN_FEATURES(5), 
     5983        SENSORS_ABITUGURU_FAN_FEATURES(6), 
     5984        SENSORS_ABITUGURU_FAN_FEATURES(7), 
     5985        SENSORS_ABITUGURU_FAN_FEATURES(8), 
     5986        { { 0 }, 0 } 
     5987}; 
     5988 
    59555989 
    59565990static sensors_chip_feature k8temp_features[] = 
     
    62196253 { SENSORS_F71872F_PREFIX, f71805f_features }, 
    62206254 { SENSORS_ABITUGURU_PREFIX, abituguru_features }, 
     6255 { SENSORS_ABITUGURU3_PREFIX, abituguru3_features }, 
    62216256 { SENSORS_K8TEMP_PREFIX, k8temp_features }, 
    62226257 { SENSORS_CORETEMP_PREFIX, coretemp_features }, 
  • lm-sensors/trunk/lib/chips.h

    r4456 r4551  
    22372237#define SENSORS_F71805F_ALARMS_TEMP     202 
    22382238 
    2239 /* Abit uGuru chip */ 
     2239/* Abit uGuru chips */ 
    22402240#define SENSORS_ABITUGURU_PREFIX "abituguru" 
     2241#define SENSORS_ABITUGURU3_PREFIX "abituguru3" 
    22412242 
    22422243/* in n from 0 to 10 */ 
  • lm-sensors/trunk/prog/sensors/chips.c

    r4504 r4551  
    58355835          !sensors_get_feature(*name, in_max_alarm, &alarm_high)) { 
    58365836        print_label(label, 23); 
    5837         printf("%+6.2f V (min %+6.2f V, max %+6.2f V)", 
     5837        printf("%+6.2f V  (min %+6.2f V, max %+6.2f V)", 
    58385838               cur, min, max); 
    58395839        if (alarm_low || alarm_high) { 
     
    58465846        } 
    58475847        printf("\n"); 
    5848       } else 
    5849         printf("ERROR: Can't get IN data! (0x%04x)\n", in); 
     5848      } 
    58505849    } 
    58515850    free(label); 
     
    58755874        else 
    58765875          printf("\n"); 
    5877       } else 
    5878         printf("ERROR: Can't get TEMP data! (0x%04x)\n", temp); 
     5876      } 
    58795877    } 
    58805878    free(label); 
     
    58985896          !sensors_get_feature(*name, fan_min, &min)) { 
    58995897        print_label(label, 23); 
    5900         printf("%4.0f RPM (min %4.0f RPM)               %s\n", 
     5898        printf("%4.0f RPM  (min %4.0f RPM)               %s\n", 
    59015899               cur, min, alarm ? "ALARM" : ""); 
    5902       } else 
    5903         printf("ERROR: Can't get FAN data! (0x%04x)\n", fan); 
     5900      } 
    59045901    } 
    59055902    free(label); 
     
    59225919 
    59235920  for (i=1; i<=6; i++) 
     5921    print_abituguru_fan(name, SENSORS_ABITUGURU_FAN(i), 
     5922      SENSORS_ABITUGURU_FAN_ALARM(i), SENSORS_ABITUGURU_FAN_MIN(i)); 
     5923} 
     5924 
     5925void print_abituguru3(const sensors_chip_name *name) 
     5926{ 
     5927  int i; 
     5928 
     5929  for (i=0; i<14; i++) 
     5930    print_abituguru_in(name, SENSORS_ABITUGURU_IN(i), 
     5931      SENSORS_ABITUGURU_IN_MIN(i), SENSORS_ABITUGURU_IN_MIN_ALARM(i), 
     5932      SENSORS_ABITUGURU_IN_MAX(i), SENSORS_ABITUGURU_IN_MAX_ALARM(i)); 
     5933 
     5934  for (i=1; i<=7; i++) 
     5935    print_abituguru_temp(name, SENSORS_ABITUGURU_TEMP(i), 
     5936      SENSORS_ABITUGURU_TEMP_ALARM(i), SENSORS_ABITUGURU_TEMP_MAX(i), 
     5937      SENSORS_ABITUGURU_TEMP_CRIT(i)); 
     5938 
     5939  for (i=1; i<=8; i++) 
    59245940    print_abituguru_fan(name, SENSORS_ABITUGURU_FAN(i), 
    59255941      SENSORS_ABITUGURU_FAN_ALARM(i), SENSORS_ABITUGURU_FAN_MIN(i)); 
  • lm-sensors/trunk/prog/sensors/chips.h

    r4390 r4551  
    7575extern void print_f71805f(const sensors_chip_name *name); 
    7676extern void print_abituguru(const sensors_chip_name *name); 
     77extern void print_abituguru3(const sensors_chip_name *name); 
    7778extern void print_k8temp(const sensors_chip_name *name); 
    7879extern void print_coretemp(const sensors_chip_name *name); 
  • lm-sensors/trunk/prog/sensors/main.c

    r4548 r4551  
    421421        { "f71872f", print_f71805f }, 
    422422        { "abituguru", print_abituguru }, 
     423        { "abituguru3", print_abituguru3 }, 
    423424        { "k8temp", print_k8temp }, 
    424425        { "coretemp", print_coretemp },