[PATCH v3 8/9] iio: accel: bma400: Add debugfs register access support

From: Jagath Jog J
Date: Mon Apr 11 2022 - 16:32:22 EST


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);
+ 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 = {
--
2.17.1