aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorKrzysztof Helt <krzysztof.h1@wp.pl>2007-09-09 11:35:34 -0400
committerMark M. Hoffman <mhoffman@lightlink.com>2007-10-09 22:56:30 -0400
commitbba891c24a77419e9dcf76f866bd0d8ecf66d770 (patch)
tree61a79dfadf447efedeee3d3b0764030fe94b65a4 /drivers
parentc7f1f7166a83f8f5607cc03c7a6c5f936cde6b0d (diff)
hwmon: (thmc50) Fix alarms clearing
This patch make use the interrupt status register instead of the interrupt status mirror register. Reading of the mirror register does not clear alarms. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Mark M. Hoffman <mhoffman@lightlink.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/hwmon/thmc50.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/hwmon/thmc50.c b/drivers/hwmon/thmc50.c
index 981d1f1dc61f..f79c7504204e 100644
--- a/drivers/hwmon/thmc50.c
+++ b/drivers/hwmon/thmc50.c
@@ -47,10 +47,10 @@ I2C_CLIENT_MODULE_PARM(adm1022_temp3, "List of adapter,address pairs "
47#define THMC50_REG_DIE_CODE 0x3F 47#define THMC50_REG_DIE_CODE 0x3F
48#define THMC50_REG_ANALOG_OUT 0x19 48#define THMC50_REG_ANALOG_OUT 0x19
49/* 49/*
50 * We use mirror status register for reading alarms 50 * The mirror status register cannot be used as
51 * so ACPI can use the primary status register. 51 * reading it does not clear alarms.
52 */ 52 */
53#define THMC50_REG_INTR_MIRROR 0x4C 53#define THMC50_REG_INTR 0x41
54 54
55const static u8 THMC50_REG_TEMP[] = { 0x27, 0x26, 0x20 }; 55const static u8 THMC50_REG_TEMP[] = { 0x27, 0x26, 0x20 };
56const static u8 THMC50_REG_TEMP_MIN[] = { 0x3A, 0x38, 0x2C }; 56const static u8 THMC50_REG_TEMP_MIN[] = { 0x3A, 0x38, 0x2C };
@@ -441,7 +441,7 @@ static struct thmc50_data *thmc50_update_device(struct device *dev)
441 data->analog_out = 441 data->analog_out =
442 i2c_smbus_read_byte_data(client, THMC50_REG_ANALOG_OUT); 442 i2c_smbus_read_byte_data(client, THMC50_REG_ANALOG_OUT);
443 data->alarms = 443 data->alarms =
444 i2c_smbus_read_byte_data(client, THMC50_REG_INTR_MIRROR); 444 i2c_smbus_read_byte_data(client, THMC50_REG_INTR);
445 data->last_updated = jiffies; 445 data->last_updated = jiffies;
446 data->valid = 1; 446 data->valid = 1;
447 } 447 }