Re: [PATCH v2] iio: imu: inv_mpu6050: add debugfs register r/w interface

From: Jean-Baptiste Maneyrol
Date: Fri Mar 27 2020 - 10:08:54 EST


Hello,

thanks, it's OK for me.

Acked-by: Jean-Baptiste Maneyrol <jmaneyrol@xxxxxxxxxxxxxx>

Best regards,
JB



From: Rohit Sarkar <rohitsarkar5398@xxxxxxxxx>

Sent: Friday, March 27, 2020 14:10

To: linux-iio@xxxxxxxxxxxxxxx <linux-iio@xxxxxxxxxxxxxxx>

Cc: Jonathan Cameron <jic23@xxxxxxxxxx>; Hartmut Knaack <knaack.h@xxxxxx>; Lars-Peter Clausen <lars@xxxxxxxxxx>; Peter Meerwald-Stadler <pmeerw@xxxxxxxxxx>; Jean-Baptiste Maneyrol <JManeyrol@xxxxxxxxxxxxxx>; Linus Walleij <linus.walleij@xxxxxxxxxx>;
Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>; linux-iio@xxxxxxxxxxxxxxx <linux-iio@xxxxxxxxxxxxxxx>; linux-kernel@xxxxxxxxxxxxxxx <linux-kernel@xxxxxxxxxxxxxxx>

Subject: [PATCH v2] iio: imu: inv_mpu6050: add debugfs register r/w interface

 


 CAUTION: This email originated from outside of the organization. Please make sure the sender is who they say they are and do not click links or open attachments unless you recognize the sender and know the content is safe.



The debugfs interface provides direct access to read and write device

registers if debugfs is enabled.



Signed-off-by: Rohit Sarkar <rohitsarkar5398@xxxxxxxxx>

---

Changelog v1->v2

* grab a lock to protect driver state

* add a comma at the end of structure member initialisation



 drivers/iio/imu/inv_mpu6050/inv_mpu_core.c | 19 +++++++++++++++++++

 1 file changed, 19 insertions(+)



diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c

index 7cb9ff3d3e94..381a3fb09858 100644

--- a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c

+++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c

@@ -1248,12 +1248,31 @@ static const struct attribute_group inv_attribute_group = {

         .attrs = inv_attributes

 };

 

+static int inv_mpu6050_reg_access(struct iio_dev *indio_dev,

+                                 unsigned int reg,

+                                 unsigned int writeval,

+                                 unsigned int *readval)

+{

+       struct inv_mpu6050_state *st = iio_priv(indio_dev);

+       int ret = 0;

+

+       mutex_lock(&st->lock);

+       if (readval)

+               ret = regmap_read(st->map, reg, readval);

+       else

+               ret = regmap_write(st->map, reg, writeval);

+       mutex_unlock(&st->lock);

+

+       return ret;

+}

+

 static const struct iio_info mpu_info = {

         .read_raw = &inv_mpu6050_read_raw,

         .write_raw = &inv_mpu6050_write_raw,

         .write_raw_get_fmt = &inv_write_raw_get_fmt,

         .attrs = &inv_attribute_group,

         .validate_trigger = inv_mpu6050_validate_trigger,

+       .debugfs_reg_access = &inv_mpu6050_reg_access,

 };

 

 /**

--

2.23.0.385.gbc12974a89