From 69706df12656c8eaacc8e3e8db51e5d07b9ad870 Mon Sep 17 00:00:00 2001 From: Jean Delvare Date: Sat, 11 Aug 2007 13:57:05 +0200 Subject: [PATCH] --- yaml --- r: 64126 b: refs/heads/master c: 0956895aa6f8dc6a33210967252fd7787652537d h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/hwmon/w83627ehf.c | 8 +++----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 1329586f2f48..060aaf401d7c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ea7be66c44e56b6b7f1d61befc300871e855d43a +refs/heads/master: 0956895aa6f8dc6a33210967252fd7787652537d diff --git a/trunk/drivers/hwmon/w83627ehf.c b/trunk/drivers/hwmon/w83627ehf.c index bca7fbcfbece..d9a9ec7dd84a 100644 --- a/trunk/drivers/hwmon/w83627ehf.c +++ b/trunk/drivers/hwmon/w83627ehf.c @@ -309,18 +309,16 @@ static inline int is_word_sized(u16 reg) || (reg & 0x00ff) == 0x55)); } -/* We assume that the default bank is 0, thus the following two functions do - nothing for registers which live in bank 0. For others, they respectively - set the bank register to the correct value (before the register is - accessed), and back to 0 (afterwards). */ +/* Registers 0x50-0x5f are banked */ static inline void w83627ehf_set_bank(struct w83627ehf_data *data, u16 reg) { - if (reg & 0xff00) { + if ((reg & 0x00f0) == 0x50) { outb_p(W83627EHF_REG_BANK, data->addr + ADDR_REG_OFFSET); outb_p(reg >> 8, data->addr + DATA_REG_OFFSET); } } +/* Not strictly necessary, but play it safe for now */ static inline void w83627ehf_reset_bank(struct w83627ehf_data *data, u16 reg) { if (reg & 0xff00) {