On Fri, 2020-02-28 at 00:38 +0530, Rohit Sarkar wrote: > This change replaces indio_dev's mlock with the drivers own lock. In > each case the lock is needed to protect the driver's own state. > > Changes from v1: > Fix indentation. > Add a mutex_init() in the probe function. > This looks like the first patch. I don't see the code changes from the first one. > Signed-off-by: Rohit Sarkar <rohitsarkar5398@xxxxxxxxx> > --- > drivers/iio/adc/max1363.c | 13 +++++++------ > 1 file changed, 7 insertions(+), 6 deletions(-) > > diff --git a/drivers/iio/adc/max1363.c b/drivers/iio/adc/max1363.c > index 5c2cc61b666e..b9557f957f3c 100644 > --- a/drivers/iio/adc/max1363.c > +++ b/drivers/iio/adc/max1363.c > @@ -169,6 +169,7 @@ struct max1363_state { > const struct max1363_mode *current_mode; > u32 requestedmask; > struct regulator *reg; > + struct mutex lock; > > /* Using monitor modes and buffer at the same time is > currently not supported */ > @@ -364,7 +365,7 @@ static int max1363_read_single_chan(struct iio_dev > *indio_dev, > struct max1363_state *st = iio_priv(indio_dev); > struct i2c_client *client = st->client; > > - mutex_lock(&indio_dev->mlock); > + mutex_lock(&st->lock); > /* > * If monitor mode is enabled, the method for reading a single > * channel will have to be rather different and has not yet > @@ -405,7 +406,7 @@ static int max1363_read_single_chan(struct iio_dev > *indio_dev, > } > *val = data; > error_ret: > - mutex_unlock(&indio_dev->mlock); > + mutex_unlock(&st->lock); > return ret; > > } > @@ -705,9 +706,9 @@ static ssize_t max1363_monitor_store_freq(struct device > *dev, > if (!found) > return -EINVAL; > > - mutex_lock(&indio_dev->mlock); > + mutex_lock(&st->mlock); > st->monitor_speed = i; > - mutex_unlock(&indio_dev->mlock); > + mutex_unlock(&st->mlock); > > return 0; > } > @@ -810,12 +811,12 @@ static int max1363_read_event_config(struct iio_dev > *indio_dev, > int val; > int number = chan->channel; > > - mutex_lock(&indio_dev->mlock); > + mutex_lock(&st->mlock); > if (dir == IIO_EV_DIR_FALLING) > val = (1 << number) & st->mask_low; > else > val = (1 << number) & st->mask_high; > - mutex_unlock(&indio_dev->mlock); > + mutex_unlock(&st->mlock); > > return val; > }