Changeset 1112

Show
Ignore:
Timestamp:
06/03/01 23:58:26 (8 years ago)
Author:
mds
Message:

Initial checkin of it87 driver from

Christophe Gauthron <chrisg@0-in.com>

Files:

Legend:

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

    r1108 r1112  
    2222        If your make fails because it can't find <linux/i2c-proc.h>, you 
    2323        forgot this step!!! 
    24   File doc/FAQ: Many updates and additions 
     24  File doc/FAQ: Many, many updates and additions 
    2525  File doc/busses/i2c-sis5595: new 
     26  File doc/busses/i2c-tsunami: new 
    2627  File doc/chips/via686a: Claim support for 686b. 
    2728  File README.thinkpad: new 
     
    4647  Module i2c-tsunami: New 
    4748  Module i2c-via: Ensure i2c bus is tristated correctly. 
     49  Module it87: new driver for IT8705, IT8712, Sis950 chips 
    4850  Module lm78: Recognize chipid=0x20 
    4951  Module lm87: Fix in0, in1 (2.5V and Vccp1) calculations 
     
    6365  Program mkpatch.pl: Fix adm9240 typos; Add more chips to Configure.help; 
    6466                      Remove ltc1710; Fix i2c_sis5595 typo; 
    65                       Support kernel 2.4.5 makefile change 
     67                      Support kernel 2.4.5 makefile change; 
     68                      Add i2c-tsunami. 
    6669  Program sens_update_rrd: new 
    6770  Program sensord: Add -d (debug) and -p (pid-file) options 
     
    6972                   Fix swapped limit and hysteresis on 9240, 5595, 686a; 
    7073                   Change mtp008 temps from max/min to limit/hyst; 
    71                    Add maxilife-nba and adm1024 support. 
     74                   Add maxilife-nba, adm1024, it87xx support. 
    7275  Program sensors-detect: Recognize lm78 with chipid=0x20; 
    7376                          Recognize SMSC Victory66 South Bridge; 
    7477                          Add devfs /dev/i2c/x support; 
    75                           Add adm1024 support; Add thinkpad warning. 
     78                          Add adm1024, it87xx support; Add thinkpad warning. 
    7679  Program tellerstats: new 
    7780 
  • lm-sensors/trunk/CONTRIBUTORS

    r1108 r1112  
    6161* Oleg I. Vdovikin <vdovikin@jscc.ru> 
    6262  Author of the DEC Tsunami bus driver. 
     63* Christophe Gauthron <chrisg@0-in.com> 
     64  Author of the IT87 driver. 
  • lm-sensors/trunk/README

    r1108 r1112  
    5353  Genesys Logic GL518SM (rev 00, 80), GL520SM, GL523SM 
    5454  Intel Xeon processor embedded sensors 
     55  ITE IT8705F, IT8712F embedded sensors 
    5556  Maxim MAX1617 and MAX1617A 
    5657  Myson MTP008 
    57   National Semicoductor LM75, LM77, LM78, LM78-J, LM79, 
    58                         LM80, LM81, LM84, and LM87 
    59   SiS 5595 embedded sensors 
     58  National Semiconductor LM75, LM77, LM78, LM78-J, LM79, 
     59                        LM80, LM81, LM84, and LM87 
     60  SiS 5595, 950 embedded sensors 
    6061  TelCom TCN75 
    6162  TI THMC10 and THMC50 
  • lm-sensors/trunk/etc/sensors.conf.eg

    r1090 r1112  
    208208 
    209209 
    210 chip "lm78-*" "lm78-j-*" "lm79-*" "w83781d-*" "sis5595-*" 
     210chip "lm78-*" "lm78-j-*" "lm79-*" "w83781d-*" 
    211211 
    212212# These are as advised in the LM78 and LM79 data sheets, and used on almost 
     
    273273    set in6_max -5 * 1.05 
    274274 
    275 # examples for lm78, lm78j, lm79, sis5595 temperature limits; 
    276 # for sis5595, temp_hist is really the low limit, not a hysteresis value 
     275# examples for lm78, lm78j, lm79 temperature limits; 
    277276#    set temp_over 40    
    278277#    set temp_hyst 37    
     
    286285#    set temp3_hyst 47   
    287286 
     287 
     288chip "sis5595-*" 
     289 
     290    label in0 "VCore 1" 
     291    label in1 "VCore 2" 
     292    label in2 "+3.3V" 
     293    label in3 "+5V" 
     294    label in4 "+12V" 
     295 
     296    compute in3 ((6.8/10)+1)*@ ,  @/((6.8/10)+1) 
     297    compute in4 ((28/10)+1)*@  ,  @/((28/10)+1) 
     298 
     299    set in0_min 2.0 * 0.95 
     300    set in0_max 2.0 * 1.05 
     301    set in1_min 2.0 * 0.95 
     302    set in1_max 2.0 * 1.05 
     303    set in2_min 3.3 * 0.95 
     304    set in2_max 3.3 * 1.05 
     305    set in3_min 5.0 * 0.95 
     306    set in3_max 5.0 * 1.05 
     307    set in4_min 12 * 0.95 
     308    set in4_max 12 * 1.05 
     309 
     310# 
     311# SiS5595 temperature calculation 
     312# The driver does NOT include a calculation due to the wide 
     313# variation in thermistor types on SiS5595 motherboards. 
     314# Look in your 'Vendor.ini' file to see which one is present 
     315# on your motherboard. Look for the line like: 
     316#       [Temp1] 
     317#            ThermistorType     = NTC-10KC15-1608-1P 
     318# Uncomment the correct 'compute' line below to match your 
     319# thermistor type. 
     320#            ThermistorType     = NTC-10KC15-1608-1P (10K at 25C; Beta = 3435) 
     321#            ThermistorType     = NTC-103KC15-1608-1P 
     322#            ThermistorType     = NTC-103AT-2 (10K at 25C; Beta = 3435) 
     323#            ThermistorType     = NTC-103JT   (10K at 25C; Beta = 3435) 
     324 
     325# examples for sis5595 temperature limits; 
     326# for sis5595, temp_hist is really the low limit, not a hysteresis value 
     327#    set temp_over 40    
     328#    set temp_hyst 37    
    288329 
    289330chip "w83782d-*" "w83783s-*" "w83627hf-*" 
     
    874915chip "adm9240-*" "ds1780-*" "lm81-*" 
    875916# 
    876 # This chip has non-standard entries in lib/chips.c so 
     917# These chips have non-standard entries in lib/chips.c so 
    877918# the feature names are quite different from other chips. 
    878 # For this chip, libsensors anticipates the correct labeling. 
     919# For these chips, libsensors anticipates the correct labeling. 
    879920# This is great if it's correct but makes it a little more 
    880921# difficult if you want to change it. 
     
    938979    ignore "Vccp1" 
    939980    ignore "Vccp2" 
     981 
     982 
     983chip "it87-*" 
     984 
     985# The values below have been tested on Asus CUSI, CUM motherboards. 
     986 
     987# Voltage monitors as advised in the It8705 data sheet 
     988 
     989    label in0 "VCore 1" 
     990    label in1 "VCore 2" 
     991    label in2 "+3.3V" 
     992    label in3 "+5V" 
     993    label in4 "+12V" 
     994    label in5 "-12V" 
     995    label in6 "-5V" 
     996    label in7 "Stdby" 
     997 
     998    set in0_min 1.5 * 0.95 
     999    set in0_max 1.5 * 1.05 
     1000    set in1_min 2.4 
     1001    set in1_max 2.6 
     1002    set in2_min 3.3 * 0.95 
     1003    set in2_max 3.3 * 1.05 
     1004    set in3_min 5.0 * 0.95 
     1005    set in3_max 5.0 * 1.05 
     1006    set in4_min 12 * 0.95 
     1007    set in4_max 12 * 1.05 
     1008    set in5_min -12 * 0.95 
     1009    set in5_max -12 * 1.05 
     1010    set in6_min -5 * 0.95 
     1011    set in6_max -5 * 1.05 
     1012    set in6_min -5 * 0.95 
     1013    set in6_max -5 * 1.05 
     1014 
     1015    # vid not monitored by IT8705F 
     1016    ignore  vid 
     1017 
     1018    compute in2 (1 + 1)*@ ,       @/(1 + 1) 
     1019    compute in3 ((6.8/10)+1)*@ ,  @/((6.8/10)+1) 
     1020    compute in4 ((30/10) +1)*@  , @/((30/10) +1) 
     1021    compute in5 -(72/10)*@  ,     -@/(72/10) 
     1022    compute in6 -(56/10)*@ ,      -@/(56/10) 
     1023    compute in7 ((6.8/10)+1)*@ ,  @/((6.8/10)+1) 
     1024 
     1025# Temperature 
     1026 
     1027    label temp1       "Temp1/MB" 
     1028    set   temp1_over  40 
     1029    set   temp1_hyst  20 
     1030 
     1031    label temp2       "Temp2/CPU" 
     1032    set   temp2_over  45 
     1033    set   temp2_hyst  25 
     1034 
     1035    ignore temp3 
     1036 
     1037# Fans 
     1038 
     1039    set fan1_min 0 
     1040    set fan2_min 3000 
     1041    ignore fan3 
     1042 
  • lm-sensors/trunk/kernel/chips/Module.mk

    r1100 r1112  
    2626# These targets are NOT included in 'mkpatch' ... 
    2727KERNELCHIPSTARGETS :=  \ 
     28                      $(MODULE_DIR)/adm1024.o \ 
     29                      $(MODULE_DIR)/it87.o \ 
    2830                      $(MODULE_DIR)/maxilife.o \ 
    29                       $(MODULE_DIR)/adm1024.o \ 
    3031                      $(MODULE_DIR)/mtp008.o 
    3132 
     
    5859ifneq ($(shell if grep -q '^CONFIG_SENSORS_GL520SM=y' $(LINUX)/.config; then echo 1; fi),1) 
    5960KERNELCHIPSTARGETS += $(MODULE_DIR)/gl520sm.o 
     61endif 
     62ifneq ($(shell if grep -q '^CONFIG_SENSORS_IT87=y' $(LINUX)/.config; then echo 1; fi),1) 
     63KERNELCHIPSTARGETS += $(MODULE_DIR)/it87.o 
    6064endif 
    6165ifneq ($(shell if grep -q '^CONFIG_SENSORS_LM75=y' $(LINUX)/.config; then echo 1; fi),1) 
  • lm-sensors/trunk/kernel/sensors.c

    r1080 r1112  
    1818    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 
    1919*/ 
     20 
    2021 
    2122#include <linux/init.h> 
     
    9899extern int sensors_ltc1710_init(void); 
    99100#endif 
     101#ifdef CONFIG_SENSORS_IT87 
     102extern int sensors_it87_init(void); 
     103#endif 
    100104 
    101105int __init sensors_init_all(void) 
     
    159163        sensors_ltc1710_init(); 
    160164#endif 
     165#ifdef CONFIG_SENSORS_IT87 
     166        sensors_it87_init(); 
     167#endif 
    161168        return 0; 
    162169} 
  • lm-sensors/trunk/prog/detect/sensors-detect

    r1090 r1112  
    629629     { 
    630630       name => "ITE IT8705F / IT8712F / SiS 950", 
    631        driver => "Unwritten (IT87xxF)", 
    632        i2c_addrs => [0x00..0x68,0x6a..0x7f],  
    633        i2c_driver_addrs => [0x20..0x2f],  
    634        i2c_detect => sub { ite_detect 0, @_}, 
     631       driver => "it87", 
    635632       isa_addrs => [0x290], 
    636633       isa_detect => sub { ite_isa_detect 0, @_ }, 
    637        alias_detect => sub { ite_alias_detect 0, @_ }, 
    638634     } , 
    639635     { 
  • lm-sensors/trunk/prog/sensors/chips.c

    r1090 r1112  
    24272427} 
    24282428 
     2429 
     2430void print_it87(const sensors_chip_name *name) 
     2431{ 
     2432  char *label = NULL; 
     2433  double cur, min, max, fdiv; 
     2434  int alarms_fan, alarms_vin, alarms_temp, valid; 
     2435 
     2436  if (!sensors_get_feature(*name,SENSORS_IT87_ALARMS_FAN, &cur)) { 
     2437    alarms_fan = cur + 0.5; 
     2438  } 
     2439  else { 
     2440    printf("ERROR: Can't get fan alarm data!\n"); 
     2441    alarms_fan = 0; 
     2442  } 
     2443 
     2444  if (!sensors_get_feature(*name,SENSORS_IT87_ALARMS_VIN, &cur)) { 
     2445    alarms_vin = cur + 0.5; 
     2446  } 
     2447  else { 
     2448    printf("ERROR: Can't get vin alarm data!\n"); 
     2449    alarms_vin = 0; 
     2450  } 
     2451 
     2452  if (!sensors_get_feature(*name,SENSORS_IT87_ALARMS_TEMP, &cur)) { 
     2453    alarms_temp = cur + 0.5; 
     2454  } 
     2455  else { 
     2456    printf("ERROR: Can't get temp alarm data!\n"); 
     2457    alarms_temp = 0; 
     2458  } 
     2459 
     2460 
     2461  if (!sensors_get_label_and_valid(*name,SENSORS_IT87_IN0,&label,&valid) && 
     2462      !sensors_get_feature(*name,SENSORS_IT87_IN0,&cur) && 
     2463      !sensors_get_feature(*name,SENSORS_IT87_IN0_MIN,&min) && 
     2464      !sensors_get_feature(*name,SENSORS_IT87_IN0_MAX,&max)) { 
     2465    if (valid) { 
     2466      print_label(label,10); 
     2467      printf("%+6.2f V  (min = %+6.2f V, max = %+6.2f V)   %s\n", 
     2468             cur,min,max,alarms_vin&IT87_ALARM_IN0?"ALARM":""); 
     2469    } 
     2470  } else 
     2471    printf("ERROR: Can't get IN0 data!\n"); 
     2472  free_the_label(&label); 
     2473  if (!sensors_get_label_and_valid(*name,SENSORS_IT87_IN1,&label,&valid) && 
     2474      !sensors_get_feature(*name,SENSORS_IT87_IN1,&cur) && 
     2475      !sensors_get_feature(*name,SENSORS_IT87_IN1_MIN,&min) && 
     2476      !sensors_get_feature(*name,SENSORS_IT87_IN1_MAX,&max)) { 
     2477    if (valid) { 
     2478      print_label(label,10); 
     2479      printf("%+6.2f V  (min = %+6.2f V, max = %+6.2f V)   %s\n", 
     2480             cur,min,max,alarms_vin&IT87_ALARM_IN1?"ALARM":""); 
     2481    } 
     2482  } else 
     2483    printf("ERROR: Can't get IN1 data!\n"); 
     2484  free_the_label(&label); 
     2485  if (!sensors_get_label_and_valid(*name,SENSORS_IT87_IN2,&label,&valid) && 
     2486      !sensors_get_feature(*name,SENSORS_IT87_IN2,&cur) && 
     2487      !sensors_get_feature(*name,SENSORS_IT87_IN2_MIN,&min) && 
     2488      !sensors_get_feature(*name,SENSORS_IT87_IN2_MAX,&max)) { 
     2489    if (valid) { 
     2490      print_label(label,10); 
     2491      printf("%+6.2f V  (min = %+6.2f V, max = %+6.2f V)   %s\n", 
     2492             cur,min,max,alarms_vin&IT87_ALARM_IN2?"ALARM":""); 
     2493    } 
     2494  } else 
     2495    printf("ERROR: Can't get IN2 data!\n"); 
     2496  free_the_label(&label); 
     2497  if (!sensors_get_label_and_valid(*name,SENSORS_IT87_IN3,&label,&valid) && 
     2498      !sensors_get_feature(*name,SENSORS_IT87_IN3,&cur) && 
     2499      !sensors_get_feature(*name,SENSORS_IT87_IN3_MIN,&min) && 
     2500      !sensors_get_feature(*name,SENSORS_IT87_IN3_MAX,&max)) { 
     2501    if (valid) { 
     2502      print_label(label,10); 
     2503      printf("%+6.2f V  (min = %+6.2f V, max = %+6.2f V)   %s\n", 
     2504             cur,min,max,alarms_vin&IT87_ALARM_IN3?"ALARM":""); 
     2505    } 
     2506  } else 
     2507    printf("ERROR: Can't get IN3 data!\n"); 
     2508  free_the_label(&label); 
     2509  if (!sensors_get_label_and_valid(*name,SENSORS_IT87_IN4,&label,&valid) && 
     2510      !sensors_get_feature(*name,SENSORS_IT87_IN4,&cur) && 
     2511      !sensors_get_feature(*name,SENSORS_IT87_IN4_MIN,&min) && 
     2512      !sensors_get_feature(*name,SENSORS_IT87_IN4_MAX,&max)) { 
     2513    if (valid) { 
     2514      print_label(label,10); 
     2515      printf("%+6.2f V  (min = %+6.2f V, max = %+6.2f V)   %s\n", 
     2516             cur,min,max,alarms_vin&IT87_ALARM_IN4?"ALARM":""); 
     2517    } 
     2518  } else 
     2519    printf("ERROR: Can't get IN4 data!\n"); 
     2520  free_the_label(&label); 
     2521  if (!sensors_get_label_and_valid(*name,SENSORS_IT87_IN5,&label,&valid) && 
     2522      !sensors_get_feature(*name,SENSORS_IT87_IN5,&cur) && 
     2523      !sensors_get_feature(*name,SENSORS_IT87_IN5_MIN,&min) && 
     2524      !sensors_get_feature(*name,SENSORS_IT87_IN5_MAX,&max)) { 
     2525    if (valid) { 
     2526      print_label(label,10); 
     2527      printf("%+6.2f V  (min = %+6.2f V, max = %+6.2f V)   %s\n", 
     2528             cur,min,max,alarms_vin&IT87_ALARM_IN5?"ALARM":""); 
     2529    } 
     2530  } else 
     2531    printf("ERROR: Can't get IN5 data!\n"); 
     2532  free_the_label(&label); 
     2533  if (!sensors_get_label_and_valid(*name,SENSORS_IT87_IN6,&label,&valid) && 
     2534      !sensors_get_feature(*name,SENSORS_IT87_IN6,&cur) && 
     2535      !sensors_get_feature(*name,SENSORS_IT87_IN6_MIN,&min) && 
     2536      !sensors_get_feature(*name,SENSORS_IT87_IN6_MAX,&max)) { 
     2537    if (valid) { 
     2538      print_label(label,10); 
     2539      printf("%+6.2f V  (min = %+6.2f V, max = %+6.2f V)   %s\n", 
     2540             cur,min,max,alarms_vin&IT87_ALARM_IN6?"ALARM":""); 
     2541    } 
     2542  } else 
     2543    printf("ERROR: Can't get IN6 data!\n"); 
     2544  free_the_label(&label); 
     2545  if (!sensors_get_label_and_valid(*name,SENSORS_IT87_IN7,&label,&valid) && 
     2546      !sensors_get_feature(*name,SENSORS_IT87_IN7,&cur) && 
     2547      !sensors_get_feature(*name,SENSORS_IT87_IN7_MIN,&min) && 
     2548      !sensors_get_feature(*name,SENSORS_IT87_IN7_MAX,&max)) { 
     2549    if (valid) { 
     2550      print_label(label,10); 
     2551      printf("%+6.2f V  (min = %+6.2f V, max = %+6.2f V)   %s\n", 
     2552             cur,min,max,alarms_vin&IT87_ALARM_IN7?"ALARM":""); 
     2553    } 
     2554  } else 
     2555    printf("ERROR: Can't get IN7 data!\n"); 
     2556  free_the_label(&label); 
     2557 
     2558  if (!sensors_get_label_and_valid(*name,SENSORS_IT87_FAN1,&label,&valid) && 
     2559      !sensors_get_feature(*name,SENSORS_IT87_FAN1,&cur) && 
     2560      !sensors_get_feature(*name,SENSORS_IT87_FAN1_DIV,&fdiv) && 
     2561      !sensors_get_feature(*name,SENSORS_IT87_FAN1_MIN,&min)) { 
     2562    if (valid) { 
     2563      print_label(label,10); 
     2564      printf("%4.0f RPM  (min = %4.0f RPM, div = %1.0f)          %s\n", 
     2565             cur,min,fdiv, alarms_fan&IT87_ALARM_FAN1?"ALARM":""); 
     2566    } 
     2567  } else 
     2568    printf("ERROR: Can't get FAN1 data!\n"); 
     2569  free_the_label(&label); 
     2570  if (!sensors_get_label_and_valid(*name,SENSORS_IT87_FAN2,&label,&valid) && 
     2571      !sensors_get_feature(*name,SENSORS_IT87_FAN2,&cur) && 
     2572      !sensors_get_feature(*name,SENSORS_IT87_FAN2_DIV,&fdiv) && 
     2573      !sensors_get_feature(*name,SENSORS_IT87_FAN2_MIN,&min)) { 
     2574    if (valid) { 
     2575      print_label(label,10); 
     2576      printf("%4.0f RPM  (min = %4.0f RPM, div = %1.0f)          %s\n", 
     2577             cur,min,fdiv, alarms_fan&IT87_ALARM_FAN2?"ALARM":""); 
     2578    } 
     2579  } else 
     2580    printf("ERROR: Can't get FAN2 data!\n"); 
     2581  free_the_label(&label); 
     2582  if (!sensors_get_label_and_valid(*name,SENSORS_IT87_FAN3,&label,&valid) && 
     2583      !sensors_get_feature(*name,SENSORS_IT87_FAN3,&cur) && 
     2584      !sensors_get_feature(*name,SENSORS_IT87_FAN3_DIV,&fdiv) && 
     2585      !sensors_get_feature(*name,SENSORS_IT87_FAN3_MIN,&min)) { 
     2586    if (valid) { 
     2587      print_label(label,10); 
     2588      printf("%4.0f RPM  (min = %4.0f RPM, div = %1.0f)          %s\n", 
     2589             cur,min,fdiv, alarms_fan&IT87_ALARM_FAN3?"ALARM":""); 
     2590    } 
     2591  } else 
     2592    printf("ERROR: Can't get FAN3 data!\n"); 
     2593  free_the_label(&label); 
     2594 
     2595  if (!sensors_get_label_and_valid(*name,SENSORS_IT87_TEMP1,&label,&valid) && 
     2596      !sensors_get_feature(*name,SENSORS_IT87_TEMP1,&cur) && 
     2597      !sensors_get_feature(*name,SENSORS_IT87_TEMP1_LOW,&min) && 
     2598      !sensors_get_feature(*name,SENSORS_IT87_TEMP1_HIGH,&max)) { 
     2599    if (valid) { 
     2600      print_label(label,10); 
     2601      print_temp_info( cur, max, min, MINMAX ); 
     2602      printf( " %s\n", alarms_temp & IT87_ALARM_TEMP1 ? "ALARM" : "" ); 
     2603    } 
     2604  } else 
     2605    printf("ERROR: Can't get TEMP1 data!\n"); 
     2606  free_the_label(&label); 
     2607  if (!sensors_get_label_and_valid(*name,SENSORS_IT87_TEMP2,&label,&valid) && 
     2608      !sensors_get_feature(*name,SENSORS_IT87_TEMP2,&cur) && 
     2609      !sensors_get_feature(*name,SENSORS_IT87_TEMP2_LOW,&min) && 
     2610      !sensors_get_feature(*name,SENSORS_IT87_TEMP2_HIGH,&max)) { 
     2611    if (valid) { 
     2612      print_label(label,10); 
     2613      print_temp_info( cur, max, min, MINMAX ); 
     2614      printf( " %s\n", alarms_temp & IT87_ALARM_TEMP2 ? "ALARM" : "" ); 
     2615    } 
     2616  } else 
     2617    printf("ERROR: Can't get TEMP2 data!\n"); 
     2618  free_the_label(&label); 
     2619  if (!sensors_get_label_and_valid(*name,SENSORS_IT87_TEMP3,&label,&valid) && 
     2620      !sensors_get_feature(*name,SENSORS_IT87_TEMP3,&cur) && 
     2621      !sensors_get_feature(*name,SENSORS_IT87_TEMP3_LOW,&min) && 
     2622      !sensors_get_feature(*name,SENSORS_IT87_TEMP3_HIGH,&max)) { 
     2623    if (valid) { 
     2624      print_label(label,10); 
     2625      print_temp_info( cur, max, min, MINMAX ); 
     2626      printf( " %s\n", alarms_temp & IT87_ALARM_TEMP3 ? "ALARM" : "" ); 
     2627    } 
     2628  } else 
     2629    printf("ERROR: Can't get TEMP3 data!\n"); 
     2630  free_the_label(&label); 
     2631 
     2632  if (!sensors_get_label_and_valid(*name,SENSORS_IT87_VID,&label,&valid) && 
     2633      !sensors_get_feature(*name,SENSORS_IT87_VID,&cur)) { 
     2634    if (valid) { 
     2635      print_label(label,10); 
     2636      printf("%+5.2f V\n",cur); 
     2637    } 
     2638  } 
     2639  free_the_label(&label); 
     2640} 
     2641 
     2642 
    24292643void print_unknown_chip(const sensors_chip_name *name) 
    24302644{ 
  • lm-sensors/trunk/prog/sensors/chips.h

    r1090 r1112  
    4242extern void print_eeprom(const sensors_chip_name *name); 
    4343extern void print_lm87(const sensors_chip_name *name); 
     44extern void print_it87(const sensors_chip_name *name); 
    4445 
    4546#endif /* def PROG_SENSORS_CHIPS_H */ 
  • lm-sensors/trunk/prog/sensors/main.c

    r1090 r1112  
    325325  else if (!strcmp(name.prefix,"eeprom")) 
    326326    print_eeprom(&name); 
     327  else if (!strcmp(name.prefix,"it87")) 
     328    print_it87(&name); 
    327329  else 
    328330    print_unknown_chip(&name);