Skip to content

Commit

Permalink
hwmon: (thmc50) Fix alarms clearing
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Krzysztof Helt authored and Mark M. Hoffman committed Oct 10, 2007
1 parent c7f1f71 commit bba891c
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions drivers/hwmon/thmc50.c
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,10 @@ I2C_CLIENT_MODULE_PARM(adm1022_temp3, "List of adapter,address pairs "
#define THMC50_REG_DIE_CODE 0x3F
#define THMC50_REG_ANALOG_OUT 0x19
/*
* We use mirror status register for reading alarms
* so ACPI can use the primary status register.
* The mirror status register cannot be used as
* reading it does not clear alarms.
*/
#define THMC50_REG_INTR_MIRROR 0x4C
#define THMC50_REG_INTR 0x41

const static u8 THMC50_REG_TEMP[] = { 0x27, 0x26, 0x20 };
const static u8 THMC50_REG_TEMP_MIN[] = { 0x3A, 0x38, 0x2C };
Expand Down Expand Up @@ -441,7 +441,7 @@ static struct thmc50_data *thmc50_update_device(struct device *dev)
data->analog_out =
i2c_smbus_read_byte_data(client, THMC50_REG_ANALOG_OUT);
data->alarms =
i2c_smbus_read_byte_data(client, THMC50_REG_INTR_MIRROR);
i2c_smbus_read_byte_data(client, THMC50_REG_INTR);
data->last_updated = jiffies;
data->valid = 1;
}
Expand Down

0 comments on commit bba891c

Please sign in to comment.