Commit bba891c2 authored by Krzysztof Helt's avatar Krzysztof Helt Committed by Mark M. Hoffman

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: default avatarKrzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: default avatarMark M. Hoffman <mhoffman@lightlink.com>
parent c7f1f716
...@@ -47,10 +47,10 @@ I2C_CLIENT_MODULE_PARM(adm1022_temp3, "List of adapter,address pairs " ...@@ -47,10 +47,10 @@ I2C_CLIENT_MODULE_PARM(adm1022_temp3, "List of adapter,address pairs "
#define THMC50_REG_DIE_CODE 0x3F #define THMC50_REG_DIE_CODE 0x3F
#define THMC50_REG_ANALOG_OUT 0x19 #define THMC50_REG_ANALOG_OUT 0x19
/* /*
* We use mirror status register for reading alarms * The mirror status register cannot be used as
* so ACPI can use the primary status register. * 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[] = { 0x27, 0x26, 0x20 };
const static u8 THMC50_REG_TEMP_MIN[] = { 0x3A, 0x38, 0x2C }; const static u8 THMC50_REG_TEMP_MIN[] = { 0x3A, 0x38, 0x2C };
...@@ -441,7 +441,7 @@ static struct thmc50_data *thmc50_update_device(struct device *dev) ...@@ -441,7 +441,7 @@ static struct thmc50_data *thmc50_update_device(struct device *dev)
data->analog_out = data->analog_out =
i2c_smbus_read_byte_data(client, THMC50_REG_ANALOG_OUT); i2c_smbus_read_byte_data(client, THMC50_REG_ANALOG_OUT);
data->alarms = 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->last_updated = jiffies;
data->valid = 1; data->valid = 1;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment