Changeset 4799

Show
Ignore:
Timestamp:
09/17/07 13:10:07 (1 year ago)
Author:
khali
Message:

Better thmc50/adm1022 support. Original patch by Krzysztof Helt.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • lm-sensors/trunk/CHANGES

    r4798 r4799  
    1414           Fix smsc47m192 temperature faults 
    1515           Add sch311x support 
     16           Add support for adm1022 temp3 
    1617  Makefile: Fix kernel version detection (#2187) 
    1718  Module fscher: Add missing read of control register (2.6 backport) 
     
    2122                   Add sch311x support 
    2223                   Hide error on missing dme1737 fan and pwm 
     24                   Add thmc50/adm1022 support 
    2325  Program sensors-detect: Don't probe i2c-isa as a regular i2c bus 
    2426                          Add Winbond W83L786NR/NG/R/G detection 
  • lm-sensors/trunk/lib/chips.c

    r4789 r4799  
    27572757                                         THMC50_SYSCTL_REMOTE_TEMP, VALUE(1),  
    27582758                                         0 }, 
     2759    { { SENSORS_ADM1022_REMOTE_TEMP2, "remote_temp2", NOMAP, NOMAP, R },  
     2760                                      NOSYSCTL, VALUE(3), 
     2761                                      0, "temp3_input", 3 }, 
     2762    { { SENSORS_ADM1022_REMOTE_TEMP2_HYST, "remote_temp2_hyst",  
     2763                                           SENSORS_ADM1022_REMOTE_TEMP2,  
     2764                                           SENSORS_ADM1022_REMOTE_TEMP2, RW },  
     2765                                           NOSYSCTL, VALUE(2),  
     2766                                           0, "temp3_min", 3 }, 
     2767    { { SENSORS_ADM1022_REMOTE_TEMP2_OVER, "remote2_temp_over",  
     2768                                           SENSORS_ADM1022_REMOTE_TEMP2,  
     2769                                           SENSORS_ADM1022_REMOTE_TEMP2, RW },  
     2770                                           NOSYSCTL, VALUE(1),  
     2771                                           0, "temp3_max", 3 }, 
    27592772    { { SENSORS_THMC50_ANALOG_OUT, "analog output", NOMAP, NOMAP, RW },  
    27602773                                   THMC50_SYSCTL_ANALOG_OUT, VALUE(1), 0, 
  • lm-sensors/trunk/lib/chips.h

    r4789 r4799  
    11921192#define SENSORS_THMC50_REMOTE_TEMP_HYST 55 /* RW */ 
    11931193#define SENSORS_THMC50_REMOTE_TEMP_OVER 56 /* RW */ 
     1194#define SENSORS_ADM1022_REMOTE_TEMP2 57 /* R */ 
     1195#define SENSORS_ADM1022_REMOTE_TEMP2_HYST 58 /* RW */ 
     1196#define SENSORS_ADM1022_REMOTE_TEMP2_OVER 59 /* RW */ 
    11941197#define SENSORS_THMC50_ANALOG_OUT 71 /* RW */ 
    11951198#define SENSORS_THMC50_INTER 81 /* R */ 
  • lm-sensors/trunk/prog/sensors/chips.c

    r4798 r4799  
    62526252} 
    62536253 
     6254void print_thmc50(const sensors_chip_name *name) 
     6255{ 
     6256  char *label; 
     6257  double cur, hyst, over; 
     6258  int valid; 
     6259 
     6260  if (!sensors_get_label_and_valid(*name, SENSORS_THMC50_TEMP, 
     6261                                   &label, &valid) && 
     6262      !sensors_get_feature(*name, SENSORS_THMC50_TEMP, &cur) && 
     6263      !sensors_get_feature(*name, SENSORS_THMC50_TEMP_HYST, &hyst) && 
     6264      !sensors_get_feature(*name, SENSORS_THMC50_TEMP_OVER, &over)) { 
     6265    if (valid) { 
     6266      print_label(label, 10); 
     6267      print_temp_info(cur, over, hyst, MINMAX, 0, 0); 
     6268      printf("\n"); 
     6269    } 
     6270  } else 
     6271    printf("ERROR: Can't get temperature1 data!\n"); 
     6272  free(label); 
     6273 
     6274  if (!sensors_get_label_and_valid(*name, SENSORS_THMC50_REMOTE_TEMP, 
     6275                                   &label, &valid) && 
     6276      !sensors_get_feature(*name, SENSORS_THMC50_REMOTE_TEMP, &cur) && 
     6277      !sensors_get_feature(*name, SENSORS_THMC50_REMOTE_TEMP_HYST, &hyst) && 
     6278      !sensors_get_feature(*name, SENSORS_THMC50_REMOTE_TEMP_OVER, &over)) { 
     6279    if (valid) { 
     6280      print_label(label, 10); 
     6281      print_temp_info(cur, over, hyst, MINMAX, 0, 0); 
     6282      printf("\n"); 
     6283    } 
     6284  } else 
     6285    printf("ERROR: Can't get temperature2 data!\n"); 
     6286  free(label); 
     6287 
     6288  if (!sensors_get_label_and_valid(*name, SENSORS_ADM1022_REMOTE_TEMP2, 
     6289                                   &label, &valid) && 
     6290      !sensors_get_feature(*name, SENSORS_ADM1022_REMOTE_TEMP2, &cur) && 
     6291      !sensors_get_feature(*name, SENSORS_ADM1022_REMOTE_TEMP2_HYST, &hyst) && 
     6292      !sensors_get_feature(*name, SENSORS_ADM1022_REMOTE_TEMP2_OVER, &over)) { 
     6293    if (valid) { 
     6294      print_label(label, 10); 
     6295      print_temp_info(cur, over, hyst, MINMAX, 0, 0); 
     6296      printf("\n"); 
     6297    } 
     6298  } 
     6299  /* No error if files are missing as it will happen for original thmc50 */ 
     6300  free(label); 
     6301} 
     6302 
    62546303void print_unknown_chip(const sensors_chip_name *name) 
    62556304{ 
  • lm-sensors/trunk/prog/sensors/chips.h

    r4563 r4799  
    8181extern void print_applesmc(const sensors_chip_name *name); 
    8282extern void print_f71882fg(const sensors_chip_name *name); 
     83extern void print_thmc50(const sensors_chip_name *name); 
    8384 
    8485#endif /* def PROG_SENSORS_CHIPS_H */ 
  • lm-sensors/trunk/prog/sensors/main.c

    r4789 r4799  
    428428        { "applesmc", print_applesmc }, 
    429429        { "f71882fg", print_f71882fg }, 
     430        { "thmc50", print_thmc50 }, 
     431        { "adm1022", print_thmc50 }, 
    430432        { NULL, NULL } 
    431433};