f71805f: Fix the device address decoding

The lowest 3 bits are ignored, and the chip decodes all 8 addresses,
not only the 2 it needs. This is a backport from Linux 2.6.20.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@4263 7894878c-1315-0410-8ee3-d5d059ff63e0
This commit is contained in:
Jean Delvare committed 2006-12-15 09:25:45 +00:00
1 parent 16df5f0bb4
commit 84d4715bc6
2 files changed
+5 -3

No files matched your search

+1
View File
@@ -14,6 +14,7 @@ SVN HEAD
Man page i2cdetect.8: Describe the output convention
Man page sensors.1: Update (option -c) and clean up
Module i2c-i801: Add ICH9 support
Module f71805f: Fix the device address decoding (2.6 backport)
Module icspll: Delete. It was useless and dangerous.
Program eepromer: Fix loads of warnings
Program i2cdetect: Make the output clearer
+4 -3
View File
@@ -99,9 +99,9 @@ superio_exit(int base)
* ISA constants
*/
#define REGION_LENGTH 2
#define ADDR_REG_OFFSET 0
#define DATA_REG_OFFSET 1
#define REGION_LENGTH 8
#define ADDR_REG_OFFSET 5
#define DATA_REG_OFFSET 6
/*
* Registers
@@ -722,6 +722,7 @@ static int __init f71805f_find(int sioaddr, unsigned int *address)
"skipping\n");
goto exit;
}
*address &= ~(REGION_LENGTH - 1); /* Ignore 3 LSB */
err = 0;
printk(KERN_INFO DRVNAME ": Found F71805F chip at %#x, revision %u\n",