On Tue, 12 Apr 2022 02:01:32 +0530 Jagath Jog J <jagathjog1996@xxxxxxxxx> wrote: > Add support to read/write byte from/to bma400 device from the userspace > using debugfs interface. > > Signed-off-by: Jagath Jog J <jagathjog1996@xxxxxxxxx> > --- > drivers/iio/accel/bma400_core.c | 18 ++++++++++++++++++ > 1 file changed, 18 insertions(+) > > diff --git a/drivers/iio/accel/bma400_core.c b/drivers/iio/accel/bma400_core.c > index 69d2caa4ed18..b6c79cfabaa4 100644 > --- a/drivers/iio/accel/bma400_core.c > +++ b/drivers/iio/accel/bma400_core.c > @@ -1028,6 +1028,23 @@ static int bma400_write_event_config(struct iio_dev *indio_dev, > } > } > > +static int bma400_debugfs_reg_access(struct iio_dev *indio_dev, > + unsigned int reg, > + unsigned int writeval, > + unsigned int *readval) > +{ > + struct bma400_data *data = iio_priv(indio_dev); > + int ret; > + > + mutex_lock(&data->mutex); Guess what? :) Can't see what purpose locking this has. > + if (readval) > + ret = regmap_read(data->regmap, reg, readval); > + else > + ret = regmap_write(data->regmap, reg, writeval); > + mutex_unlock(&data->mutex); > + return ret; > +} > + > static int bma400_data_rdy_trigger_set_state(struct iio_trigger *trig, > bool state) > { > @@ -1058,6 +1075,7 @@ static const struct iio_info bma400_info = { > .write_raw_get_fmt = bma400_write_raw_get_fmt, > .read_event_config = bma400_read_event_config, > .write_event_config = bma400_write_event_config, > + .debugfs_reg_access = bma400_debugfs_reg_access, > }; > > static const struct iio_trigger_ops bma400_trigger_ops = {