On Fri, Dec 6, 2024 at 11:15 AM Claudiu <claudiu.beznea@xxxxxxxxx> wrote: > > From: Claudiu Beznea <claudiu.beznea.uj@xxxxxxxxxxxxxx> > > Simplify the locking scheme in rzg2l_adc_read_raw() by using > guard(mutex)(). > > Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@xxxxxxxxxxxxxx> > --- > > Changes in v2: > - used guard(mutex)() > - adjusted the patch description > > drivers/iio/adc/rzg2l_adc.c | 13 +++++++------ > 1 file changed, 7 insertions(+), 6 deletions(-) > Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> Cheers, Prabhakar > diff --git a/drivers/iio/adc/rzg2l_adc.c b/drivers/iio/adc/rzg2l_adc.c > index 38d4fb014847..953511191eac 100644 > --- a/drivers/iio/adc/rzg2l_adc.c > +++ b/drivers/iio/adc/rzg2l_adc.c > @@ -8,6 +8,7 @@ > */ > > #include <linux/bitfield.h> > +#include <linux/cleanup.h> > #include <linux/completion.h> > #include <linux/delay.h> > #include <linux/iio/iio.h> > @@ -220,21 +221,21 @@ static int rzg2l_adc_read_raw(struct iio_dev *indio_dev, > u8 ch; > > switch (mask) { > - case IIO_CHAN_INFO_RAW: > + case IIO_CHAN_INFO_RAW: { > if (chan->type != IIO_VOLTAGE) > return -EINVAL; > > - mutex_lock(&adc->lock); > + guard(mutex)(&adc->lock); > + > ch = chan->channel & RZG2L_ADC_CHN_MASK; > ret = rzg2l_adc_conversion(indio_dev, adc, ch); > - if (ret) { > - mutex_unlock(&adc->lock); > + if (ret) > return ret; > - } > + > *val = adc->last_val[ch]; > - mutex_unlock(&adc->lock); > > return IIO_VAL_INT; > + } > > default: > return -EINVAL; > -- > 2.39.2 > >