Changeset 1978

Show
Ignore:
Timestamp:
08/25/03 02:11:02 (10 years ago)
Author:
mds
Message:

add xeontemp driver

Location:
lm-sensors/trunk
Files:
2 added
7 modified

Legend:

Unmodified
Added
Removed
  • lm-sensors/trunk/CHANGES

    r1976 r1978  
    6161  Module saa1064: New 
    6262  Module w83781d: Enhance chip detection 
     63  Module xeontemp: New 
    6364  Program decode-dimms.pl: Add Direct Rambus (DRDRAM) 
    6465                           Mark Rambus as unsupported 
  • lm-sensors/trunk/kernel/chips/Module.mk

    r1960 r1978  
    3030endif 
    3131KERNELCHIPSTARGETS += $(MODULE_DIR)/ds1307.o 
     32KERNELCHIPSTARGETS += $(MODULE_DIR)/lm83.o 
     33KERNELCHIPSTARGETS += $(MODULE_DIR)/lm90.o 
     34KERNELCHIPSTARGETS += $(MODULE_DIR)/saa1064.o 
    3235KERNELCHIPSTARGETS += $(MODULE_DIR)/smartbatt.o 
    3336KERNELCHIPSTARGETS += $(MODULE_DIR)/smbus-arp.o 
    3437KERNELCHIPSTARGETS += $(MODULE_DIR)/vt8231.o 
    3538KERNELCHIPSTARGETS += $(MODULE_DIR)/w83627hf.o 
    36 KERNELCHIPSTARGETS += $(MODULE_DIR)/lm83.o 
    37 KERNELCHIPSTARGETS += $(MODULE_DIR)/saa1064.o 
    38 KERNELCHIPSTARGETS += $(MODULE_DIR)/lm90.o 
     39KERNELCHIPSTARGETS += $(MODULE_DIR)/xeontemp.o 
    3940 
    4041 
  • lm-sensors/trunk/lib/chips.c

    r1971 r1978  
    44254425  }; 
    44264426 
     4427static sensors_chip_feature xeontemp_features[] = 
     4428  { 
     4429    { SENSORS_XEONTEMP_REMOTE_TEMP, "temp", SENSORS_NO_MAPPING,  
     4430                              SENSORS_NO_MAPPING, SENSORS_MODE_R,  
     4431                              XEONTEMP_SYSCTL_REMOTE_TEMP, VALUE(3), 0 }, 
     4432    { SENSORS_XEONTEMP_REMOTE_TEMP_HYST, "temp_low",  
     4433                              SENSORS_XEONTEMP_REMOTE_TEMP, 
     4434                              SENSORS_XEONTEMP_REMOTE_TEMP, SENSORS_MODE_RW,  
     4435                              XEONTEMP_SYSCTL_REMOTE_TEMP, VALUE(2), 0 }, 
     4436    { SENSORS_XEONTEMP_REMOTE_TEMP_OVER, "temp_over",  
     4437                              SENSORS_XEONTEMP_REMOTE_TEMP, 
     4438                              SENSORS_XEONTEMP_REMOTE_TEMP, SENSORS_MODE_RW, 
     4439                              XEONTEMP_SYSCTL_REMOTE_TEMP, VALUE(1), 0 }, 
     4440    { SENSORS_XEONTEMP_ALARMS, "alarms", SENSORS_NO_MAPPING, 
     4441                              SENSORS_NO_MAPPING, SENSORS_MODE_R, 
     4442                              XEONTEMP_SYSCTL_ALARMS, VALUE(1), 0 }, 
     4443    { 0 } 
     4444  }; 
     4445 
    44274446sensors_chip_features sensors_chip_features_list[] = 
    44284447{ 
     
    44924511 { SENSORS_LM83_PREFIX, lm83_features }, 
    44934512 { SENSORS_LM90_PREFIX, lm90_features }, 
     4513 { SENSORS_XEONTEMP_PREFIX, xeontemp_features }, 
    44944514 { 0 } 
    44954515}; 
  • lm-sensors/trunk/lib/chips.h

    r1971 r1978  
    16491649#define SENSORS_BMC_CURR1_MAX 3201 /* RW */ 
    16501650 
     1651#define SENSORS_XEONTEMP_PREFIX "xeontemp" 
     1652 
     1653#define SENSORS_XEONTEMP_REMOTE_TEMP 54 /* R */ 
     1654#define SENSORS_XEONTEMP_REMOTE_TEMP_HYST 55 /* RW */ 
     1655#define SENSORS_XEONTEMP_REMOTE_TEMP_OVER 56 /* RW */ 
     1656#define SENSORS_XEONTEMP_ALARMS 81 /* R */ 
     1657 
    16511658#endif /* def LIB_SENSORS_CHIPS_H */ 
  • lm-sensors/trunk/prog/sensors/chips.c

    r1971 r1978  
    44684468} 
    44694469 
     4470void print_xeontemp(const sensors_chip_name *name) 
     4471{ 
     4472  char *label; 
     4473  double cur,hyst,over; 
     4474  int alarms,i,valid; 
     4475 
     4476  if (!sensors_get_feature(*name,SENSORS_XEONTEMP_ALARMS,&cur))  
     4477    alarms = cur + 0.5; 
     4478  else { 
     4479    printf("ERROR: Can't get alarm data!\n"); 
     4480    alarms = 0; 
     4481  } 
     4482 
     4483  if (!sensors_get_label_and_valid(*name,SENSORS_XEONTEMP_REMOTE_TEMP, 
     4484                                   &label,&valid) && 
     4485      !sensors_get_feature(*name,SENSORS_XEONTEMP_REMOTE_TEMP,&cur) && 
     4486      !sensors_get_feature(*name,SENSORS_XEONTEMP_REMOTE_TEMP_HYST,&hyst) && 
     4487      !sensors_get_feature(*name,SENSORS_XEONTEMP_REMOTE_TEMP_OVER,&over))  { 
     4488    if (valid) { 
     4489      print_label(label,10); 
     4490      print_temp_info( cur, over, hyst, MINMAX, 0, 0); 
     4491      if (alarms & (XEONTEMP_ALARM_RTEMP_HIGH | XEONTEMP_ALARM_RTEMP_LOW | 
     4492                    XEONTEMP_ALARM_RTEMP_NA)) { 
     4493        printf("ALARM ("); 
     4494        i = 0; 
     4495          if (alarms & XEONTEMP_ALARM_RTEMP_NA) { 
     4496          printf("N/A"); 
     4497          i++; 
     4498        } 
     4499        if (alarms & XEONTEMP_ALARM_RTEMP_LOW) { 
     4500          printf("%sLOW",i?",":""); 
     4501          i++; 
     4502        } 
     4503        if (alarms & XEONTEMP_ALARM_RTEMP_HIGH) 
     4504          printf("%sHIGH",i?",":""); 
     4505        printf(")"); 
     4506      } 
     4507      printf("\n"); 
     4508    } 
     4509  } else 
     4510    printf("ERROR: Can't get temperature data!\n"); 
     4511  free_the_label(&label); 
     4512} 
     4513 
    44704514void print_unknown_chip(const sensors_chip_name *name) 
    44714515{ 
  • lm-sensors/trunk/prog/sensors/chips.h

    r1960 r1978  
    5555extern void print_lm83(const sensors_chip_name *name); 
    5656extern void print_lm90(const sensors_chip_name *name); 
     57extern void print_xeontemp(const sensors_chip_name *name); 
    5758 
    5859#endif /* def PROG_SENSORS_CHIPS_H */ 
  • lm-sensors/trunk/prog/sensors/main.c

    r1947 r1978  
    377377  else if (!strcmp(name.prefix,"lm83")) 
    378378    print_lm83(&name); 
     379  else if (!strcmp(name.prefix,"lm90")) 
     380    print_lm90(&name); 
     381  else if (!strcmp(name.prefix,"xeontemp")) 
     382    print_xeontemp(&name); 
    379383  else 
    380384    print_unknown_chip(&name);