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 - jdelvare@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: khali@linux-fr.org (Jean Delvare)
Maintained-by: khali@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
#
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 , and
Mark D. Studebaker
- Copyright (C) 2004,2007 Jean Delvare
+ Copyright (C) 2004-2011 Jean Delvare
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 , and
Mark D. Studebaker
- Copyright (C) 2004,2007 Jean Delvare
+ Copyright (C) 2004-2011 Jean Delvare
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
#include "util.h"
+/* To keep glibc2 happy */
+#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 0
+#include
+#else
+#include
+#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+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org