summaryrefslogtreecommitdiffstats
path: root/drivers/hwmon
diff options
context:
space:
mode:
authorGuenter Roeck <linux@roeck-us.net>2024-07-23 16:17:02 -0700
committerGuenter Roeck <linux@roeck-us.net>2024-08-30 08:34:23 -0700
commitaa7d17636640233062075c22afbb3e25fc5e5a91 (patch)
tree74dbba38ba914ade3767f77306bf35c7c3eb1977 /drivers/hwmon
parent51c6fa3246cd6f12e3194795b0a934c1aa8f9d4f (diff)
downloadlinux-aa7d17636640233062075c22afbb3e25fc5e5a91.tar.gz
linux-aa7d17636640233062075c22afbb3e25fc5e5a91.tar.bz2
linux-aa7d17636640233062075c22afbb3e25fc5e5a91.zip
hwmon: (ina2xx) Set alert latch
Alerts should only be cleared after reported, not immediately after the alert condition has been cleared. Set the latch enable bit to keep alerts latched until the alert register has been read from the chip. Reviewed-by: Tzung-Bi Shih <tzungbi@kernel.org> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Diffstat (limited to 'drivers/hwmon')
-rw-r--r--drivers/hwmon/ina2xx.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/hwmon/ina2xx.c b/drivers/hwmon/ina2xx.c
index a9e3b23445b4..98338b7e7437 100644
--- a/drivers/hwmon/ina2xx.c
+++ b/drivers/hwmon/ina2xx.c
@@ -67,6 +67,7 @@
#define INA226_READ_AVG(reg) FIELD_GET(INA226_AVG_RD_MASK, reg)
+#define INA226_ALERT_LATCH_ENABLE BIT(0)
#define INA226_ALERT_POLARITY BIT(1)
/* bit number of alert functions in Mask/Enable Register */
@@ -640,8 +641,10 @@ static int ina2xx_init(struct device *dev, struct ina2xx_data *data)
if (data->chip == ina226) {
bool active_high = device_property_read_bool(dev, "ti,alert-polarity-active-high");
- regmap_update_bits(regmap, INA226_MASK_ENABLE, INA226_ALERT_POLARITY,
- FIELD_PREP(INA226_ALERT_POLARITY, active_high));
+ regmap_update_bits(regmap, INA226_MASK_ENABLE,
+ INA226_ALERT_LATCH_ENABLE | INA226_ALERT_POLARITY,
+ INA226_ALERT_LATCH_ENABLE |
+ FIELD_PREP(INA226_ALERT_POLARITY, active_high));
}
/*