Changeset 1246
- Timestamp:
- 11/21/01 02:01:17 (7 years ago)
- Files:
-
- lm-sensors/trunk/CHANGES (modified) (1 diff)
- lm-sensors/trunk/README (modified) (1 diff)
- lm-sensors/trunk/doc/chips/SUMMARY (modified) (1 diff)
- lm-sensors/trunk/doc/chips/w83781d (modified) (2 diffs)
- lm-sensors/trunk/etc/sensors.conf.eg (modified) (1 diff)
- lm-sensors/trunk/kernel/chips/w83781d.c (modified) (29 diffs)
- lm-sensors/trunk/lib/chips.c (modified) (1 diff)
- lm-sensors/trunk/lib/chips.h (modified) (1 diff)
- lm-sensors/trunk/prog/detect/sensors-detect (modified) (1 diff)
- lm-sensors/trunk/prog/sensors/chips.c (modified) (8 diffs)
- lm-sensors/trunk/prog/sensors/main.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
lm-sensors/trunk/CHANGES
r1244 r1246 19 19 20 20 2.6.3 (2001????) 21 Library: Add PCF8591 support21 Library: Add PCF8591 and W83697HF support 22 22 Module pcf8591: new 23 Module w83781d: Add W83697HF support 23 24 Program i2cdump: Add i2c block read capability 24 Program sensors: Add PCF8591 support25 Program sensors: Add PCF8591 and W83697HF support 25 26 Program sensors-detect: Add several Nvidia chips, add PCF8591 26 27 lm-sensors/trunk/README
r1243 r1246 67 67 TI THMC10 and THMC50 68 68 VIA Technologies VT82C686A/B embedded sensors 69 Winbond W83781D, W83782D, W83783S, and W83627HF69 Winbond W83781D, W83782D, W83783S, W83627HF, and W83697HF 70 70 71 71 lm-sensors/trunk/doc/chips/SUMMARY
r1243 r1246 130 130 w83783s 1-2 5-6 3 2 pwm yes no 131 131 w83627hf 3 9 3 2 pwm yes yes (LPC) 132 w83697hf 2 6 23 2 pwm no yes 132 133 133 134 lm-sensors/trunk/doc/chips/w83781d
r1209 r1246 6 6 W83783S support is complete but has not been well-tested. 7 7 W83627HF support is complete but has not been well-tested. 8 W83697HF support is complete but has not been well-tested. 8 9 AS99127F support is BETA and has known problems due to lack of a 9 10 chip datasheet. SEE BELOW. … … 25 26 Prefix 'w83627hf' 26 27 Addresses scanned: I2C 0x20 - 0x2f (inclusive), ISA 0x290 (8 I/O ports) 28 Datasheet: Publicly available at the Winbond website 29 * Winbond W83697HF 30 Prefix 'w83697hf' 31 Addresses scanned: ISA 0x290 (8 I/O ports) 27 32 Datasheet: Publicly available at the Winbond website 28 33 * Asus AS99127F lm-sensors/trunk/etc/sensors.conf.eg
r1243 r1246 344 344 # set temp_hyst 37 345 345 346 chip "w83782d-*" "w83783s-*" "w83627hf-*" 346 chip "w83782d-*" "w83783s-*" "w83627hf-*" "w83697hf-*" 347 347 348 348 # Same as above for w83781d except that in5 and in6 are computed differently. lm-sensors/trunk/kernel/chips/w83781d.c
r1209 r1246 2 2 w83781d.c - Part of lm_sensors, Linux kernel modules for hardware 3 3 monitoring 4 Copyright (c) 1998 , 1999, 2000Frodo Looijaard <frodol@dds.nl>,4 Copyright (c) 1998 - 2001 Frodo Looijaard <frodol@dds.nl>, 5 5 Philip Edelbrock <phil@netroedge.com>, 6 6 and Mark Studebaker <mdsxyz123@yahoo.com> … … 30 30 w83782d 9 3 2-4 3 0x30 0x5ca3 yes yes 31 31 w83783s 5-6 3 2 1-2 0x40 0x5ca3 yes no 32 w83697hf 6 2 2 2 0x60 0x5ca3 no yes(LPC) 32 33 33 34 */ … … 47 48 #include <linux/init.h> 48 49 49 #ifdef MODULE_LICENSE50 MODULE_LICENSE("GPL");51 #endif52 53 50 #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,2,18)) || \ 54 51 (LINUX_VERSION_CODE == KERNEL_VERSION(2,3,0)) … … 70 67 71 68 /* Insmod parameters */ 72 SENSORS_INSMOD_ 5(w83781d, w83782d, w83783s, w83627hf, as99127f);69 SENSORS_INSMOD_6(w83781d, w83782d, w83783s, w83627hf, as99127f, w83697hf); 73 70 74 71 static int init = 1; … … 76 73 MODULE_PARM_DESC(init, "Set to zero to bypass chip initialization"); 77 74 78 /* Many W83781D constants specified below */75 /* Constants specified below */ 79 76 80 77 /* Length of ISA address segment */ … … 694 691 }; 695 692 693 /* similar to w83783s but no fan3, no vid */ 694 static ctl_table w83697hf_dir_table_template[] = { 695 {W83781D_SYSCTL_IN0, "in0", NULL, 0, 0644, NULL, &i2c_proc_real, 696 &i2c_sysctl_real, NULL, &w83781d_in}, 697 /* no in1 to maintain compatibility with 781d and 782d. */ 698 {W83781D_SYSCTL_IN2, "in2", NULL, 0, 0644, NULL, &i2c_proc_real, 699 &i2c_sysctl_real, NULL, &w83781d_in}, 700 {W83781D_SYSCTL_IN3, "in3", NULL, 0, 0644, NULL, &i2c_proc_real, 701 &i2c_sysctl_real, NULL, &w83781d_in}, 702 {W83781D_SYSCTL_IN4, "in4", NULL, 0, 0644, NULL, &i2c_proc_real, 703 &i2c_sysctl_real, NULL, &w83781d_in}, 704 {W83781D_SYSCTL_IN5, "in5", NULL, 0, 0644, NULL, &i2c_proc_real, 705 &i2c_sysctl_real, NULL, &w83781d_in}, 706 {W83781D_SYSCTL_IN6, "in6", NULL, 0, 0644, NULL, &i2c_proc_real, 707 &i2c_sysctl_real, NULL, &w83781d_in}, 708 {W83781D_SYSCTL_FAN1, "fan1", NULL, 0, 0644, NULL, &i2c_proc_real, 709 &i2c_sysctl_real, NULL, &w83781d_fan}, 710 {W83781D_SYSCTL_FAN2, "fan2", NULL, 0, 0644, NULL, &i2c_proc_real, 711 &i2c_sysctl_real, NULL, &w83781d_fan}, 712 {W83781D_SYSCTL_TEMP1, "temp1", NULL, 0, 0644, NULL, &i2c_proc_real, 713 &i2c_sysctl_real, NULL, &w83781d_temp}, 714 {W83781D_SYSCTL_TEMP2, "temp2", NULL, 0, 0644, NULL, &i2c_proc_real, 715 &i2c_sysctl_real, NULL, &w83781d_temp_add}, 716 {W83781D_SYSCTL_FAN_DIV, "fan_div", NULL, 0, 0644, NULL, &i2c_proc_real, 717 &i2c_sysctl_real, NULL, &w83781d_fan_div}, 718 {W83781D_SYSCTL_ALARMS, "alarms", NULL, 0, 0444, NULL, &i2c_proc_real, 719 &i2c_sysctl_real, NULL, &w83781d_alarms}, 720 {W83781D_SYSCTL_BEEP, "beep", NULL, 0, 0644, NULL, &i2c_proc_real, 721 &i2c_sysctl_real, NULL, &w83781d_beep}, 722 {W83781D_SYSCTL_PWM1, "pwm1", NULL, 0, 0644, NULL, &i2c_proc_real, 723 &i2c_sysctl_real, NULL, &w83781d_pwm}, 724 {W83781D_SYSCTL_PWM2, "pwm2", NULL, 0, 0644, NULL, &i2c_proc_real, 725 &i2c_sysctl_real, NULL, &w83781d_pwm}, 726 {W83781D_SYSCTL_SENS1, "sensor1", NULL, 0, 0644, NULL, &i2c_proc_real, 727 &i2c_sysctl_real, NULL, &w83781d_sens}, 728 {W83781D_SYSCTL_SENS2, "sensor2", NULL, 0, 0644, NULL, &i2c_proc_real, 729 &i2c_sysctl_real, NULL, &w83781d_sens}, 730 {0} 731 }; 732 696 733 697 734 /* This function is called when: … … 828 865 else if (val1 == 0x30 && vendid == asus && !is_isa) 829 866 kind = as99127f; 867 else if (val1 == 0x60 && vendid == winbond && is_isa) 868 kind = w83697hf; 830 869 else { 831 870 if (kind == 0) 832 871 printk 833 ( "w83781d.o: Ignoring 'force' parameter for unknown chip at"872 (KERN_WARNING "w83781d.o: Ignoring 'force' parameter for unknown chip at" 834 873 "adapter %d, address 0x%02x\n", 835 874 i2c_adapter_id(adapter), address); … … 853 892 type_name = "as99127f"; 854 893 client_name = "AS99127F chip"; 894 } else if (kind == w83697hf) { 895 type_name = "w83697hf"; 896 client_name = "W83697HF chip"; 855 897 } else { 856 898 #ifdef DEBUG 857 printk( "w83781d.o: Internal error: unknown kind (%d)?!?",899 printk(KERN_ERR "w83781d.o: Internal error: unknown kind (%d)?!?", 858 900 kind); 859 901 #endif … … 890 932 data->lm75[1].addr = 0x48 + ((val1 >> 4) & 0x07); 891 933 if(data->lm75[0].addr == data->lm75[1].addr) { 892 printk( "w83781d.o: Duplicate addresses 0x%x for subclients.\n",934 printk(KERN_ERR "w83781d.o: Duplicate addresses 0x%x for subclients.\n", 893 935 data->lm75[0].addr); 894 936 goto ERROR5; … … 914 956 data->lm75[i].id = w83781d_id++; 915 957 if ((err = i2c_attach_client(&(data->lm75[i])))) { 916 printk( "w83781d.o: Subclient %d registration at address 0x%x failed.\n",958 printk(KERN_ERR "w83781d.o: Subclient %d registration at address 0x%x failed.\n", 917 959 i, data->lm75[i].addr); 918 960 if (i == 1) … … 931 973 if ((i = i2c_register_entry(new_client, 932 974 type_name, 933 kind == as99127f?975 (kind == as99127f) ? 934 976 as99127f_dir_table_template : 935 kind == w83781d?977 (kind == w83781d) ? 936 978 w83781d_dir_table_template : 937 kind == w83783s?979 (kind == w83783s) ? 938 980 w83783s_dir_table_template : 981 (kind == w83697hf) ? 982 w83697hf_dir_table_template : 939 983 (is_isa || kind == w83627hf) ? 940 984 w83782d_isa_dir_table_template : … … 988 1032 if ((err = i2c_detach_client(client))) { 989 1033 printk 990 ( "w83781d.o: Client deregistration failed, client not detached.\n");1034 (KERN_ERR "w83781d.o: Client deregistration failed, client not detached.\n"); 991 1035 return err; 992 1036 } … … 1210 1254 } 1211 1255 1212 vid = w83781d_read_value(client, W83781D_REG_VID_FANDIV) & 0x0f; 1213 vid |= 1214 (w83781d_read_value(client, W83781D_REG_CHIPID) & 0x01) << 4; 1215 vid = VID_FROM_REG(vid); 1256 if (type != w83697hf) { 1257 vid = w83781d_read_value(client, W83781D_REG_VID_FANDIV) & 0x0f; 1258 vid |= 1259 (w83781d_read_value(client, W83781D_REG_CHIPID) & 0x01) << 4; 1260 vid = VID_FROM_REG(vid); 1261 } 1216 1262 1217 1263 if ((type != w83781d) && (type != as99127f)) { … … 1228 1274 data->sens[i - 1] = 2; 1229 1275 } 1230 if ((type == w83783s ) && (i == 2))1276 if ((type == w83783s || type == w83697hf) && (i == 2)) 1231 1277 break; 1232 1278 } … … 1266 1312 w83781d_write_value(client, W83781D_REG_IN_MAX(0), 1267 1313 IN_TO_REG(W83781D_INIT_IN_MAX_0)); 1268 if (type != w83783s ) {1314 if (type != w83783s && type != w83697hf) { 1269 1315 w83781d_write_value(client, W83781D_REG_IN_MIN(1), 1270 1316 IN_TO_REG(W83781D_INIT_IN_MIN_1)); … … 1323 1369 w83781d_write_value(client, W83781D_REG_FAN_MIN(2), 1324 1370 FAN_TO_REG(W83781D_INIT_FAN_MIN_2, 2)); 1325 w83781d_write_value(client, W83781D_REG_FAN_MIN(3), 1371 if (type != w83697hf) { 1372 w83781d_write_value(client, W83781D_REG_FAN_MIN(3), 1326 1373 FAN_TO_REG(W83781D_INIT_FAN_MIN_3, 2)); 1374 } 1327 1375 1328 1376 w83781d_write_value(client, W83781D_REG_TEMP_OVER, … … 1355 1403 AS99127_TEMP_ADD_TO_REG 1356 1404 (W83781D_INIT_TEMP3_HYST)); 1357 } else if (type != w83783s ) {1405 } else if (type != w83783s && type != w83697hf) { 1358 1406 w83781d_write_value(client, W83781D_REG_TEMP3_OVER, 1359 1407 TEMP_ADD_TO_REG … … 1363 1411 (W83781D_INIT_TEMP3_HYST)); 1364 1412 } 1365 if (type != w83783s ) {1413 if (type != w83783s && type != w83697hf) { 1366 1414 w83781d_write_value(client, W83781D_REG_TEMP3_CONFIG, 1367 1415 0x00); … … 1392 1440 1393 1441 #ifdef DEBUG 1394 printk( "Starting w83781dupdate\n");1442 printk(KERN_DEBUG "Starting device update\n"); 1395 1443 #endif 1396 1444 for (i = 0; i <= 8; i++) { 1397 if ((data->type == w83783s) && (i == 1)) 1445 if ((data->type == w83783s || data->type == w83697hf) 1446 && (i == 1)) 1398 1447 continue; /* 783S has no in1 */ 1399 1448 data->in[i] = … … 1424 1473 || (data->type == w83627hf) 1425 1474 || (data->type == as99127f) 1475 || (data->type == w83697hf) 1426 1476 || ((data->type == w83782d) 1427 1477 && i2c_is_isa_client(client))) … … 1442 1492 data->temp_add_hyst[0] = 1443 1493 w83781d_read_value(client, W83781D_REG_TEMP2_HYST); 1444 if (data->type != w83783s ) {1494 if (data->type != w83783s && data->type != w83697hf) { 1445 1495 data->temp_add[1] = 1446 1496 w83781d_read_value(client, W83781D_REG_TEMP3); … … 1451 1501 } 1452 1502 i = w83781d_read_value(client, W83781D_REG_VID_FANDIV); 1453 data->vid = i & 0x0f; 1454 data->vid |= 1455 (w83781d_read_value(client, W83781D_REG_CHIPID) & 0x01) 1456 << 4; 1503 if (data->type != w83697hf) { 1504 data->vid = i & 0x0f; 1505 data->vid |= 1506 (w83781d_read_value(client, W83781D_REG_CHIPID) & 0x01) 1507 << 4; 1508 } 1457 1509 data->fan_div[0] = (i >> 4) & 0x03; 1458 1510 data->fan_div[1] = (i >> 6) & 0x03; 1459 data->fan_div[2] = (w83781d_read_value(client, 1460 W83781D_REG_PIN) >> 1461 6) & 0x03; 1511 if (data->type != w83697hf) { 1512 data->fan_div[2] = (w83781d_read_value(client, 1513 W83781D_REG_PIN) >> 6) & 0x03; 1514 } 1462 1515 if ((data->type != w83781d) && (data->type != as99127f)) { 1463 1516 i = w83781d_read_value(client, W83781D_REG_VBAT); 1464 1517 data->fan_div[0] |= (i >> 3) & 0x04; 1465 1518 data->fan_div[1] |= (i >> 4) & 0x04; 1466 data->fan_div[2] |= (i >> 5) & 0x04; 1519 if (data->type != w83697hf) 1520 data->fan_div[2] |= (i >> 5) & 0x04; 1467 1521 } 1468 1522 data->alarms = … … 1707 1761 } 1708 1762 1763 /* w83697hf only has two fans */ 1709 1764 void w83781d_fan_div(struct i2c_client *client, int operation, 1710 1765 int ctl_name, int *nrels_mag, long *results) … … 1719 1774 results[0] = DIV_FROM_REG(data->fan_div[0]); 1720 1775 results[1] = DIV_FROM_REG(data->fan_div[1]); 1721 results[2] = DIV_FROM_REG(data->fan_div[2]); 1722 *nrels_mag = 3; 1776 if (data->type == w83697hf) { 1777 *nrels_mag = 2; 1778 } else { 1779 results[2] = DIV_FROM_REG(data->fan_div[2]); 1780 *nrels_mag = 3; 1781 } 1723 1782 } else if (operation == SENSORS_PROC_REAL_WRITE) { 1724 1783 old = w83781d_read_value(client, W83781D_REG_VID_FANDIV); … … 1728 1787 w83781d_read_value(client, W83781D_REG_VBAT); 1729 1788 } 1730 if (*nrels_mag >= 3 ) {1789 if (*nrels_mag >= 3 && data->type != w83697hf) { 1731 1790 data->fan_div[2] = 1732 1791 DIV_TO_REG(results[2], data->type); … … 1851 1910 default: 1852 1911 printk 1853 ( "w83781d.o: Invalid sensor type %ld; must be 1, 2, or %d\n",1912 (KERN_ERR "w83781d.o: Invalid sensor type %ld; must be 1, 2, or %d\n", 1854 1913 results[0], W83781D_DEFAULT_BETA); 1855 1914 break; … … 1892 1951 int res; 1893 1952 1894 printk( "w83781d.o version %s (%s)\n", LM_VERSION, LM_DATE);1953 printk(KERN_INFO "w83781d.o version %s (%s)\n", LM_VERSION, LM_DATE); 1895 1954 w83781d_initialized = 0; 1896 1955 1897 1956 if ((res = i2c_add_driver(&w83781d_driver))) { 1898 1957 printk 1899 ( "w83781d.o: Driver registration failed, module not inserted.\n");1958 (KERN_ERR "w83781d.o: Driver registration failed, module not inserted.\n"); 1900 1959 w83781d_cleanup(); 1901 1960 return res; … … 1912 1971 if ((res = i2c_del_driver(&w83781d_driver))) { 1913 1972 printk 1914 ( "w83781d.o: Driver deregistration failed, module not removed.\n");1973 (KERN_ERR "w83781d.o: Driver deregistration failed, module not removed.\n"); 1915 1974 return res; 1916 1975 } … … 1928 1987 "and Mark Studebaker <mdsxyz123@yahoo.com>"); 1929 1988 MODULE_DESCRIPTION("W83781D driver"); 1989 #ifdef MODULE_LICENSE 1990 MODULE_LICENSE("GPL"); 1991 #endif 1992 1930 1993 1931 1994 int init_module(void) lm-sensors/trunk/lib/chips.c
r1243 r1246 2486 2486 { SENSORS_W83782D_PREFIX, w83782d_features }, 2487 2487 { SENSORS_W83783S_PREFIX, w83783s_features }, 2488 { SENSORS_W83697HF_PREFIX, w83783s_features }, /* same as 783s */ 2488 2489 /* Cheat on 83627HF for now - no separate #defines */ 2489 2490 { SENSORS_W83627HF_PREFIX, w83782d_features }, lm-sensors/trunk/lib/chips.h
r1243 r1246 432 432 433 433 /* Winbond W83783S chips */ 434 /* Cheat on 697HF for now - no separate #defines */ 434 435 435 436 #define SENSORS_W83783S_PREFIX "w83783s" 437 #define SENSORS_W83697HF_PREFIX "w83697hf" 436 438 437 439 #define SENSORS_W83783S_IN0 1 /* R */ lm-sensors/trunk/prog/detect/sensors-detect
r1243 r1246 646 646 { 647 647 name => "Winbond W83697HF", 648 driver => " Unwritten (W83697HF)",648 driver => "w83781d", 649 649 isa_addrs => [0x290], 650 650 isa_detect => sub { w83781d_isa_detect 5, @_ }, lm-sensors/trunk/prog/sensors/chips.c
r1243 r1246 1817 1817 double cur,min,max,fdiv,sens; 1818 1818 int alarms,beeps; 1819 int is82d, is83s, valid;1819 int is82d, is83s, is697hf, valid; 1820 1820 1821 1821 is82d = (!strcmp(name->prefix,"w83782d")) || 1822 1822 (!strcmp(name->prefix,"w83627hf")); 1823 1823 is83s = !strcmp(name->prefix,"w83783s"); 1824 is697hf = !strcmp(name->prefix,"w83697hf"); 1824 1825 if (!sensors_get_feature(*name,SENSORS_W83781D_ALARMS,&cur)) 1825 1826 alarms = cur + 0.5; … … 1852 1853 printf("ERROR: Can't get IN0 data!\n"); 1853 1854 free_the_label(&label); 1854 if ( !is83s) {1855 if ((!is83s) && (!is697hf)) { 1855 1856 if (!sensors_get_label_and_valid(*name,SENSORS_W83781D_IN1,&label,&valid) && 1856 1857 !sensors_get_feature(*name,SENSORS_W83781D_IN1,&cur) && … … 1919 1920 printf("ERROR: Can't get IN5 data!\n"); 1920 1921 free_the_label(&label); 1921 if ( !is83s) {1922 if ((!is83s) && (!is697hf)) { 1922 1923 if (!sensors_get_label_and_valid(*name,SENSORS_W83781D_IN6,&label,&valid) && 1923 1924 !sensors_get_feature(*name,SENSORS_W83781D_IN6,&cur) && … … 1989 1990 printf("ERROR: Can't get FAN2 data!\n"); 1990 1991 free_the_label(&label); 1991 if (!sensors_get_label_and_valid(*name,SENSORS_W83781D_FAN3,&label,&valid) && 1992 !sensors_get_feature(*name,SENSORS_W83781D_FAN3,&cur) && 1993 !sensors_get_feature(*name,SENSORS_W83781D_FAN3_DIV,&fdiv) && 1994 !sensors_get_feature(*name,SENSORS_W83781D_FAN3_MIN,&min)) { 1995 if (valid) { 1996 print_label(label,10); 1997 printf("%4.0f RPM (min = %4.0f RPM, div = %1.0f) %s %s\n", 1998 cur,min,fdiv, alarms&W83781D_ALARM_FAN3?"ALARM":" ", 1999 beeps&W83781D_ALARM_FAN3?"(beep)":""); 2000 } 2001 } else 2002 printf("ERROR: Can't get FAN3 data!\n"); 2003 free_the_label(&label); 1992 1993 if(!is697hf) { 1994 if (!sensors_get_label_and_valid(*name,SENSORS_W83781D_FAN3,&label,&valid) && 1995 !sensors_get_feature(*name,SENSORS_W83781D_FAN3,&cur) && 1996 !sensors_get_feature(*name,SENSORS_W83781D_FAN3_DIV,&fdiv) && 1997 !sensors_get_feature(*name,SENSORS_W83781D_FAN3_MIN,&min)) { 1998 if (valid) { 1999 print_label(label,10); 2000 printf("%4.0f RPM (min = %4.0f RPM, div = %1.0f) %s %s\n", 2001 cur,min,fdiv, alarms&W83781D_ALARM_FAN3?"ALARM":" ", 2002 beeps&W83781D_ALARM_FAN3?"(beep)":""); 2003 } 2004 } else 2005 printf("ERROR: Can't get FAN3 data!\n"); 2006 free_the_label(&label); 2007 } 2004 2008 2005 2009 if (!sensors_get_label_and_valid(*name,SENSORS_W83781D_TEMP1,&label,&valid) && … … 2008 2012 !sensors_get_feature(*name,SENSORS_W83781D_TEMP1_OVER,&max)) { 2009 2013 if (valid) { 2010 if((!is82d) && (!is83s) ) {2014 if((!is82d) && (!is83s) && (!is697hf)) { 2011 2015 print_label(label,10); 2012 2016 print_temp_info( cur, max, min, HYST, 0, 0); … … 2036 2040 !sensors_get_feature(*name,SENSORS_W83781D_TEMP2_OVER,&max)) { 2037 2041 if (valid) { 2038 if((!is82d) && (!is83s) ) {2042 if((!is82d) && (!is83s) && (!is697hf)) { 2039 2043 print_label(label,10); 2040 2044 print_temp_info( cur, max, min, HYST, 1, 0); … … 2059 2063 free_the_label(&label); 2060 2064 2061 if ( !is83s) {2065 if ((!is83s) && (!is697hf)) { 2062 2066 if (!sensors_get_label_and_valid(*name,SENSORS_W83781D_TEMP3,&label,&valid) && 2063 2067 !sensors_get_feature(*name,SENSORS_W83781D_TEMP3,&cur) && … … 2089 2093 } 2090 2094 2091 if (!sensors_get_label_and_valid(*name,SENSORS_W83781D_VID,&label,&valid) && 2092 !sensors_get_feature(*name,SENSORS_W83781D_VID,&cur)) { 2093 if (valid) { 2094 print_label(label,10); 2095 printf("%+5.2f V\n",cur); 2096 } 2097 } 2098 free_the_label(&label); 2095 if(!is697hf) { 2096 if (!sensors_get_label_and_valid(*name,SENSORS_W83781D_VID,&label,&valid) && 2097 !sensors_get_feature(*name,SENSORS_W83781D_VID,&cur)) { 2098 if (valid) { 2099 print_label(label,10); 2100 printf("%+5.2f V\n",cur); 2101 } 2102 } else { 2103 printf("ERROR: Can't get VID data!\n"); 2104 } 2105 free_the_label(&label); 2106 } 2099 2107 2100 2108 if (!sensors_get_label_and_valid(*name,SENSORS_W83781D_ALARMS,&label,&valid) lm-sensors/trunk/prog/sensors/main.c
r1243 r1246 324 324 (!strcmp(name.prefix,"w83783s")) || 325 325 (!strcmp(name.prefix,"w83627hf")) || 326 (!strcmp(name.prefix,"w83697hf")) || 326 327 (!strcmp(name.prefix,"as99127f"))) 327 328 print_w83781d(&name);
