2020-05-07 15:11:19 +02:00
|
|
|
From: Jean Delvare <jdelvare@suse.de>
|
|
|
|
Subject: sensors-detect: Fix the driver for Nuvoton W83677HG-I
|
|
|
|
|
|
|
|
Originally, support for the Nuvoton W83677HG-I and derivatives was
|
|
|
|
first added to the w83627ehf driver, so that's the driver recommended
|
|
|
|
by sensors-detect. Later, support for the same device was added to
|
|
|
|
the nct6775 driver. In kernel v5.6, support was removed from the
|
|
|
|
w83627ehf driver to get rid of the duplicate code.
|
|
|
|
|
|
|
|
So sensors-detect should now point users of this device to the
|
|
|
|
nct6775 driver. We can't do that for very old kernels though, as this
|
|
|
|
driver did not exist back then. I chose v3.10 for the cut-over, as
|
|
|
|
this is when support for the Nuvoton W83677HG-I was finalized in the
|
|
|
|
nct6775 driver, at least according to git log.
|
|
|
|
|
|
|
|
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
---
|
2020-05-12 11:14:05 +02:00
|
|
|
Changes since v1:
|
|
|
|
* Enable run-time driver decision for Super-I/O devices
|
|
|
|
|
|
|
|
prog/detect/sensors-detect | 6 ++++--
|
|
|
|
1 file changed, 4 insertions(+), 2 deletions(-)
|
2020-05-07 15:11:19 +02:00
|
|
|
|
|
|
|
--- lm-sensors.orig/prog/detect/sensors-detect 2020-05-07 14:29:34.731733274 +0200
|
2020-05-12 11:14:05 +02:00
|
|
|
+++ lm-sensors/prog/detect/sensors-detect 2020-05-12 11:08:07.989885399 +0200
|
2020-05-07 15:11:19 +02:00
|
|
|
@@ -2273,7 +2273,7 @@ use constant FEAT_SMBUS => (1 << 7);
|
|
|
|
features => FEAT_IN | FEAT_FAN | FEAT_TEMP,
|
|
|
|
}, {
|
|
|
|
name => "Nuvoton W83677HG-I (NCT5572D/NCT6771F/NCT6772F/NCT6775F) Super IO Sensors",
|
|
|
|
- driver => "w83627ehf",
|
|
|
|
+ driver => sub { kernel_version_at_least(3, 10, 0) ? "nct6775" : "w83627ehf" },
|
|
|
|
devid => 0xB470,
|
|
|
|
devid_mask => 0xFFF0,
|
|
|
|
logdev => 0x0b,
|
2020-05-12 11:14:05 +02:00
|
|
|
@@ -4574,7 +4574,9 @@ sub scan_cpu
|
|
|
|
sub chip_special_cases
|
|
|
|
{
|
|
|
|
# Some chip to driver mappings depend on the environment
|
|
|
|
- foreach my $chip (@chip_ids) {
|
|
|
|
+ foreach my $chip (@chip_ids, @superio_ids_natsemi, @superio_ids_smsc,
|
|
|
|
+ @superio_ids_smsc_ns, @superio_ids_winbond,
|
|
|
|
+ @superio_ids_ite) {
|
|
|
|
if (ref($chip->{driver}) eq 'CODE') {
|
|
|
|
$chip->{driver} = $chip->{driver}->();
|
|
|
|
}
|