Re: [PATCH 0/4] hwmon: (ina2xx) Decouple in0 and curr1 alarms

Guenter Roeck <[email protected]> Fri, 31 Jul 2026 07:34:21 -0700
Newsgroups org.kernel.vger.linux-hwmon,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
On 7/29/26 08:42, Jared Kangas wrote:
> The in0 and curr1 alarms in the ina2xx driver are both based on shunt
> voltage in the hardware, which causes unexpected behavior when reading
> the two inputs' alarms:
> 
> 1. Both alarms may read back 1, even though only one is set.
> 
> 2. The "active" alarm may read back 0 even if the limit was reached due
>     to the use of alert latching. If the inactive alarm is read, it
>     clears the active alarm, and the alarm may not be set before the next
>     read:
> 
>          # echo 1800 >curr1_lcrit
>          # head {in0,curr1}_lcrit_alarm
>          ==> in0_lcrit_alarm <==
>          1
> 
>          ==> curr1_lcrit_alarm <==
>          0
> 
> To address this, track the active alarm's type in the driver, and when
> reading alarms, return early without polling the hardware if the alarm
> being read is inactive.
> 
> Some prep work is done in patches 1-3 to simplify the fix in patch 4.
> 
> Signed-off-by: Jared Kangas <[email protected]>

Please fix the issues reported by Sashiko (or explain why they don't apply).

Thanks,
Guenter