sensors-detect: Handle the W83791D driver difference between kernels.

Patch from Charles Spirakis.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@4044 7894878c-1315-0410-8ee3-d5d059ff63e0
This commit is contained in:
Jean Delvare committed 2006-06-18 16:53:02 +00:00
1 parent 7d09149f50
commit b78bf75922
2 files changed
+37 -6

No files matched your search

+1
View File
@@ -40,6 +40,7 @@ lm_sensors CHANGES file
F75122R/RG, F75373S/SG, F75375S/SP, F75383S/M,
F75384S/M, F75387SG/RG and F81218D detection
Add Winbond W83793R/G detection
Handle the W83791D driver difference between kernels
2.10.0 (20060214)
+36 -6
View File
@@ -1064,12 +1064,6 @@ use subs qw(mtp008_detect lm78_detect lm78_isa_detect lm78_alias_detect
i2c_addrs => [0x2d],
i2c_detect => sub { w83781d_detect 2, @_},
} ,
{
name => "Winbond W83791D",
driver => "w83781d",
i2c_addrs => [0x2c..0x2f],
i2c_detect => sub { w83781d_detect 7, @_},
},
{
name => "Winbond W83792D",
driver => "w83792d",
@@ -1625,6 +1619,23 @@ use subs qw(mtp008_detect lm78_detect lm78_isa_detect lm78_alias_detect
},
);
# Special case chip information goes here and would be included in
# the chip_special_cases routine below
use vars qw($chip_kern24_w83791d $chip_kern26_w83791d);
$chip_kern24_w83791d = {
name => "Winbond W83791D",
driver => "w83781d",
i2c_addrs => [0x2c..0x2f],
i2c_detect => sub { w83781d_detect 7, @_ },
};
$chip_kern26_w83791d = {
name => "Winbond W83791D",
driver => "w83791d",
i2c_addrs => [0x2c..0x2f],
i2c_detect => sub { w83781d_detect 7, @_ },
};
# This is a list of all recognized superio chips.
# Each entry must have the following fields:
# name: The full chip name
@@ -2901,6 +2912,21 @@ sub scan_superio
# CHIP DETECTION #
##################
# This routine allows you to select which chips are optionally added to the
# chip detection list. The most common use is to allow for different chip
# detection/drivers based on different linux kernels
# This routine follows the pattern of the SiS adapter special cases
sub chip_special_cases
{
# Based on the kernel, add the appropriate chip structure to the
# chip_ids detection list
if (kernel_version_at_least(2, 6, 0)) {
push @chip_ids, $chip_kern26_w83791d;
} else {
push @chip_ids, $chip_kern24_w83791d;
}
}
# Each function returns a confidence value. The higher this value, the more
# sure we are about this chip. A Winbond W83781D, for example, will be
# detected as a LM78 too; but as the Winbond detection has a higher confidence
@@ -5261,6 +5287,10 @@ sub main
}
}
# Before looking for chips, make sure any special case chips are
# added to the chip_ids list
chip_special_cases();
print "\n We are now going to do the adapter probings. Some adapters may ",
"hang halfway\n",
" through; we can't really help that. Also, some chips will be double ",