Hello community, here is the log from the commit of package sensors for openSUSE:Factory checked in at Mon Jul 25 08:42:31 CEST 2011.
-------- --- sensors/sensors.changes 2011-03-29 19:11:31.000000000 +0200 +++ /mounts/work_src_done/STABLE/sensors/sensors.changes 2011-07-22 19:03:34.000000000 +0200 @@ -1,0 +2,10 @@ +Fri Jul 22 18:56:09 CEST 2011 - jdelv...@suse.de + +- Update to lm_sensors 3.3.1 + * Detection of new devices +- lm_sensors-3.1.1-no-ipmisensors-driver.patch: Removed, obsolete. +- lm_sensors-r5991-improve-filtering-of-fake-DMI-data.patch, + lm_sensors-r5992-print-DMI-product-version.patch: Improve DMI + product identification. + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- lm_sensors-3.1.1-no-ipmisensors-driver.patch lm_sensors-3.3.0.tar.bz2 lm_sensors-r5952-new-fintek-chips.patch New: ---- lm_sensors-3.3.1.tar.bz2 lm_sensors-r5991-improve-filtering-of-fake-DMI-data.patch lm_sensors-r5992-print-DMI-product-version.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ sensors.spec ++++++ --- /var/tmp/diff_new_pack.IiXFGY/_old 2011-07-25 08:41:59.000000000 +0200 +++ /var/tmp/diff_new_pack.IiXFGY/_new 2011-07-25 08:41:59.000000000 +0200 @@ -21,7 +21,7 @@ Name: sensors BuildRequires: bison flex rrdtool-devel Url: http://www.lm-sensors.org/ -Version: 3.3.0 +Version: 3.3.1 Release: 1 Summary: Hardware health monitoring for Linux License: GPLv2+ @@ -35,8 +35,9 @@ Patch2: lm_sensors-3.0.0-sensord-separate.patch Patch3: lm_sensors-3.0.0-sysconfig_metadata.patch Patch4: lm_sensors-3.0.3-hint-at-kernel-extra-package.patch -Patch5: lm_sensors-3.1.1-no-ipmisensors-driver.patch -Patch6: lm_sensors-r5952-new-fintek-chips.patch +Patch5: lm_sensors-r5991-improve-filtering-of-fake-DMI-data.patch +Patch6: lm_sensors-r5992-print-DMI-product-version.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-build ExcludeArch: s390 s390x ++++++ lm_sensors-3.3.0.tar.bz2 -> lm_sensors-3.3.1.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lm_sensors-3.3.0/CHANGES new/lm_sensors-3.3.1/CHANGES --- old/lm_sensors-3.3.0/CHANGES 2011-03-28 09:02:37.000000000 +0200 +++ new/lm_sensors-3.3.1/CHANGES 2011-07-21 22:36:42.000000000 +0200 @@ -1,6 +1,24 @@ lm-sensors CHANGES file ----------------------- +3.3.1 (2011-07-21) + isadump: Add support for word (16-bit) and long (32-bit) reads + isaset: Add support for word (16-bit) and long (32-bit) writes + sensors.conf.default: Add a section for the EMC6W201 + sensors-detect: Add AMD family 15h CPU detection + Add detection of ADT7461A / NCT1008 + Add detection of ITE IT8516E/F/G + Integrate with systemd + Drop unreliable smart battery detection + Add detection of SMSC EMC6W201 + Drop unreliable detection of Maxim MAX6650 + Add detection of SMSC EMC2300 + Add detection of MAX6642 + Add detection of ITE IT8772E + Don't advertise the ipmisensors driver + Add detection of SA56004 + Add detection of LM95245 + 3.3.0 (2011-03-28) Makefile: Check for bison and flex libsensors: Add support for intrusion detection (#2370) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lm_sensors-3.3.0/doc/developers/lm_sensors.lsm new/lm_sensors-3.3.1/doc/developers/lm_sensors.lsm --- old/lm_sensors-3.3.0/doc/developers/lm_sensors.lsm 2011-03-28 09:02:37.000000000 +0200 +++ new/lm_sensors-3.3.1/doc/developers/lm_sensors.lsm 2011-07-21 22:36:42.000000000 +0200 @@ -1,7 +1,7 @@ Begin4 Title: lm_sensors -Version: 3.3.0 -Entered-date: 2011-03-28 +Version: 3.3.1 +Entered-date: 2011-07-21 Description: Hardware health monitoring package for Linux. It consists of a library to allow applications to read sensors data more easily, and of an example program to pretty print this data. @@ -11,8 +11,8 @@ Author: kh...@linux-fr.org (Jean Delvare) Maintained-by: kh...@linux-fr.org (Jean Delvare) Primary-site: http://dl.lm-sensors.org /lm-sensors/releases/ - lm_sensors-3.3.0.tar.bz2 - lm_sensors-3.3.0.tar.bz2.sig + lm_sensors-3.3.1.tar.bz2 + lm_sensors-3.3.1.tar.bz2.sig Alternate-site: ftp.netroedge.com /pub/lm-sensors/ Copying-policy: GPL/LGPL End diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lm_sensors-3.3.0/doc/libsensors-API.txt new/lm_sensors-3.3.1/doc/libsensors-API.txt --- old/lm_sensors-3.3.0/doc/libsensors-API.txt 2011-03-28 09:02:37.000000000 +0200 +++ new/lm_sensors-3.3.1/doc/libsensors-API.txt 2011-07-21 22:36:42.000000000 +0200 @@ -6,7 +6,7 @@ authors can quickly figure out how to test for the availability of a given new feature. -0x431 lm-sensors 3.3.0 +0x431 lm-sensors 3.3.0 to 3.3.1 * Added support for intrusion detection enum sensors_feature_type SENSORS_FEATURE_INTRUSION enum sensors_subfeature_type SENSORS_SUBFEATURE_INTRUSION_ALARM diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lm_sensors-3.3.0/doc/progs new/lm_sensors-3.3.1/doc/progs --- old/lm_sensors-3.3.0/doc/progs 2009-02-14 10:10:41.000000000 +0100 +++ new/lm_sensors-3.3.1/doc/progs 2011-07-21 21:38:10.000000000 +0200 @@ -25,7 +25,7 @@ isadump -k 0x55 0x2e 0x2f * prog/hotplug/unhide_ICH_SMBus (shell script, not installed) - It unhides the ICH Intel SMBus for 2.6 kernels + It unhides the ICH Intel SMBus for kernel 2.6.5 and later. * prog/init/lm_sensors.init (shell script, not installed) A SysV init script to be installed in /etc/rc.d/init.d/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lm_sensors-3.3.0/doc/svn new/lm_sensors-3.3.1/doc/svn --- old/lm_sensors-3.3.0/doc/svn 2008-04-17 13:08:34.000000000 +0200 +++ new/lm_sensors-3.3.1/doc/svn 2011-07-21 21:38:10.000000000 +0200 @@ -4,9 +4,9 @@ that users can have direct access to up-to-the-minute code. (http://subversion.tigris.org/) -Driver development for 2.6 kernels is taking place directly in the kernel -using GIT. Do not use the drivers from our SVN repository for 2.6 kernels, it -will not work. The user-space tools will work though. +Driver development for kernel version 3 is taking place directly in the kernel +using GIT. Do not use the drivers from our SVN repository for kernel version +2.6 or 3, it will not work. The user-space tools will work though. We presume that you have Subversion installed on your machine. To check out a working copy of the code for this project use the following commands: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lm_sensors-3.3.0/etc/sensors-conf-convert new/lm_sensors-3.3.1/etc/sensors-conf-convert --- old/lm_sensors-3.3.0/etc/sensors-conf-convert 2007-10-25 11:59:05.000000000 +0200 +++ new/lm_sensors-3.3.1/etc/sensors-conf-convert 2011-07-21 21:38:10.000000000 +0200 @@ -1,7 +1,7 @@ #!/usr/bin/perl -w -pi.old # Convert a sensors.conf file from the old (Linux 2.4, lm-sensors 2) -# symbol names to the new (Linux 2.6, lm-sensors 3) symbol names. +# symbol names to the new (Linux 2.6 or 3, lm-sensors 3) symbol names. # # Copyright (C) 2007 Jean Delvare <kh...@linux-fr.org> # diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lm_sensors-3.3.0/etc/sensors.conf.default new/lm_sensors-3.3.1/etc/sensors.conf.default --- old/lm_sensors-3.3.0/etc/sensors.conf.default 2011-03-26 09:49:23.000000000 +0100 +++ new/lm_sensors-3.3.1/etc/sensors.conf.default 2011-05-28 11:56:27.000000000 +0200 @@ -223,7 +223,8 @@ label temp1 "SIO Temp" -chip "lm85-*" "lm85b-*" "lm85c-*" "adm1027-*" "adt7463-*" "adt7468-*" "emc6d100-*" "emc6d102-*" +chip "lm85-*" "lm85b-*" "lm85c-*" "adm1027-*" "adt7463-*" "adt7468-*" \ + "emc6d100-*" "emc6d102-*" "emc6d103-*" "emc6d103s-*" label in1 "Vcore" label in2 "+3.3V" @@ -242,6 +243,14 @@ label temp2 "M/B Temp" +chip "emc6w201-*" + + label in2 "+3.3V" + label in3 "+5V" + + label temp6 "M/B Temp" + + chip "pc87365-*" "pc87366-*" # Voltage inputs @@ -447,7 +456,7 @@ set in6_max 3.0 * 1.10 -chip "f71808e-*" "f71862fg-*" "f71869-*" "f71882fg-*" \ +chip "f71808e-*" "f71808a-*" "f71862fg-*" "f71869-*" "f71869a-*" "f71882fg-*" \ "f71889fg-*" "f71889ed-*" "f71889a-*" label in0 "+3.3V" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lm_sensors-3.3.0/prog/detect/sensors-detect new/lm_sensors-3.3.1/prog/detect/sensors-detect --- old/lm_sensors-3.3.0/prog/detect/sensors-detect 2011-03-23 11:54:44.000000000 +0100 +++ new/lm_sensors-3.3.1/prog/detect/sensors-detect 2011-07-10 21:22:53.000000000 +0200 @@ -41,7 +41,7 @@ use vars qw(@pci_adapters @chip_ids @ipmi_ifs @non_hwmon_chip_ids $i2c_addresses_to_scan $revision @i2c_byte_cache); -$revision = '$Revision: 5946 $ ($Date: 2011-03-23 11:54:44 +0100 (mer. 23 mars 2011) $)'; +$revision = '$Revision: 5984 $ ($Date: 2011-07-10 21:22:53 +0200 (dim. 10 juil. 2011) $)'; $revision =~ s/\$\w+: (.*?) \$/$1/g; $revision =~ s/ \([^()]*\)//; @@ -557,11 +557,16 @@ i2c_addrs => [0x2c..0x2e], i2c_detect => sub { lm85_detect(@_, 6); }, }, { - name => "SMSC EMC6D103S", - driver => "to-be-written", # lm85 + name => "SMSC EMC6D103S or EMC2300", + driver => "lm85", i2c_addrs => [0x2c..0x2e], i2c_detect => sub { lm85_detect(@_, 8); }, }, { + name => "SMSC EMC6W201", + driver => "emc6w201", + i2c_addrs => [0x2c..0x2e], + i2c_detect => sub { emc6w201_detect(@_); }, + }, { name => "Winbond WPCD377I", driver => "not-a-sensor", i2c_addrs => [0x2c..0x2e], @@ -613,7 +618,7 @@ i2c_detect => sub { adt7410_detect(@_); }, }, { name => "Analog Devices ADT7411", - driver => "to-be-written", + driver => "adt7411", i2c_addrs => [0x48, 0x4a, 0x4b], i2c_detect => sub { adt7411_detect(@_); }, }, { @@ -653,7 +658,7 @@ i2c_detect => sub { lm93_detect(@_, 0); }, }, { name => "National Semiconductor LM94", - driver => "to-be-written", # Most likely lm93 + driver => "lm93", i2c_addrs => [0x2c..0x2e], i2c_detect => sub { lm93_detect(@_, 1); }, }, { @@ -843,10 +848,10 @@ i2c_addrs => [0x2c, 0x2e, 0x2f], i2c_detect => sub { max6639_detect(@_); }, }, { - name => "Maxim MAX6650/MAX6651", - driver => "max6650", - i2c_addrs => [0x1b, 0x1f, 0x48, 0x4b], - i2c_detect => sub { max6650_detect(@_); }, + name => "Maxim MAX6642", + driver => "max6642", + i2c_addrs => [0x48..0x4f], + i2c_detect => sub { max6642_detect(@_); }, }, { name => "Maxim MAX6655/MAX6656", driver => "max6655", @@ -954,7 +959,7 @@ i2c_detect => sub { max6680_95_detect(@_, 1); }, }, { name => "Winbond W83L771W/G", - driver => "to-be-written", + driver => "lm90", i2c_addrs => [0x4c], i2c_detect => sub { lm90_detect(@_, 8); }, }, { @@ -994,7 +999,7 @@ i2c_detect => sub { amc6821_detect(@_); }, }, { name => "National Semiconductor LM95231", - driver => "to-be-written", + driver => "lm95241", i2c_addrs => [0x2b, 0x19, 0x2a], i2c_detect => sub { lm95231_detect(@_, 0); }, }, { @@ -1003,6 +1008,11 @@ i2c_addrs => [0x2b, 0x19, 0x2a], i2c_detect => sub { lm95231_detect(@_, 1); }, }, { + name => "National Semiconductor LM95245", + driver => "lm95245", + i2c_addrs => [0x18, 0x19, 0x29, 0x4c, 0x4d], + i2c_detect => sub { lm95231_detect(@_, 2); }, + }, { name => "National Semiconductor LM63", driver => "lm63", i2c_addrs => [0x4c], @@ -1045,6 +1055,16 @@ i2c_addrs => [0x4c..0x4d], i2c_detect => sub { lm90_detect(@_, 5); }, }, { + name => "Analog Devices ADT7461A, ON Semiconductor NCT1008", + driver => "lm90", + i2c_addrs => [0x4c..0x4d], + i2c_detect => sub { lm90_detect(@_, 13); }, + }, { + name => "NXP/Philips SA56004", + driver => "lm90", + i2c_addrs => [0x48..0x4f], + i2c_detect => sub { lm90_detect(@_, 14); }, + }, { name => "Analog Devices ADT7481", driver => "to-be-written", i2c_addrs => [0x4c, 0x4b], @@ -1339,11 +1359,6 @@ driver => "jc42", i2c_addrs => [0x18..0x1f], i2c_detect => sub { jedec_JC42_4_detect(@_, 9); }, - }, { - name => "Smart Battery", - driver => "sbs", # ACPI driver, not sure if it always works - i2c_addrs => [0x0b], - i2c_detect => sub { smartbatt_detect(@_); }, } ); @@ -1351,12 +1366,12 @@ @ipmi_ifs = ( { name => "IPMI BMC KCS", - driver => "ipmisensors", + driver => "to-be-written", # ipmisensors isa_addrs => [0x0ca0], isa_detect => sub { ipmi_detect(@_); }, }, { name => "IPMI BMC SMIC", - driver => "ipmisensors", + driver => "to-be-written", # ipmisensors isa_addrs => [0x0ca8], isa_detect => sub { ipmi_detect(@_); }, } @@ -1545,10 +1560,15 @@ logdev => 0x14, features => FEAT_IN | FEAT_TEMP, }, { - # Shouldn't be in this family, but there it is - name => "ITE IT8512E/F Super IO", - driver => "not-a-sensor", + name => "ITE IT8512E/F/G Super IO", + driver => "to-be-written", devid => 0x8512, + features => FEAT_IN | FEAT_FAN, + }, { + name => "ITE IT8516E/F/G Super IO", + driver => "to-be-written", + devid => 0x8516, + features => FEAT_IN | FEAT_FAN, } ); @@ -1665,7 +1685,10 @@ features => FEAT_FAN, }, { name => "SMSC LPC47M584-NC Super IO", - # No datasheet + # No datasheet (Dell-specific part). Not compatible with + # smsc47m1 nor dme1737 nor LPC47M233. No evidence that this + # chip can do any hardware monitoring at all. + driver => "not-a-sensor", devid => 0x76, }, { name => "SMSC LPC47N252 Super IO Fan Sensors", @@ -1772,6 +1795,16 @@ }, logdev => 0x0c, features => FEAT_IN | FEAT_FAN | FEAT_TEMP, + }, { + name => "SMSC SCH5636 Super IO", + driver => "sch5636", + devid => 0xc7, + regs => { + basereg_lsb => 0x66, + basereg_msb => 0x67, + }, + logdev => 0x0c, + features => FEAT_IN | FEAT_FAN | FEAT_TEMP, } ); @@ -1904,7 +1937,7 @@ features => FEAT_IN | FEAT_FAN | FEAT_TEMP, }, { name => "Nuvoton W83677HG-I (NCT6771F/NCT6772F/NCT6775F) Super IO Sensors", - driver => "to-be-written", # Probably w83627ehf + driver => "w83627ehf", devid => 0xB470, devid_mask => 0xFFF0, logdev => 0x0b, @@ -1921,7 +1954,7 @@ features => FEAT_IN | FEAT_FAN | FEAT_TEMP, }, { name => "Nuvoton NCT6776F Super IO Sensors", - driver => "to-be-written", + driver => "w83627ehf", devid => 0xC333, logdev => 0x0b, features => FEAT_IN | FEAT_FAN | FEAT_TEMP, @@ -1939,7 +1972,7 @@ features => FEAT_IN | FEAT_FAN | FEAT_TEMP, }, { name => "Fintek F71808A Super IO Sensors", - driver => "to-be-written", + driver => "f71882fg", devid => 0x1001, logdev => 0x04, features => FEAT_IN | FEAT_FAN | FEAT_TEMP, @@ -1957,7 +1990,7 @@ features => FEAT_IN | FEAT_FAN | FEAT_TEMP, }, { name => "Fintek F71869A Super IO Sensors", - driver => "to-be-written", + driver => "f71882fg", devid => 0x1007, logdev => 0x04, features => FEAT_IN | FEAT_FAN | FEAT_TEMP, @@ -1993,7 +2026,7 @@ features => FEAT_IN | FEAT_FAN | FEAT_TEMP, }, { name => "Fintek F71889A Super IO Sensors", - driver => "to-be-written", + driver => "f71882fg", devid => 0x1005, logdev => 0x04, features => FEAT_IN | FEAT_FAN | FEAT_TEMP, @@ -2007,7 +2040,7 @@ devid => 0x0206, }, { name => "Fintek F81865F Super IO Sensors", - driver => "to-be-written", + driver => "f71882fg", devid => 0x0704, logdev => 0x04, features => FEAT_IN | FEAT_FAN | FEAT_TEMP, @@ -2087,10 +2120,16 @@ features => FEAT_IN | FEAT_FAN | FEAT_TEMP, }, { name => "ITE IT8728F Super IO Sensors", - driver => "it87", + driver => "to-be-written", # it87 devid => 0x8728, logdev => 0x04, features => FEAT_IN | FEAT_FAN | FEAT_TEMP, + }, { + name => "ITE IT8772E Super IO Sensors", + driver => "to-be-written", # it87 + devid => 0x8772, + logdev => 0x04, + features => FEAT_IN | FEAT_FAN | FEAT_TEMP, } ); @@ -2105,7 +2144,7 @@ # first. @superio_ids = ( { - family => "National Semiconductor", + family => "National Semiconductor/ITE", enter => { 0x2e => [], @@ -2169,7 +2208,7 @@ }, { name => "AMD K8 thermal sensors", driver => "k8temp", - detect => \&k8temp_pci_detect, + detect => sub { amd_pci_detect('1103') }, }, { name => "AMD Family 10h thermal sensors", driver => "k10temp", @@ -2177,11 +2216,19 @@ }, { name => "AMD Family 11h thermal sensors", driver => "k10temp", - detect => \&fam11h_pci_detect, + detect => sub { amd_pci_detect('1303') }, }, { name => "AMD Family 12h and 14h thermal sensors", driver => "k10temp", - detect => \&fam12h_14h_pci_detect, + detect => sub { amd_pci_detect('1703') }, + }, { + name => "AMD Family 15h thermal sensors", + driver => "k10temp", + detect => sub { amd_pci_detect('1603') }, + }, { + name => "AMD Family 15h power sensors", + driver => "fam15h_power", + detect => sub { amd_pci_detect('1604') }, }, { name => "Intel digital thermal sensor", driver => "coretemp", @@ -2394,7 +2441,7 @@ if (!$use_udev) { # Try some known default udev db locations, just in case if (-e '/dev/.udev.tdb' || -e '/dev/.udev' - || -e '/dev/.udevdb') { + || -e '/dev/.udevdb' || -e '/run/udev') { $use_udev = 1; $dev_i2c = '/dev/i2c-'; } @@ -4314,11 +4361,12 @@ # 4 = MAX6654, 5 = ADT7461, # 6 = MAX6646/MAX6647/MAX6648/MAX6649/MAX6692, # 8 = W83L771W/G, 9 = TMP401, 10 = TMP411, -# 11 = W83L771AWG/ASG, 12 = MAX6690 +# 11 = W83L771AWG/ASG, 12 = MAX6690, +# 13 = ADT7461A/NCT1008, 14 = SA56004 # Registers used: # 0x03: Configuration # 0x04: Conversion rate -# 0xbf: Configuration 2 (National Semiconductor and Winbond only) +# 0xbf: Configuration 2 (National Semiconductor, Winbond, and Philips only) # 0xfe: Manufacturer ID # 0xff: Chip ID / die revision sub lm90_detect @@ -4413,6 +4461,19 @@ return if $mid != 0x4d; # Maxim return 8 if $cid == 0x09; # MAX6690 } + if ($chip == 13) { + return if ($conf & 0x1b) != 0; + return if $rate > 0x0a; + return if $mid != 0x41; # Analog Devices + return 8 if $cid == 0x57; # ADT7461A, NCT1008 + } + if ($chip == 14) { + return if ($conf & 0x2a) != 0; + return if ($conf2 & 0xfe) != 0; + return if $rate > 0x09; + return if $mid != 0xa1; # NXP Semiconductor/Philips + return 6 if $cid == 0x00; # SA56004 + } return; } @@ -4484,12 +4545,14 @@ return 5; } -# Chip to detect: 0 = LM95231, 1 = LM95241 +# Chip to detect: 0 = LM95231, 1 = LM95241, 2 = LM95245 # Registers used: # 0x02: Status (3 unused bits) # 0x03: Configuration (3 unused bits) -# 0x06: Remote diode filter control (6 unused bits) -# 0x30: Remote diode model type select (6 unused bits) +# 0x06: Remote diode filter control (6 unused bits, LM95231 and LM95241) +# 0x30: Remote diode model type select (6 unused bits, LM95231 and LM95241) +# 0x30: Local Temperature LSB (5 unused bits, LM95245) +# 0x33: Status register 2 (6 unused bits, LM95245) # 0xfe: Manufacturer ID # 0xff: Revision ID sub lm95231_detect @@ -4499,13 +4562,21 @@ my $cid = i2c_smbus_read_byte_data($file, 0xff); return if $mid != 0x01; # National Semiconductor - return if $chip == 0 && $cid != 0xa1; # LM95231 - return if $chip == 1 && $cid != 0xa4; # LM95231 - return if i2c_smbus_read_byte_data($file, 0x02) & 0x70; - return if i2c_smbus_read_byte_data($file, 0x03) & 0x89; - return if i2c_smbus_read_byte_data($file, 0x06) & 0xfa; - return if i2c_smbus_read_byte_data($file, 0x30) & 0xfa; + if ($chip == 0 || $chip == 1) { + return if $chip == 0 && $cid != 0xa1; # LM95231 + return if $chip == 1 && $cid != 0xa4; # LM95241 + return if i2c_smbus_read_byte_data($file, 0x02) & 0x70; + return if i2c_smbus_read_byte_data($file, 0x03) & 0x89; + return if i2c_smbus_read_byte_data($file, 0x06) & 0xfa; + return if i2c_smbus_read_byte_data($file, 0x30) & 0xfa; + } elsif ($chip == 2) { + return if $cid != 0xb3; # LM95245 + return if i2c_smbus_read_byte_data($file, 0x02) & 0x68; + return if i2c_smbus_read_byte_data($file, 0x03) & 0xa1; + return if i2c_smbus_read_byte_data($file, 0x30) & 0x1f; + return if i2c_smbus_read_byte_data($file, 0x33) & 0x3f; + } return 6; } @@ -4834,7 +4905,7 @@ # Chip to detect: 0 = LM85, 1 = LM96000, 2 = ADM1027, 3 = ADT7463, # 4 = EMC6D100/101, 5 = EMC6D102, 6 = EMC6D103, -# 7 = WPCD377I (no sensors), 8 = EMC6D103S +# 7 = WPCD377I (no sensors), 8 = EMC6D103S/EMC2300 # Registers used: # 0x3e: Vendor register # 0x3d: Device ID register (Analog Devices only) @@ -4873,7 +4944,7 @@ && $verstep != 0x69; # EMC6D103 A1 } elsif ($chip == 8) { return if $vendor != 0x5c; # SMSC - return if $verstep != 0x6a; # EMC6D103S + return if $verstep != 0x6a; # EMC6D103S/EMC2300 } if ($vendor == 0x41) { # Analog Devices @@ -4903,6 +4974,29 @@ return 7; } +# Registers used: +# 0x3e: Vendor register +# 0x3f: Version/Stepping register +# 0x40: Configuration register (reserved bits + ready) +sub emc6w201_detect +{ + my ($file, $addr) = @_; + my $vendor = i2c_smbus_read_byte_data($file, 0x3e); + my $verstep = i2c_smbus_read_byte_data($file, 0x3f); + my $conf = i2c_smbus_read_byte_data($file, 0x40); + my $stepping; + + return if $vendor != 0x5c; # SMSC + return if ($verstep & 0xf0) != 0xb0; # EMC6W201 + return if ($conf & 0xf4) != 0x04; + + $stepping = $verstep & 0x0f; + return if $stepping > 3; + + # So far we've only seen stepping 1 chips + return $stepping <= 1 ? 6 : 3; +} + # Chip to detect: 0 = LM87, 1 = ADM1024 # Registers used: # 0x3e: Company ID @@ -5677,19 +5771,6 @@ return 6; } -# This checks for non-FFFF values for temperature, voltage, and current. -# The address (0x0b) is specified by the SMBus standard so it's likely -# that this really is a smart battery. -sub smartbatt_detect -{ - my ($file, $addr) = @_; - - return if i2c_smbus_read_word_data($file, 0x08) == 0xffff - || i2c_smbus_read_word_data($file, 0x09) == 0xffff - || i2c_smbus_read_word_data($file, 0x0a) == 0xffff; - return 5; -} - # Chip to detect: 0 = W83L784R/AR/G, 1 = W83L785R/G, 2 = W83L786NR/NG/R/G, # 3 = W83L785TS-S # Registers used: @@ -5746,32 +5827,38 @@ return 6; } -# The max6650 has no device ID register. However, a few registers have -# spare bits, which are documented as being always zero on read. We read -# all of these registers check the spare bits. Any non-zero means this -# is not a max6650/1. -# -# The always zero bits are: -# configuration byte register (0x02) - top 2 bits -# gpio status register (0x14) - top 3 bits -# alarm enable register (0x08) - top 3 bits -# alarm status register (0x0A) - top 3 bits -# tachometer count time register (0x16) - top 6 bits -# Additionally, not all values are possible for lower 3 bits of -# the configuration register. -sub max6650_detect +# Chip to detect: MAX6642 +# Registers used: +# 0x02: Status register +# 0x03: Configuration register +# 0xfe: Manufacturer ID +# 0x04, 0x06, 0xff: No registers +# We use the 0x04, 0x06 and 0xff addresses (unused) to improve reliability. +# These are not real registers and will always return the last returned value. +# This isn't documented. +sub max6642_detect { my ($file, $addr) = @_; + my ($man_id, $conf, $status); - my $conf = i2c_smbus_read_byte_data($file, 0x02); - - return if i2c_smbus_read_byte_data($file, 0x16) & 0xFC; - return if i2c_smbus_read_byte_data($file, 0x0A) & 0xE0; - return if i2c_smbus_read_byte_data($file, 0x08) & 0xE0; - return if i2c_smbus_read_byte_data($file, 0x14) & 0xE0; - return if ($conf & 0xC0) or ($conf & 0x07) > 4; + $man_id = i2c_smbus_read_byte_data($file, 0xfe); + return unless $man_id == 0x4d; # Maxim + return if i2c_smbus_read_byte_data($file, 0x04, NO_CACHE) != $man_id; + return if i2c_smbus_read_byte_data($file, 0x06, NO_CACHE) != $man_id; + return if i2c_smbus_read_byte_data($file, 0xff, NO_CACHE) != $man_id; + + $status = i2c_smbus_read_byte_data($file, 0x02); + # Bit 5, 3, 1 and 0 should be zero + return unless ($status & 0x2b) == 0x00; + return if i2c_smbus_read_byte_data($file, 0x04, NO_CACHE) != $status; + return if i2c_smbus_read_byte_data($file, 0x06, NO_CACHE) != $status; + return if i2c_smbus_read_byte_data($file, 0xff, NO_CACHE) != $status; + + $conf = i2c_smbus_read_byte_data($file, 0x03); + # The 4 lower bits should be zero + return unless ($conf & 0x0f) == 0x00; - return 2; + return 5; } sub max6655_detect @@ -5985,6 +6072,7 @@ sub ipmi_from_smbios { my ($version, $if, @ipmi_if); + my $ipmi_driver = "to-be-written"; # ipmisensors return 0 unless check_dmidecode_version(); @@ -6020,13 +6108,13 @@ $if->{type})); } print "Success!\n". - " (confidence 8, driver `ipmisensors')\n"; + " (confidence 8, driver `$ipmi_driver')\n"; my $new_hash = { conf => 8, isa_addr => $if->{addr} || 0, chipname => $if->{type}, }; - add_isa_to_chips_detected("ipmisensors", $new_hash); + add_isa_to_chips_detected($ipmi_driver, $new_hash); } return scalar @ipmi_if; @@ -6091,9 +6179,10 @@ return 9; } -sub k8temp_pci_detect +sub amd_pci_detect { - return unless exists $pci_list{'1022:1103'}; + my $f3_id = shift; + return unless exists $pci_list{"1022:$f3_id"}; return 9; } @@ -6123,18 +6212,6 @@ return; } -sub fam11h_pci_detect -{ - return unless exists $pci_list{'1022:1303'}; - return 9; -} - -sub fam12h_14h_pci_detect -{ - return unless exists $pci_list{'1022:1703'}; - return 9; -} - sub intel_amb_detect { if ((exists $pci_list{'8086:25f0'}) || # Intel 5000 @@ -6442,6 +6519,22 @@ } close(SYSCONFIG); + if (-x "/bin/systemctl" && -d "/lib/systemd/system" && + ! -f "/lib/systemd/system/lm_sensors.service") { + print "Copy prog/init/lm_sensors.service to /lib/systemd/system\n". + "and run 'systemctl enable lm_sensors.service'\n". + "for initialization at boot time.\n"; + return; + } + + if (-x "/bin/systemctl" && + -f "/lib/systemd/system/lm_sensors.service") { + system("/bin/systemctl", "enable", "lm_sensors.service"); + system("/bin/systemctl", "start", "lm_sensors.service"); + # All done, don't check for /etc/init.d/lm_sensors + return; + } + print "Copy prog/init/lm_sensors.init to /etc/init.d/lm_sensors\n". "for initialization at boot time.\n" unless -f "/etc/init.d/lm_sensors"; @@ -6497,8 +6590,10 @@ exit -1; } - if (-x "/sbin/service" && -f "/etc/init.d/lm_sensors" && - -f "/var/lock/subsys/lm_sensors") { + if (-x "/bin/systemctl" && -f "/lib/systemd/system/lm_sensors.service") { + system("/bin/systemctl", "stop", "lm_sensors.service"); + } elsif (-x "/sbin/service" && -f "/etc/init.d/lm_sensors" && + -f "/var/lock/subsys/lm_sensors") { system("/sbin/service", "lm_sensors", "stop"); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lm_sensors-3.3.0/prog/dump/isadump.8 new/lm_sensors-3.3.1/prog/dump/isadump.8 --- old/lm_sensors-3.3.0/prog/dump/isadump.8 2007-06-26 08:24:23.000000000 +0200 +++ new/lm_sensors-3.3.1/prog/dump/isadump.8 2011-04-15 10:26:49.000000000 +0200 @@ -1,10 +1,11 @@ -.TH ISADUMP 8 "August 2004" +.TH ISADUMP 8 "April 2011" .SH NAME isadump \- examine ISA registers .SH SYNOPSIS .B isadump .RB [ -y ] +.RB [ -W | -L ] .RB [ "-k V1,V2..." ] .I addrreg .I datareg @@ -12,8 +13,10 @@ #for I2C-like access .br .B isadump +.B -f .RB [ -y ] -.BI "-f " address +.RB [ -W | -L ] +.I address .RI [ "range " [ "bank " [ bankreg ]]] #for flat address space @@ -39,6 +42,12 @@ the chip configuration mode. Most Super-I/O chips need this. Known key sequences are: 0x87,0x01,0x55,0x55 for ITE, 0x55 for SMSC, 0x87,0x87 for Winbond and VIA, none needed for National Semiconductor. +.TP +.B -W +Perform 16-bit reads. +.TP +.B -L +Perform 32-bit reads. .SH OPTIONS (I2C-like access mode) At least two options must be provided to isadump. \fIaddrreg\fR contains the diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lm_sensors-3.3.0/prog/dump/isadump.c new/lm_sensors-3.3.1/prog/dump/isadump.c --- old/lm_sensors-3.3.0/prog/dump/isadump.c 2009-04-19 09:16:40.000000000 +0200 +++ new/lm_sensors-3.3.1/prog/dump/isadump.c 2011-04-15 10:26:49.000000000 +0200 @@ -2,7 +2,7 @@ isadump.c - isadump, a user-space program to dump ISA registers Copyright (C) 2000 Frodo Looijaard <fro...@dds.nl>, and Mark D. Studebaker <mdsxyz...@yahoo.com> - Copyright (C) 2004,2007 Jean Delvare <kh...@linux-fr.org> + Copyright (C) 2004-2011 Jean Delvare <kh...@linux-fr.org> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -52,9 +52,15 @@ { fprintf(stderr, "Syntax for I2C-like access:\n" - " isadump [-y] [-k V1,V2...] ADDRREG DATAREG [BANK [BANKREG]]\n" + " isadump [OPTIONS] [-k V1,V2...] ADDRREG DATAREG [BANK [BANKREG]]\n" "Syntax for flat address space:\n" - " isadump [-y] -f ADDRESS [RANGE [BANK [BANKREG]]]\n"); + " isadump -f [OPTIONS] ADDRESS [RANGE [BANK [BANKREG]]]\n" + "Options:\n" + " -k Super-I/O configuration access key\n" + " -f Enable flat address space mode\n" + " -y Assume affirmative answer to all questions\n" + " -W Read and display word (16-bit) values\n" + " -L Read and display long (32-bit) values\n"); } static int default_bankreg(int flat, int addrreg, int datareg) @@ -96,9 +102,10 @@ int bank = -1; /* -1 means no bank operation */ int bankreg; int oldbank = 0; - int i, j, res; + int i, j; + unsigned long res; int flags = 0; - int flat = 0, yes = 0; + int flat = 0, yes = 0, width = 1; char *end; unsigned char enter_key[SUPERIO_MAX_KEY+1]; @@ -118,6 +125,8 @@ } flags++; break; + case 'W': width = 2; break; + case 'L': width = 4; break; default: fprintf(stderr, "Warning: Unsupported flag " "\"-%c\"!\n", argv[1+flags][1]); @@ -270,9 +279,12 @@ if (bank >= 0) oldbank = set_bank(flat, addrreg, datareg, bank, bankreg); - if (flat) - printf(" "); - printf(" 0 1 2 3 4 5 6 7 8 9 a b c d e f\n"); + /* print column headers */ + printf("%*s", flat ? 5 : 3, ""); + for (j = 0; j < 16; j += width) + printf(" %*x", width * 2, j); + printf("\n"); + for (i = 0; i < range; i += 16) { if (flat) printf("%04x: ", addrreg + i); @@ -288,19 +300,19 @@ if (enter_key[0]) superio_write_key(addrreg, enter_key); - for (j = 0; j < 16; j++) { + for (j = 0; j < 16; j += width) { fflush(stdout); if (flat) { - res = inb(addrreg + i + j); + res = inx(addrreg + i + j, width); } else { outb(i+j, addrreg); if (i+j == 0 && inb(addrreg) == 0x80) { /* Bit 7 appears to be a busy flag */ range = 128; } - res = inb(datareg); + res = inx(datareg, width); } - printf("%02x ", res); + printf("%0*lx ", width * 2, res); } printf("\n"); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lm_sensors-3.3.0/prog/dump/isaset.8 new/lm_sensors-3.3.1/prog/dump/isaset.8 --- old/lm_sensors-3.3.0/prog/dump/isaset.8 2007-06-26 08:24:23.000000000 +0200 +++ new/lm_sensors-3.3.1/prog/dump/isaset.8 2011-04-15 10:27:30.000000000 +0200 @@ -1,10 +1,11 @@ -.TH ISASET 8 "May 2005" +.TH ISASET 8 "April 2011" .SH "NAME" isaset \- set ISA registers .SH SYNOPSIS .B isaset .RB [ -y ] +.RB [ -W | -L ] .I addrreg .I datareg .I address @@ -13,8 +14,10 @@ #for I2C-like access .br .B isaset +.B -f .RB [ -y ] -.BI "-f " address +.RB [ -W | -L ] +.I address .I value .RI [ mask ] #for flat address space @@ -33,6 +36,12 @@ from the user before messing with the ISA bus. When this flag is used, it will perform the operation directly. This is mainly meant to be used in scripts. +.TP +.B -W +Perform a 16-bit write. +.TP +.B -L +Perform a 32-bit write. .SH OPTIONS (I2C-like access mode) Four options must be provided to isaset. \fIaddrreg\fR contains the diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lm_sensors-3.3.0/prog/dump/isaset.c new/lm_sensors-3.3.1/prog/dump/isaset.c --- old/lm_sensors-3.3.0/prog/dump/isaset.c 2009-04-19 09:16:40.000000000 +0200 +++ new/lm_sensors-3.3.1/prog/dump/isaset.c 2011-04-15 10:27:30.000000000 +0200 @@ -2,7 +2,7 @@ isaset.c - isaset, a user-space program to write ISA registers Copyright (C) 2000 Frodo Looijaard <fro...@dds.nl>, and Mark D. Studebaker <mdsxyz...@yahoo.com> - Copyright (C) 2004,2007 Jean Delvare <kh...@linux-fr.org> + Copyright (C) 2004-2011 Jean Delvare <kh...@linux-fr.org> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -48,17 +48,22 @@ { fprintf(stderr, "Syntax for I2C-like access:\n" - " isaset [-y] ADDRREG DATAREG ADDRESS VALUE [MASK]\n" + " isaset [OPTIONS] ADDRREG DATAREG ADDRESS VALUE [MASK]\n" "Syntax for flat address space:\n" - " isaset [-y] -f ADDRESS VALUE [MASK]\n"); + " isaset -f [OPTIONS] ADDRESS VALUE [MASK]\n" + "Options:\n" + " -f Enable flat address space mode\n" + " -y Assume affirmative answer to all questions\n" + " -W Write a word (16-bit) value\n" + " -L Write a long (32-bit) value\n"); } int main(int argc, char *argv[]) { - int addrreg, datareg = 0, value, addr = 0, vmask = 0; - unsigned char res; + int addrreg, datareg = 0, addr = 0; + unsigned long value, vmask = 0, maxval = 0xff, res; int flags = 0; - int flat = 0, yes = 0; + int flat = 0, yes = 0, width = 1; char *end; /* handle (optional) flags first */ @@ -66,6 +71,8 @@ switch (argv[1+flags][1]) { case 'f': flat = 1; break; case 'y': yes = 1; break; + case 'W': width = 2; maxval = 0xffff; break; + case 'L': width = 4; maxval = 0xffffffff; break; default: fprintf(stderr, "Warning: Unsupported flag " "\"-%c\"!\n", argv[1+flags][1]); @@ -128,29 +135,30 @@ if (!flat) flags += 2; - value = strtol(argv[flags+2], &end, 0); + value = strtoul(argv[flags+2], &end, 0); if (*end) { fprintf(stderr, "Error: Invalid value!\n"); help(); exit(1); } - if (value < 0 || value > 0xff) { + if (value > maxval) { fprintf(stderr, "Error: Value out of range " - "(0x00-0xff)!\n"); + "(0x%0*u-%0*lu)!\n", width * 2, 0, width * 2, maxval); help(); exit(1); } if (flags+3 < argc) { - vmask = strtol(argv[flags+3], &end, 0); + vmask = strtoul(argv[flags+3], &end, 0); if (*end) { fprintf(stderr, "Error: Invalid mask!\n"); help(); exit(1); } - if (vmask < 0 || vmask > 0xff) { + if (vmask > maxval) { fprintf(stderr, "Error: Mask out of range " - "(0x00-0xff)!\n"); + "(0x%0*u-%0*lu)!\n", width * 2, 0, + width * 2, maxval); help(); exit(1); } @@ -167,13 +175,15 @@ "system crashes, data loss and worse!\n"); if (flat) - fprintf(stderr, "I will write value 0x%02x%s to address " - "0x%x.\n", value, vmask ? " (masked)" : "", - addrreg); + fprintf(stderr, + "I will write value 0x%0*lx%s to address " + "0x%x.\n", width * 2, value, + vmask ? " (masked)" : "", addrreg); else - fprintf(stderr, "I will write value 0x%02x%s to address " + fprintf(stderr, + "I will write value 0x%0*lx%s to address " "0x%02x of chip with address register 0x%x\n" - "and data register 0x%x.\n", + "and data register 0x%x.\n", width * 2, value, vmask ? " (masked)" : "", addr, addrreg, datareg); @@ -206,26 +216,22 @@ #endif if (vmask) { - int oldvalue; + unsigned long oldvalue; if (flat) { - oldvalue = inb(addrreg); + oldvalue = inx(addrreg, width); } else { outb(addr, addrreg); - oldvalue = inb(datareg); - } - - if (oldvalue < 0) { - fprintf(stderr, "Error: Failed to read old value\n"); - exit(1); + oldvalue = inx(datareg, width); } value = (value & vmask) | (oldvalue & ~vmask); if (!yes) { - fprintf(stderr, "Old value 0x%02x, write mask " - "0x%02x: Will write 0x%02x to %s " - "0x%02x\n", oldvalue, vmask, value, + fprintf(stderr, "Old value 0x%0*lx, write mask " + "0x%0*lx: Will write 0x%0*lx to %s " + "0x%02x\n", width * 2, oldvalue, + width * 2, vmask, width * 2, value, flat ? "address" : "register", flat ? addrreg : addr); @@ -241,20 +247,21 @@ /* do the real thing */ if (flat) { /* write */ - outb(value, addrreg); + outx(value, addrreg, width); /* readback */ - res = inb(addrreg); + res = inx(addrreg, width); } else { /* write */ outb(addr, addrreg); - outb(value, datareg); + outx(value, datareg, width); /* readback */ - res = inb(datareg); + res = inx(datareg, width); } if (res != value) { - fprintf(stderr, "Data mismatch, wrote 0x%02x, " - "read 0x%02x back.\n", value, res); + fprintf(stderr, "Data mismatch, wrote 0x%0*lx, " + "read 0x%0*lx back.\n", width * 2, value, + width * 2, res); } exit(0); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lm_sensors-3.3.0/prog/dump/util.c new/lm_sensors-3.3.1/prog/dump/util.c --- old/lm_sensors-3.3.0/prog/dump/util.c 2007-08-15 10:23:38.000000000 +0200 +++ new/lm_sensors-3.3.1/prog/dump/util.c 2011-04-15 10:27:30.000000000 +0200 @@ -11,6 +11,13 @@ #include <stdio.h> #include "util.h" +/* To keep glibc2 happy */ +#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 0 +#include <sys/io.h> +#else +#include <asm/io.h> +#endif + /* Return 1 if we should continue, 0 if we should abort */ int user_ack(int def) { @@ -46,3 +53,32 @@ return ret; } +/* I/O read of specified size */ +unsigned long inx(int addr, int width) +{ + switch (width) { + case 2: + return inw(addr); + break; + case 4: + return inl(addr); + break; + default: + return inb(addr); + } +} + +/* I/O write of specified size */ +void outx(unsigned long value, int addr, int width) +{ + switch (width) { + case 2: + outw(value, addr); + break; + case 4: + outl(value, addr); + break; + default: + outb(value, addr); + } +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lm_sensors-3.3.0/prog/dump/util.h new/lm_sensors-3.3.1/prog/dump/util.h --- old/lm_sensors-3.3.0/prog/dump/util.h 2007-08-15 10:23:38.000000000 +0200 +++ new/lm_sensors-3.3.1/prog/dump/util.h 2011-04-15 10:27:30.000000000 +0200 @@ -12,5 +12,7 @@ #define _UTIL_H extern int user_ack(int def); +extern unsigned long inx(int addr, int width); +extern void outx(unsigned long value, int addr, int width); #endif /* _UTIL_H */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lm_sensors-3.3.0/prog/hotplug/README.p4b new/lm_sensors-3.3.1/prog/hotplug/README.p4b --- old/lm_sensors-3.3.0/prog/hotplug/README.p4b 2007-05-13 10:22:47.000000000 +0200 +++ new/lm_sensors-3.3.1/prog/hotplug/README.p4b 2011-07-21 21:38:10.000000000 +0200 @@ -3,7 +3,7 @@ It unhides the SMBus of Intel ICH southbridges hidden on Asus P4B series and some other Asus and non-Asus systems. It is implemented as a shell -script for the 2.6 kernel: unhide_ICH_SMBus. +script for kernel 2.6.5 and later: unhide_ICH_SMBus. It works with the following chips: * ICH2 (82801BA) @@ -19,9 +19,8 @@ irritated by just another PCI Device in the Win98 device manager." Really funny :-). -For 2.6 kernels, activation is normally handled by the code in -drivers/pci/quirks.c in the kernel source. If you have the 2.6 kernel and -the quirks code does not activate your SMBus, you may: +Activation is normally handled by the code in drivers/pci/quirks.c in the +kernel source. If the quirks code does not activate your SMBus, you may: * first of all, read the paragraph "Hidden ICH SMBus" in Documentation/i2c/busses/i2c-i801 in the kernel source. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lm_sensors-3.3.0/prog/hotplug/unhide_ICH_SMBus new/lm_sensors-3.3.1/prog/hotplug/unhide_ICH_SMBus --- old/lm_sensors-3.3.0/prog/hotplug/unhide_ICH_SMBus 2007-12-19 14:27:40.000000000 +0100 +++ new/lm_sensors-3.3.1/prog/hotplug/unhide_ICH_SMBus 2011-07-21 21:38:10.000000000 +0200 @@ -43,7 +43,7 @@ modprobe fakephp &> /dev/null if [ ! -d "$pcibus" ] ; then - echo "You need the fake PCI hotplug driver! (fakephp.ko and 2.6 kernel)" + echo "You need the fake PCI hotplug driver! (fakephp.ko, kernel 2.6.5 or later)" exit 255; fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lm_sensors-3.3.0/prog/init/lm_sensors.service new/lm_sensors-3.3.1/prog/init/lm_sensors.service --- old/lm_sensors-3.3.0/prog/init/lm_sensors.service 1970-01-01 01:00:00.000000000 +0100 +++ new/lm_sensors-3.3.1/prog/init/lm_sensors.service 2011-04-27 19:35:18.000000000 +0200 @@ -0,0 +1,14 @@ +[Unit] +Description=Initialize hardware monitoring sensors +After=syslog.target + +[Service] +EnvironmentFile=/etc/sysconfig/lm_sensors +Type=oneshot +RemainAfterExit=yes +ExecStart=-/sbin/modprobe -qab $BUS_MODULES $HWMON_MODULES +ExecStart=/usr/bin/sensors -s +ExecStop=-/sbin/modprobe -qabr $BUS_MODULES $HWMON_MODULES + +[Install] +WantedBy=multi-user.target diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lm_sensors-3.3.0/version.h new/lm_sensors-3.3.1/version.h --- old/lm_sensors-3.3.0/version.h 2011-03-28 09:02:37.000000000 +0200 +++ new/lm_sensors-3.3.1/version.h 2011-07-21 22:36:42.000000000 +0200 @@ -1 +1 @@ -#define LM_VERSION "3.3.0" +#define LM_VERSION "3.3.1" ++++++ lm_sensors-r5991-improve-filtering-of-fake-DMI-data.patch ++++++ --- prog/detect/sensors-detect | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) --- lm_sensors-3.3.1.orig/prog/detect/sensors-detect +++ lm_sensors-3.3.1/prog/detect/sensors-detect @@ -2767,8 +2767,9 @@ sub initialize_dmi_data ); # Many BIOS have broken DMI data, filter it out my %fake = ( - 'System Manufacturer' => 1, - 'System Name' => 1, + 'system manufacturer' => 1, + 'system product name' => 1, + 'system name' => 1, ); my $dmi_id_dir; @@ -2797,7 +2798,7 @@ sub initialize_dmi_data next; } $dmi{$k} =~ s/\s*$//; - delete $dmi{$k} if $dmi{$k} eq '' || exists $fake{$dmi{$k}}; + delete $dmi{$k} if $dmi{$k} eq '' || exists $fake{lc($dmi{$k})}; } } ++++++ lm_sensors-r5992-print-DMI-product-version.patch ++++++ --- prog/detect/sensors-detect | 2 ++ 1 file changed, 2 insertions(+) --- lm_sensors-3.3.1.orig/prog/detect/sensors-detect +++ lm_sensors-3.3.1/prog/detect/sensors-detect @@ -2770,6 +2770,7 @@ sub initialize_dmi_data 'system manufacturer' => 1, 'system product name' => 1, 'system name' => 1, + 'system version' => 1, ); my $dmi_id_dir; @@ -2814,6 +2815,7 @@ sub print_dmi_summary if (defined $system) { print "# System: $system"; + print " [$dmi{product_version}]" if defined $dmi{product_version}; print " (laptop)" if (is_laptop()); print "\n"; } ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org