[PATCH v5 05/11] iio: amplifiers: ad8366: use devm_mutex_init() and drop mutex_init()

From: Rodrigo Alencar via B4 Relay

Date: Mon Feb 16 2026 - 12:13:27 EST


From: Rodrigo Alencar <rodrigo.alencar@xxxxxxxxxx>

Adopt proper mutex lifecycle with devm_mutex_init(), replacing
mutex_init(). Mutex init is moved up (before regulator init),
so that goto statement in the error path is avoided (which will
be cleaned up later).

Signed-off-by: Rodrigo Alencar <rodrigo.alencar@xxxxxxxxxx>
---
drivers/iio/amplifiers/ad8366.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/iio/amplifiers/ad8366.c b/drivers/iio/amplifiers/ad8366.c
index 677d02f4f075..6466f3eb6bbc 100644
--- a/drivers/iio/amplifiers/ad8366.c
+++ b/drivers/iio/amplifiers/ad8366.c
@@ -259,6 +259,10 @@ static int ad8366_probe(struct spi_device *spi)

st = iio_priv(indio_dev);

+ ret = devm_mutex_init(dev, &st->lock);
+ if (ret)
+ return ret;
+
st->reg = devm_regulator_get(&spi->dev, "vcc");
if (!IS_ERR(st->reg)) {
ret = regulator_enable(st->reg);
@@ -267,7 +271,6 @@ static int ad8366_probe(struct spi_device *spi)
}

spi_set_drvdata(spi, indio_dev);
- mutex_init(&st->lock);
st->spi = spi;
st->type = spi_get_device_id(spi)->driver_data;


--
2.43.0