[PATCH 1/5] hwmon: (max1619) Fix critical alarm display

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The overtemperature status bit, which is used to display critical alarm status,
matches the output of the OVERT signal 1:1. If that signal is active-low, the
bit will read 1 if there is no alarm. It is therefore necessary to reverse
the bit in this case.

Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
---
Candidate for -stable or not worth it ?

 drivers/hwmon/max1619.c |    5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/hwmon/max1619.c b/drivers/hwmon/max1619.c
index 4c23afe..0927902 100644
--- a/drivers/hwmon/max1619.c
+++ b/drivers/hwmon/max1619.c
@@ -325,6 +325,7 @@ static struct max1619_data *max1619_update_device(struct device *dev)
 {
 	struct i2c_client *client = to_i2c_client(dev);
 	struct max1619_data *data = i2c_get_clientdata(client);
+	int config;
 
 	mutex_lock(&data->update_lock);
 
@@ -344,6 +345,10 @@ static struct max1619_data *max1619_update_device(struct device *dev)
 					MAX1619_REG_R_TCRIT_HYST);
 		data->alarms = i2c_smbus_read_byte_data(client,
 					MAX1619_REG_R_STATUS);
+		/* If OVERT polarity is low, reverse alarm bit */
+		config = i2c_smbus_read_byte_data(client, MAX1619_REG_R_CONFIG);
+		if (!(config & 0x20))
+			data->alarms ^= 0x02;
 
 		data->last_updated = jiffies;
 		data->valid = 1;
-- 
1.7.9.7


_______________________________________________
lm-sensors mailing list
lm-sensors@xxxxxxxxxxxxxx
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors




[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux