From: Guenter Roeck Date: Tue, 23 Jul 2024 23:17:02 +0000 (-0700) Subject: hwmon: (ina2xx) Set alert latch X-Git-Tag: v6.12-rc1~150^2~14 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=aa7d17636640233062075c22afbb3e25fc5e5a91;p=thirdparty%2Flinux.git 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 Signed-off-by: Guenter Roeck --- diff --git a/drivers/hwmon/ina2xx.c b/drivers/hwmon/ina2xx.c index a9e3b23445b44..98338b7e74376 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)); } /*