Changeset 935
- Timestamp:
- 11/27/00 00:07:17 (13 years ago)
- Location:
- lm-sensors/trunk
- Files:
-
- 2 added
- 12 modified
-
CHANGES (modified) (2 diffs)
-
README (modified) (1 diff)
-
doc/chips/SUMMARY (modified) (1 diff)
-
doc/chips/ds1621 (added)
-
kernel/chips/Module.mk (modified) (1 diff)
-
kernel/chips/ds1621.c (added)
-
kernel/include/sensors.h (modified) (2 diffs)
-
kernel/sensors.c (modified) (2 diffs)
-
lib/chips.c (modified) (2 diffs)
-
lib/chips.h (modified) (1 diff)
-
prog/detect/sensors-detect (modified) (3 diffs)
-
prog/sensors/chips.c (modified) (1 diff)
-
prog/sensors/chips.h (modified) (1 diff)
-
prog/sensors/main.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
lm-sensors/trunk/CHANGES
r933 r935 21 21 Chip modules (all): Update mutex definition (works now for new 2.2 kernels) 22 22 File sensors.conf.eg: Add mtp008 entries 23 Library: Add mtp008 support23 Library: Add ds1621, mtp008 support 24 24 Module adm1021: Add support for adm1021a / adm1023 25 Module ddcmon: allow force and force_ddcmon parameters 26 Module ds1621: new 25 27 Module i2c-ali1535: Enhance error checking and recovery; add mutex 26 Module ddcmon: allow force and force_ddcmon parameters27 28 Module lm87: update voltage calculations 28 29 Module mtp008: new … … 30 31 Module w83781d: fix beep setting via /proc 31 32 Program mkpatch.pl: more fixes 32 Program sensors: Add mtp008 support, add -f (Fahrenheit) option33 Program sensors-detect: Add mtp008 detection33 Program sensors: Add ds1621, mtp008 support, add -f (Fahrenheit) option 34 Program sensors-detect: Add ds1621, mtp008 detection 34 35 35 36 2.5.4 (20001012) -
lm-sensors/trunk/README
r909 r935 52 52 ADM1023, ADM1025, and ADM9240 53 53 Asus AS99127F 54 Dallas Semiconductor DS 1780, DS75, and DS177554 Dallas Semiconductor DS75, DS1621, DS1775, and DS1780 55 55 Hewlett Packard Maxilife (several revisions including '99 NBA) 56 56 Genesys Logic GL518SM (rev 00, 80), GL520SM, GL523SM -
lm-sensors/trunk/doc/chips/SUMMARY
r934 r935 56 56 ds1780 1 6 2 1 dac yes no 57 57 lm81 1 6 2 1 dac yes no 58 59 ds1621 60 ds1621 1 - - - yes no 58 61 59 62 gl518sm -
lm-sensors/trunk/kernel/chips/Module.mk
r911 r935 37 37 ifneq ($(shell if grep -q '^CONFIG_SENSORS_ADM9240=y' $(LINUX)/.config; then echo 1; fi),1) 38 38 KERNELCHIPSTARGETS += $(MODULE_DIR)/adm9240.o 39 endif 40 ifneq ($(shell if grep -q '^CONFIG_SENSORS_DS1621=y' $(LINUX)/.config; then echo 1; fi),1) 41 KERNELCHIPSTARGETS += $(MODULE_DIR)/ds1621.o 39 42 endif 40 43 ifneq ($(shell if grep -q '^CONFIG_SENSORS_EEPROM=y' $(LINUX)/.config; then echo 1; fi),1) -
lm-sensors/trunk/kernel/include/sensors.h
r909 r935 403 403 #define I2C_DRIVERID_PCF8574 1022 404 404 #define I2C_DRIVERID_MTP008 1023 405 #define I2C_DRIVERID_DS1621 1024 405 406 406 407 /* Sysctl IDs */ … … 816 817 #define MTP008_ALARM_TEMP3 0x0200 817 818 819 #define DS1621_SYSCTL_TEMP 1200 /* Degrees Celcius * 10 */ 820 #define DS1621_SYSCTL_ALARMS 2001 /* bitvector */ 821 #define DS1621_ALARM_TEMP_HIGH 0x40 822 #define DS1621_ALARM_TEMP_LOW 0x20 823 #define DS1621_SYSCTL_ENABLE 2002 824 818 825 #endif /* def SENSORS_SENSORS_H */ 819 826 -
lm-sensors/trunk/kernel/sensors.c
r929 r935 923 923 extern int sensors_adm9024_init(void); 924 924 #endif 925 #ifdef CONFIG_SENSORS_DS1621 926 extern int sensors_ds1621_init(void); 927 #endif 925 928 #ifdef CONFIG_SENSORS_GL518SM 926 929 extern int sensors_gl518sm_init(void); … … 957 960 sensors_adm9024_init(); 958 961 #endif 962 #ifdef CONFIG_SENSORS_DS1621 963 sensors_ds1621_init(); 964 #endif 959 965 #ifdef CONFIG_SENSORS_GL518SM 960 966 sensors_gl518sm_init(); -
lm-sensors/trunk/lib/chips.c
r909 r935 1973 1973 }; 1974 1974 1975 static sensors_chip_feature ds1621_features[] = 1976 { 1977 { SENSORS_DS1621_TEMP, "temp", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 1978 SENSORS_MODE_R, DS1621_SYSCTL_TEMP, VALUE(3), 1 }, 1979 { SENSORS_DS1621_TEMP_HYST, "temp_hyst", SENSORS_DS1621_TEMP, 1980 SENSORS_DS1621_TEMP, SENSORS_MODE_RW, 1981 DS1621_SYSCTL_TEMP, VALUE(2), 1 }, 1982 { SENSORS_DS1621_TEMP_OVER, "temp_over", SENSORS_DS1621_TEMP, 1983 SENSORS_DS1621_TEMP, SENSORS_MODE_RW, 1984 DS1621_SYSCTL_TEMP, VALUE(1), 1 }, 1985 { SENSORS_DS1621_ALARMS, "alarms", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 1986 SENSORS_MODE_R, DS1621_SYSCTL_ALARMS, VALUE(1), 0 }, 1987 { 0 } 1988 }; 1989 1975 1990 sensors_chip_features sensors_chip_features_list[] = 1976 1991 { … … 2015 2030 { SENSORS_LM87_PREFIX, lm87_features }, 2016 2031 { SENSORS_MTP008_PREFIX, mtp008_features }, 2032 { SENSORS_DS1621_PREFIX, ds1621_features }, 2017 2033 { 0 } 2018 2034 }; -
lm-sensors/trunk/lib/chips.h
r915 r935 902 902 #define SENSORS_MTP008_BEEP 82 /* RW */ 903 903 904 /* DS1621 chips. */ 905 906 #define SENSORS_DS1621_PREFIX "ds1621" 907 908 #define SENSORS_DS1621_TEMP 51 /* R */ 909 #define SENSORS_DS1621_TEMP_HYST 52 /* RW */ 910 #define SENSORS_DS1621_TEMP_OVER 53 /* RW */ 911 #define SENSORS_DS1621_ALARMS 81 /* R */ 912 904 913 #endif /* def LIB_SENSORS_CHIPS_H */ -
lm-sensors/trunk/prog/detect/sensors-detect
r909 r935 361 361 via686a_isa_detect adm1022_detect ltc1710_detect gl525sm_detect 362 362 lm87_detect ite_detect ite_isa_detect ite_alias_detect 363 ddcmonitor_detect );363 ddcmonitor_detect ds1621_detect); 364 364 365 365 # This is a list of all recognized chips. … … 521 521 i2c_detect => sub { adm9240_detect 0, @_ } 522 522 }, 523 { 524 name => "Dallas Semiconductor DS1621", 525 driver => "ds1621", 526 i2c_addrs => [0x48..0x4f], 527 i2c_detect => sub { ds1621_detect @_}, 528 } , 523 529 { 524 530 name => "Dallas Semiconductor DS1780", … … 1567 1573 } 1568 1574 1575 # $_[0]: A reference to the file descriptor to access this chip. 1576 # We may assume an i2c_set_slave_addr was already done. 1577 # $_[1]: Address 1578 # Returns: undef if not detected, (3) if detected, 1579 # (6) or (9) if even more bits match. 1580 # Registers used: 1581 # 0xAC: Configuration 1582 # Detection is weak. We check if Bit 3 is set and Bit 2 is clear. 1583 # The DS1621 will aways have a config like 0x????10??. A even better 1584 # match would be 0x0??01000. 1585 sub ds1621_detect 1586 { 1587 my $i; 1588 my ($file,$addr) = @_; 1589 my $conf = i2c_smbus_read_byte_data($file,0xAC); 1590 return (9) if ($conf & 0x9F) == 0x98; 1591 return (6) if ($conf & 0x0F) == 0x08; 1592 return (3) if ($conf & 0x0C) == 0x08; 1593 return ; 1594 } 1569 1595 1570 1596 # $_[0]: A reference to the file descriptor to access this chip. -
lm-sensors/trunk/prog/sensors/chips.c
r928 r935 104 104 } 105 105 return err; 106 } 107 108 void print_ds1621(const sensors_chip_name *name) 109 { 110 char *label; 111 double cur,hyst,over; 112 int alarms, valid; 113 114 if (!sensors_get_feature(*name,SENSORS_LM78_ALARMS,&cur)) 115 alarms = cur + 0.5; 116 else { 117 printf("ERROR: Can't get alarm data!\n"); 118 alarms = 0; 119 } 120 121 if (!sensors_get_label_and_valid(*name,SENSORS_DS1621_TEMP,&label,&valid) && 122 !sensors_get_feature(*name,SENSORS_DS1621_TEMP,&cur) && 123 !sensors_get_feature(*name,SENSORS_DS1621_TEMP_HYST,&hyst) && 124 !sensors_get_feature(*name,SENSORS_DS1621_TEMP_OVER,&over)) { 125 if (valid) { 126 print_label(label,10); 127 printf("%6.1f C (high limit: %6.1f C, low limit: %6.1f C) ", 128 cur,over,hyst); 129 if (alarms & (DS1621_ALARM_TEMP_HIGH | DS1621_ALARM_TEMP_LOW)) { 130 printf("ALARM ("); 131 if (alarms & DS1621_ALARM_TEMP_LOW) { 132 printf("LOW"); 133 } 134 if (alarms & DS1621_ALARM_TEMP_HIGH) 135 printf("%sHIGH",(alarms & DS1621_ALARM_TEMP_LOW)?",":""); 136 printf(")"); 137 } 138 printf("\n"); 139 } 140 } else 141 printf("ERROR: Can't get temperature data!\n"); 142 free_the_label(&label); 106 143 } 107 144 -
lm-sensors/trunk/prog/sensors/chips.h
r909 r935 25 25 extern void print_unknown_chip(const sensors_chip_name *name); 26 26 27 extern void print_ds1621(const sensors_chip_name *name); 27 28 extern void print_mtp008(const sensors_chip_name *name); 28 29 extern void print_lm75(const sensors_chip_name *name); -
lm-sensors/trunk/prog/sensors/main.c
r928 r935 261 261 if (do_unknown) 262 262 print_unknown_chip(&name); 263 else if (!strcmp(name.prefix,"ds1621")) 264 print_ds1621(&name); 263 265 else if (!strcmp(name.prefix,"lm75")) 264 266 print_lm75(&name);
