Changeset 3169

Show
Ignore:
Timestamp:
11/04/05 21:59:18 (3 years ago)
Author:
khali
Message:

Initial support for the Fintek F71805F/FG chip.

Files:

Legend:

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

    r3162 r3169  
    2727  Library: Big update to use libsysfs.  More TODO though. 
    2828           Fix bus matching code for Linux 2.6 (Karsten Petersen) 
     29           Add f71805f support 
    2930  Makefile: Compile user-space programs with -Wundef 
    3031  Module i2c-i810: Documentation update, PCI IDs cleanup 
     
    4243                      backport) 
    4344  Module adm9240: Cleanups (2.6 backport) 
     45  Module f71805f: New, supports the Fintek F71805F/FG Super-I/O 
    4446  Module it87: Minor cleanups 
    4547  Module lm90: Support the ADM1032-2 and ADT7461-2 (2.6 backport) 
     
    6365  Program sensors: Drop free_the_label 
    6466                   Fix compilation with uclibc (no iconv) 
     67                   Add f71805f support 
    6568  Program sensors-detect: Drop algorithm names 
    6669                          Do not rely on i2cdetect -l printing algo names 
  • lm-sensors/trunk/CONTRIBUTORS

    r3163 r3169  
    7979  Added Onsemi MC1066 support to the adm1021 driver. 
    8080* Jean Delvare <khali@linux-fr.org> 
    81   Author of the lm63, lm83, lm90, pc87360 and w83l785ts chip drivers. 
     81  Author of the lm63, lm83, lm90 and w83l785ts SMBus chip drivers. 
     82  Author of the f71805f and pc87360 Super-I/O chip drivers. 
    8283  Author of the i2c-amd756-s4882 and pca9540 SMBus multiplexing drivers. 
    8384  Author of the decode-vaio.pl Vaio EEPROM decoder. 
  • lm-sensors/trunk/README

    r3158 r3169  
    7979  Dallas Semiconductor DS75, DS1621, DS1625, DS1775, and DS1780 
    8080  Hewlett Packard Maxilife (several revisions including '99 NBA) 
     81  Fintek F71805F/FG 
    8182  Fujitsu Siemens Poseidon, Scylla, Hermes 
    8283  Genesys Logic GL518SM, GL520SM, GL523SM 
  • lm-sensors/trunk/doc/chips/SUMMARY

    r3132 r3169  
    9898        ds1625          1       -       -       -       yes     no 
    9999 
     100f71805f 
     101        f71805f         9       3       3       -       no      yes 
     102 
    100103fscher 
    101104        fscher          3       3       3       -       yes     no 
  • lm-sensors/trunk/doc/donations

    r3151 r3169  
    8686Aweta           Intel Server system                             2005-09 
    8787                Drivers developed: PC87431 (IPMI SMB)           MDS 
     88 
     89Barracuda       Jetway K8M8MS, Sempron 2600+, 256 MB RAM        2005-10 
     90Networks        Drivers developed: f71805f                      Jean Delvare 
  • lm-sensors/trunk/etc/sensors.conf.eg

    r3166 r3169  
    23672367   set temp2_hyst  40 
    23682368 
     2369 
     2370# Fintek F71805F/FG configuration 
     2371# This is the recommended wiring and resistor values from the F71805F/FG 
     2372# datasheet. Your motherboard manufacturer may or may not have followed 
     2373# these. 
     2374chip "f71805f-*" 
     2375# Voltages 
     2376   label in0 "+3.3V" 
     2377   label in1 "Vtt1.2V" 
     2378   label in2 "Vram" 
     2379   label in3 "Vchip" 
     2380   label in4 "+5V" 
     2381   label in5 "+12V" 
     2382   label in6 "Vcc1.5V" 
     2383   label in7 "Vcore" 
     2384   label in8 "5VSB" 
     2385 
     2386   # in0 is scaled internally 
     2387   compute in2  @*(1+100/100), @/(1+100/100) 
     2388   compute in3  @*(1+100/47),  @/(1+100/47) 
     2389   compute in4  @*(1+200/47),  @/(1+200/47) 
     2390   compute in5  @*(1+200/20),  @/(1+200/20) 
     2391   compute in8  @*(1+200/47),  @/(1+200/47) 
     2392 
     2393   set in0_min  3.3 * 0.95 
     2394   set in0_max  3.3 * 1.05 
     2395   #set in1_min  1.2 * 0.95 
     2396   #set in1_max  1.2 * 1.05 
     2397   #set in2_min  2.5 * 0.95 
     2398   #set in2_max  2.6 * 1.05 
     2399   #set in3_min  3.3 * 0.95 
     2400   #set in3_max  3.3 * 1.05 
     2401   #set in4_min  5.0 * 0.95 
     2402   #set in4_max  5.0 * 1.05 
     2403   #set in5_min 12.0 * 0.95 
     2404   #set in5_max 12.0 * 1.05 
     2405   #set in6_min  1.5 * 0.95 
     2406   #set in6_max  1.5 * 1.05 
     2407   # in7 nominal value depends on the CPU model 
     2408   #set in7_min  1.4 * 0.95 
     2409   #set in7_max  1.4 * 1.05 
     2410   #set in8_min  5.0 * 0.95 
     2411   #set in8_max  5.0 * 1.05 
     2412 
     2413# Fans 
     2414   label fan1 "CPU Fan" 
     2415   label fan2 "Sys Fan" 
     2416   label fan3 "Aux Fan" 
     2417 
     2418   #set fan1_min 2100 
     2419   #set fan2_min 1400 
     2420   #set fan3_min 1400 
     2421 
     2422# Temperatures 
     2423   label temp1 "CPU Temp" 
     2424   label temp2 "Sys Temp" 
     2425   label temp3 "Aux Temp" 
     2426 
     2427   #set temp1_max   60 
     2428   #set temp1_hyst  58 
     2429   #set temp2_max   50 
     2430   #set temp2_hyst  48 
     2431   #set temp3_max   50 
     2432   #set temp3_hyst  48 
  • lm-sensors/trunk/kernel/chips/Module.mk

    r2976 r3169  
    7171ifneq ($(shell if grep -q '^CONFIG_SENSORS_EEPROM=y' $(LINUX)/.config; then echo 1; fi),1) 
    7272KERNELCHIPSTARGETS += $(MODULE_DIR)/eeprom.o 
     73endif 
     74ifneq ($(shell if grep -q '^CONFIG_SENSORS_F71805F=y' $(LINUX)/.config; then echo 1; fi),1) 
     75KERNELCHIPSTARGETS += $(MODULE_DIR)/f71805f.o 
    7376endif 
    7477ifneq ($(shell if grep -q '^CONFIG_SENSORS_FSCHER=y' $(LINUX)/.config; then echo 1; fi),1) 
  • lm-sensors/trunk/lib/chips.c

    r3133 r3169  
    54195419}; 
    54205420 
     5421static sensors_chip_feature f71805f_features[] = 
     5422{ 
     5423/* 9 voltage inputs */ 
     5424        { SENSORS_F71805F_IN(0), "in0", NOMAP, NOMAP, R, 
     5425          F71805F_SYSCTL_IN0, VALUE(3), 3 }, 
     5426        { SENSORS_F71805F_IN(1), "in1", NOMAP, NOMAP, R, 
     5427          F71805F_SYSCTL_IN1, VALUE(3), 3 }, 
     5428        { SENSORS_F71805F_IN(2), "in2", NOMAP, NOMAP, R, 
     5429          F71805F_SYSCTL_IN2, VALUE(3), 3 }, 
     5430        { SENSORS_F71805F_IN(3), "in3", NOMAP, NOMAP, R, 
     5431          F71805F_SYSCTL_IN3, VALUE(3), 3 }, 
     5432        { SENSORS_F71805F_IN(4), "in4", NOMAP, NOMAP, R, 
     5433          F71805F_SYSCTL_IN4, VALUE(3), 3 }, 
     5434        { SENSORS_F71805F_IN(5), "in5", NOMAP, NOMAP, R, 
     5435          F71805F_SYSCTL_IN5, VALUE(3), 3 }, 
     5436        { SENSORS_F71805F_IN(6), "in6", NOMAP, NOMAP, R, 
     5437          F71805F_SYSCTL_IN6, VALUE(3), 3 }, 
     5438        { SENSORS_F71805F_IN(7), "in7", NOMAP, NOMAP, R, 
     5439          F71805F_SYSCTL_IN7, VALUE(3), 3 }, 
     5440        { SENSORS_F71805F_IN(8), "in8", NOMAP, NOMAP, R, 
     5441          F71805F_SYSCTL_IN8, VALUE(3), 3 }, 
     5442        { SENSORS_F71805F_IN_MIN(0), "in0_min", 
     5443          SENSORS_F71805F_IN(0), SENSORS_F71805F_IN(0), RW, 
     5444          F71805F_SYSCTL_IN0, VALUE(1), 3 }, 
     5445        { SENSORS_F71805F_IN_MIN(1), "in1_min", 
     5446          SENSORS_F71805F_IN(1), SENSORS_F71805F_IN(1), RW, 
     5447          F71805F_SYSCTL_IN1, VALUE(1), 3 }, 
     5448        { SENSORS_F71805F_IN_MIN(2), "in2_min", 
     5449          SENSORS_F71805F_IN(2), SENSORS_F71805F_IN(2), RW, 
     5450          F71805F_SYSCTL_IN2, VALUE(1), 3 }, 
     5451        { SENSORS_F71805F_IN_MIN(3), "in3_min", 
     5452          SENSORS_F71805F_IN(3), SENSORS_F71805F_IN(3), RW, 
     5453          F71805F_SYSCTL_IN3, VALUE(1), 3 }, 
     5454        { SENSORS_F71805F_IN_MIN(4), "in4_min", 
     5455          SENSORS_F71805F_IN(4), SENSORS_F71805F_IN(4), RW, 
     5456          F71805F_SYSCTL_IN4, VALUE(1), 3 }, 
     5457        { SENSORS_F71805F_IN_MIN(5), "in5_min", 
     5458          SENSORS_F71805F_IN(5), SENSORS_F71805F_IN(5), RW, 
     5459          F71805F_SYSCTL_IN5, VALUE(1), 3 }, 
     5460        { SENSORS_F71805F_IN_MIN(6), "in6_min", 
     5461          SENSORS_F71805F_IN(6), SENSORS_F71805F_IN(6), RW, 
     5462          F71805F_SYSCTL_IN6, VALUE(1), 3 }, 
     5463        { SENSORS_F71805F_IN_MIN(7), "in7_min", 
     5464          SENSORS_F71805F_IN(7), SENSORS_F71805F_IN(7), RW, 
     5465          F71805F_SYSCTL_IN7, VALUE(1), 3 }, 
     5466        { SENSORS_F71805F_IN_MIN(8), "in8_min", 
     5467          SENSORS_F71805F_IN(8), SENSORS_F71805F_IN(8), RW, 
     5468          F71805F_SYSCTL_IN8, VALUE(1), 3 }, 
     5469        { SENSORS_F71805F_IN_MAX(0), "in0_max", 
     5470          SENSORS_F71805F_IN(0), SENSORS_F71805F_IN(0), RW, 
     5471          F71805F_SYSCTL_IN0, VALUE(2), 3 }, 
     5472        { SENSORS_F71805F_IN_MAX(1), "in1_max", 
     5473          SENSORS_F71805F_IN(1), SENSORS_F71805F_IN(1), RW, 
     5474          F71805F_SYSCTL_IN1, VALUE(2), 3 }, 
     5475        { SENSORS_F71805F_IN_MAX(2), "in2_max", 
     5476          SENSORS_F71805F_IN(2), SENSORS_F71805F_IN(2), RW, 
     5477          F71805F_SYSCTL_IN2, VALUE(2), 3 }, 
     5478        { SENSORS_F71805F_IN_MAX(3), "in3_max", 
     5479          SENSORS_F71805F_IN(3), SENSORS_F71805F_IN(3), RW, 
     5480          F71805F_SYSCTL_IN3, VALUE(2), 3 }, 
     5481        { SENSORS_F71805F_IN_MAX(4), "in4_max", 
     5482          SENSORS_F71805F_IN(4), SENSORS_F71805F_IN(4), RW, 
     5483          F71805F_SYSCTL_IN4, VALUE(2), 3 }, 
     5484        { SENSORS_F71805F_IN_MAX(5), "in5_max", 
     5485          SENSORS_F71805F_IN(5), SENSORS_F71805F_IN(5), RW, 
     5486          F71805F_SYSCTL_IN5, VALUE(2), 3 }, 
     5487        { SENSORS_F71805F_IN_MAX(6), "in6_max", 
     5488          SENSORS_F71805F_IN(6), SENSORS_F71805F_IN(6), RW, 
     5489          F71805F_SYSCTL_IN6, VALUE(2), 3 }, 
     5490        { SENSORS_F71805F_IN_MAX(7), "in7_max", 
     5491          SENSORS_F71805F_IN(7), SENSORS_F71805F_IN(7), RW, 
     5492          F71805F_SYSCTL_IN7, VALUE(2), 3 }, 
     5493        { SENSORS_F71805F_IN_MAX(8), "in8_max", 
     5494          SENSORS_F71805F_IN(8), SENSORS_F71805F_IN(8), RW, 
     5495          F71805F_SYSCTL_IN8, VALUE(2), 3 }, 
     5496/* 3 fan tachometers */ 
     5497        { SENSORS_F71805F_FAN(1), "fan1", NOMAP, NOMAP, R, 
     5498          F71805F_SYSCTL_FAN1, VALUE(2), 0 }, 
     5499        { SENSORS_F71805F_FAN(2), "fan2", NOMAP, NOMAP, R, 
     5500          F71805F_SYSCTL_FAN2, VALUE(2), 0 }, 
     5501        { SENSORS_F71805F_FAN(3), "fan3", NOMAP, NOMAP, R, 
     5502          F71805F_SYSCTL_FAN3, VALUE(2), 0 }, 
     5503        { SENSORS_F71805F_FAN_MIN(1), "fan1_min", 
     5504          SENSORS_F71805F_FAN(1), SENSORS_F71805F_FAN(1), RW, 
     5505          F71805F_SYSCTL_FAN1, VALUE(1), 0 }, 
     5506        { SENSORS_F71805F_FAN_MIN(2), "fan2_min", 
     5507          SENSORS_F71805F_FAN(2), SENSORS_F71805F_FAN(2), RW, 
     5508          F71805F_SYSCTL_FAN2, VALUE(1), 0 }, 
     5509        { SENSORS_F71805F_FAN_MIN(3), "fan3_min", 
     5510          SENSORS_F71805F_FAN(3), SENSORS_F71805F_FAN(3), RW, 
     5511          F71805F_SYSCTL_FAN3, VALUE(1), 0 }, 
     5512/* 3 temperature inputs */ 
     5513        { SENSORS_F71805F_TEMP(1), "temp1", NOMAP, NOMAP, R, 
     5514          F71805F_SYSCTL_TEMP1, VALUE(3), 0 }, 
     5515        { SENSORS_F71805F_TEMP(2), "temp2", NOMAP, NOMAP, R, 
     5516          F71805F_SYSCTL_TEMP2, VALUE(3), 0 }, 
     5517        { SENSORS_F71805F_TEMP(3), "temp3", NOMAP, NOMAP, R, 
     5518          F71805F_SYSCTL_TEMP3, VALUE(3), 0 }, 
     5519        { SENSORS_F71805F_TEMP_MAX(1), "temp1_max", 
     5520          SENSORS_F71805F_TEMP(1), SENSORS_F71805F_TEMP(1), RW, 
     5521          F71805F_SYSCTL_TEMP1, VALUE(1), 0 }, 
     5522        { SENSORS_F71805F_TEMP_MAX(2), "temp2_max", 
     5523          SENSORS_F71805F_TEMP(2), SENSORS_F71805F_TEMP(2), RW, 
     5524          F71805F_SYSCTL_TEMP2, VALUE(1), 0 }, 
     5525        { SENSORS_F71805F_TEMP_MAX(3), "temp3_max", 
     5526          SENSORS_F71805F_TEMP(3), SENSORS_F71805F_TEMP(3), RW, 
     5527          F71805F_SYSCTL_TEMP3, VALUE(1), 0 }, 
     5528        { SENSORS_F71805F_TEMP_HYST(1), "temp1_hyst", 
     5529          SENSORS_F71805F_TEMP(1), SENSORS_F71805F_TEMP(1), RW, 
     5530          F71805F_SYSCTL_TEMP1, VALUE(2), 0 }, 
     5531        { SENSORS_F71805F_TEMP_HYST(2), "temp2_hyst", 
     5532          SENSORS_F71805F_TEMP(2), SENSORS_F71805F_TEMP(2), RW, 
     5533          F71805F_SYSCTL_TEMP2, VALUE(2), 0 }, 
     5534        { SENSORS_F71805F_TEMP_HYST(3), "temp3_hyst", 
     5535          SENSORS_F71805F_TEMP(3), SENSORS_F71805F_TEMP(3), RW, 
     5536          F71805F_SYSCTL_TEMP3, VALUE(2), 0 }, 
     5537        { SENSORS_F71805F_TEMP_TYPE(1), "sensor1", NOMAP, NOMAP, R, 
     5538          F71805F_SYSCTL_SENSOR1, VALUE(1), 0 }, 
     5539        { SENSORS_F71805F_TEMP_TYPE(2), "sensor2", NOMAP, NOMAP, R, 
     5540          F71805F_SYSCTL_SENSOR2, VALUE(1), 0 }, 
     5541        { SENSORS_F71805F_TEMP_TYPE(3), "sensor3", NOMAP, NOMAP, R, 
     5542          F71805F_SYSCTL_SENSOR3, VALUE(1), 0 }, 
     5543/* 3 alarm bitvectors */ 
     5544        { SENSORS_F71805F_ALARMS_IN, "alarms_in", NOMAP, NOMAP, R, 
     5545          F71805F_SYSCTL_ALARMS_IN, VALUE(1), 0 }, 
     5546        { SENSORS_F71805F_ALARMS_FAN, "alarms_fan", NOMAP, NOMAP, R, 
     5547          F71805F_SYSCTL_ALARMS_FAN, VALUE(1), 0 }, 
     5548        { SENSORS_F71805F_ALARMS_TEMP, "alarms_temp", NOMAP, NOMAP, R, 
     5549          F71805F_SYSCTL_ALARMS_TEMP, VALUE(1), 0 }, 
     5550        { 0 } 
     5551}; 
     5552 
    54215553sensors_chip_features sensors_chip_features_list[] = 
    54225554{ 
     
    55175649 { SENSORS_LM93_PREFIX, lm93_features }, 
    55185650 { SENSORS_SMSC47B397_PREFIX, smsc47b397_features }, 
     5651 { SENSORS_F71805F_PREFIX, f71805f_features }, 
    55195652 { 0 } 
    55205653}; 
  • lm-sensors/trunk/lib/chips.h

    r3012 r3169  
    20912091#define SENSORS_SMSC47B397_FAN4         0x14 /* R */ 
    20922092 
     2093/* Fintek F71805F chip */ 
     2094#define SENSORS_F71805F_PREFIX          "f71805f" 
     2095 
     2096/* in n from 0 to 8 */ 
     2097#define SENSORS_F71805F_IN(n)           (1 + (n)) 
     2098#define SENSORS_F71805F_IN_MIN(n)       (16 + (n)) 
     2099#define SENSORS_F71805F_IN_MAX(n)       (31 + (n)) 
     2100/* fan n from 1 to 3 */ 
     2101#define SENSORS_F71805F_FAN(n)          (50 + (n)) 
     2102#define SENSORS_F71805F_FAN_MIN(n)      (60 + (n)) 
     2103/* temp n from 1 to 3 */ 
     2104#define SENSORS_F71805F_TEMP(n)         (80 + (n)) 
     2105#define SENSORS_F71805F_TEMP_MAX(n)     (90 + (n)) 
     2106#define SENSORS_F71805F_TEMP_HYST(n)    (100 + (n)) 
     2107#define SENSORS_F71805F_TEMP_TYPE(n)    (110 + (n)) 
     2108/* alarms */ 
     2109#define SENSORS_F71805F_ALARMS_IN       200 
     2110#define SENSORS_F71805F_ALARMS_FAN      201 
     2111#define SENSORS_F71805F_ALARMS_TEMP     202 
     2112 
    20932113#endif /* def LIB_SENSORS_CHIPS_H */ 
  • lm-sensors/trunk/mkpatch/Config.in

    r2974 r3169  
    2121    dep_tristate '  Asus ASB100' CONFIG_SENSORS_ASB100 $CONFIG_I2C $CONFIG_I2C_PROC 
    2222    dep_tristate '  Dallas DS1621 and DS1625' CONFIG_SENSORS_DS1621 $CONFIG_I2C $CONFIG_I2C_PROC 
     23    dep_tristate '  Fintek F71805F' CONFIG_SENSORS_F71805F $CONFIG_I2C $CONFIG_I2C_PROC 
    2324    dep_tristate '  Fujitsu-Siemens Hermes' CONFIG_SENSORS_FSCHER $CONFIG_I2C $CONFIG_I2C_PROC 
    2425    dep_tristate '  Fujitsu-Siemens Poseidon' CONFIG_SENSORS_FSCPOS $CONFIG_I2C $CONFIG_I2C_PROC 
  • lm-sensors/trunk/mkpatch/FILES

    r2974 r3169  
    3030kernel/chips/ds1621.c           drivers/sensors/ds1621.c 
    3131kernel/chips/eeprom.c           drivers/sensors/eeprom.c 
     32kernel/chips/f71805f.c          drivers/sensors/f71805f.c 
    3233kernel/chips/fscher.c           drivers/sensors/fscher.c 
    3334kernel/chips/fscpos.c           drivers/sensors/fscpos.c 
  • lm-sensors/trunk/mkpatch/mkpatch.pl

    r3157 r3169  
    107107           m@Asus ASB100@ or 
    108108           m@Dallas DS1621 and DS1625@ or 
     109           m@Fintek F71805F@ or 
    109110           m@Fujitsu-Siemens Hermes@ or 
    110111           m@Fujitsu-Siemens Poseidon@ or 
     
    374375  If you say yes here you get support for the Dallas DS1621 and DS1625x 
    375376  sensor chips.  This can also be built as a module. 
     377 
     378  You will also need the latest user-space utilities: you can find them 
     379  in the lm_sensors package, which you can download at 
     380  http://www.lm-sensors.nu/ 
     381 
     382Fintek F71805F 
     383CONFIG_SENSORS_F71805F 
     384  If you say yes here you get support for the hardware monitoring 
     385  features of the Fintek F71805F/FG Super-I/O chip.  This can also be 
     386  built as a module. 
    376387 
    377388  You will also need the latest user-space utilities: you can find them 
     
    10171028obj-$(CONFIG_SENSORS_DS1621)    += ds1621.o 
    10181029obj-$(CONFIG_SENSORS_EEPROM)    += eeprom.o 
     1030obj-$(CONFIG_SENSORS_FSCHER)    += f71085f.o 
    10191031obj-$(CONFIG_SENSORS_FSCHER)    += fscher.o 
    10201032obj-$(CONFIG_SENSORS_FSCPOS)    += fscpos.o 
  • lm-sensors/trunk/prog/sensors/chips.c

    r3118 r3169  
    57695769} 
    57705770 
     5771void print_f71805f(const sensors_chip_name *name) 
     5772{ 
     5773  char *label; 
     5774  double cur, min, max; 
     5775  int alarms, valid, i; 
     5776 
     5777  if (!sensors_get_feature(*name, SENSORS_F71805F_ALARMS_IN, &cur)) 
     5778    alarms = cur + 0.5; 
     5779  else { 
     5780    printf("ERROR: Can't get alarms_in data!\n"); 
     5781    alarms = 0; 
     5782  } 
     5783 
     5784  for (i = 0; i < 9; i++) { 
     5785    if (!sensors_get_label_and_valid(*name, SENSORS_F71805F_IN(i), 
     5786        &label, &valid) 
     5787     && !sensors_get_feature(*name, SENSORS_F71805F_IN(i), &cur) 
     5788     && !sensors_get_feature(*name, SENSORS_F71805F_IN_MIN(i), &min) 
     5789     && !sensors_get_feature(*name, SENSORS_F71805F_IN_MAX(i), &max)) { 
     5790      if (valid) { 
     5791        print_label(label, 10); 
     5792        printf("%+6.2f V  (min = %+6.2f V, max = %+6.2f V)  %s\n", 
     5793               cur, min, max, (alarms & (1 << i)) ? "ALARM" : ""); 
     5794      } 
     5795    } else 
     5796      printf("ERROR: Can't get in%d data!\n", i); 
     5797    free(label); 
     5798  } 
     5799 
     5800  if (!sensors_get_feature(*name, SENSORS_F71805F_ALARMS_FAN, &cur)) 
     5801    alarms = cur + 0.5; 
     5802  else { 
     5803    printf("ERROR: Can't get alarms_fan data!\n"); 
     5804    alarms = 0; 
     5805  } 
     5806 
     5807  for (i = 1; i <= 3; i++) { 
     5808    if (!sensors_get_label_and_valid(*name, SENSORS_F71805F_FAN(i), 
     5809        &label, &valid) 
     5810     && !sensors_get_feature(*name, SENSORS_F71805F_FAN(i), &cur) 
     5811     && !sensors_get_feature(*name, SENSORS_F71805F_FAN_MIN(i), &min)) { 
     5812      if (valid) { 
     5813        print_label(label, 10); 
     5814        printf("%4.0f RPM  (min = %4.0f RPM)                  %s\n", 
     5815               cur, min, (alarms & (1 << (i - 1))) ? "ALARM" : ""); 
     5816      } 
     5817    } else 
     5818      printf("ERROR: Can't get fan%d data!\n", i); 
     5819    free(label); 
     5820  } 
     5821 
     5822  if (!sensors_get_feature(*name, SENSORS_F71805F_ALARMS_TEMP, &cur)) 
     5823    alarms = cur + 0.5; 
     5824  else { 
     5825    printf("ERROR: Can't get alarms_temp data!\n"); 
     5826    alarms = 0; 
     5827  } 
     5828 
     5829  for (i = 1; i <= 3; i++) { 
     5830    if (!sensors_get_label_and_valid(*name, SENSORS_F71805F_TEMP(i), 
     5831        &label, &valid) 
     5832     && !sensors_get_feature(*name, SENSORS_F71805F_TEMP(i), &cur) 
     5833     && !sensors_get_feature(*name, SENSORS_F71805F_TEMP_MAX(i), &max) 
     5834     && !sensors_get_feature(*name, SENSORS_F71805F_TEMP_HYST(i), &min)) { 
     5835      if (valid) { 
     5836        print_label(label, 10); 
     5837        print_temp_info(cur, max, min, HYST, 0, 0); 
     5838        printf("%5s", (alarms & (1 << (i - 1))) ? "ALARM" : ""); 
     5839        if (!sensors_get_feature(*name, SENSORS_F71805F_TEMP_TYPE(i), &cur)) { 
     5840          int sensor = cur + 0.5; 
     5841          printf("  [%s]", sensor == 3 ? "diode" : "thermistor"); 
     5842        } 
     5843        printf("\n"); 
     5844      } 
     5845    } else 
     5846      printf("ERROR: Can't get temp%d data!\n", i); 
     5847    free(label); 
     5848  } 
     5849} 
     5850 
    57715851void print_unknown_chip(const sensors_chip_name *name) 
    57725852{ 
  • lm-sensors/trunk/prog/sensors/chips.h

    r2950 r3169  
    7171extern void print_adm1031(const sensors_chip_name *name); 
    7272extern void print_smsc47b397(const sensors_chip_name *name); 
     73extern void print_f71805f(const sensors_chip_name *name); 
    7374 
    7475#endif /* def PROG_SENSORS_CHIPS_H */ 
  • lm-sensors/trunk/prog/sensors/main.c

    r3120 r3169  
    413413        { "lm93", print_lm93 }, 
    414414        { "smsc47b397", print_smsc47b397 }, 
     415        { "f71805f", print_f71805f }, 
    415416        { NULL, NULL } 
    416417};