Message ID | 20250125-wip-bl-ad3552r-clear-reset-v2-1-aa3a27f3ff8c@baylibre.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | [v2] iio: dac: ad3552r: clear reset status flag | expand |
On Sat, 25 Jan 2025 17:24:32 +0100 Angelo Dureghello <adureghello@baylibre.com> wrote: > From: Angelo Dureghello <adureghello@baylibre.com> > > Clear reset status flag, to keep error status register clean after reset > (ad3552r manual, rev B table 38). > > Reset error flag was left to 1, so debugging registers, the "Error > Status Register" was dirty (0x01). It is important to clear this bit, so > if there is any reset event over normal working mode, it is possible to > detect it. > > Fixes: 8f2b54824b28 ("drivers:iio:dac: Add AD3552R driver support") > Signed-off-by: Angelo Dureghello <adureghello@baylibre.com> Applied to the fixes-togreg branch of iio.git and marked for stable inclusion. Thanks, Jonathan
diff --git a/drivers/iio/dac/ad3552r.c b/drivers/iio/dac/ad3552r.c index 9d28e06b80c0..a44b163f3183 100644 --- a/drivers/iio/dac/ad3552r.c +++ b/drivers/iio/dac/ad3552r.c @@ -410,6 +410,12 @@ static int ad3552r_reset(struct ad3552r_desc *dac) return ret; } + /* Clear reset error flag, see ad3552r manual, rev B table 38. */ + ret = ad3552r_write_reg(dac, AD3552R_REG_ADDR_ERR_STATUS, + AD3552R_MASK_RESET_STATUS); + if (ret) + return ret; + return ad3552r_update_reg_field(dac, AD3552R_REG_ADDR_INTERFACE_CONFIG_A, AD3552R_MASK_ADDR_ASCENSION,