hwmon: (w83795) Clear intrusion alarm immediately

When asked to clear the intrusion alarm, do so immediately. We have to
invalidate the cache to make sure the new status will be read. But we
also have to read from the status register once to clear the pending
alarm, as writing to CLR_CHS surprising won't clear it automatically.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Acked-by: Guenter Roeck <guenter.roeck@ericsson.com>
This commit is contained in:
Jean Delvare 2010-11-15 21:38:57 +01:00 committed by Jean Delvare
parent cf6b9ea661
commit 793c51d5fd
1 changed files with 4 additions and 0 deletions

View File

@ -755,6 +755,10 @@ store_chassis_clear(struct device *dev,
val = w83795_read(client, W83795_REG_CLR_CHASSIS); val = w83795_read(client, W83795_REG_CLR_CHASSIS);
val |= 0x80; val |= 0x80;
w83795_write(client, W83795_REG_CLR_CHASSIS, val); w83795_write(client, W83795_REG_CLR_CHASSIS, val);
/* Clear status and force cache refresh */
w83795_read(client, W83795_REG_ALARM(5));
data->valid = 0;
mutex_unlock(&data->update_lock); mutex_unlock(&data->update_lock);
return count; return count;
} }