From: Jean Delvare Date: Tue, 12 Dec 2006 17:18:29 +0000 (+0100) Subject: hwmon/f71805f: Fix the device address decoding X-Git-Tag: v2.6.20-rc1~34^2~5 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=75c990291dd7af84ea68f3c3ead934b51d0b81ad;p=linux-2.6 hwmon/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. Signed-off-by: Jean Delvare --- diff --git a/drivers/hwmon/f71805f.c b/drivers/hwmon/f71805f.c index 37ba421789..a272cae8f6 100644 --- a/drivers/hwmon/f71805f.c +++ b/drivers/hwmon/f71805f.c @@ -102,9 +102,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 @@ -1359,6 +1359,7 @@ static int __init f71805f_find(int sioaddr, unsigned short *address, "skipping\n"); goto exit; } + *address &= ~(REGION_LENGTH - 1); /* Ignore 3 LSB */ err = 0; printk(KERN_INFO DRVNAME ": Found %s chip at %#x, revision %u\n",