Thread (23 messages) 23 messages, 5 authors, 2016-05-31

Re: [PATCH v2 2/7] iio: inv_mpu6050: Initial regcache support

From: Crestez Dan Leonard <hidden>
Date: 2016-05-20 11:02:17
Also in: linux-i2c, linux-iio, lkml

On 05/20/2016 09:39 AM, Peter Rosin wrote:
On 2016-05-20 04:34, Matt Ranostay wrote:
quoted
On Wed, May 18, 2016 at 8:00 AM, Crestez Dan Leonard
[off-list ref] wrote:
quoted
Signed-off-by: Crestez Dan Leonard <redacted>
---
 drivers/iio/imu/inv_mpu6050/inv_mpu_core.c | 47 ++++++++++++++++++++++++++++++
 drivers/iio/imu/inv_mpu6050/inv_mpu_i2c.c  |  5 ----
 drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h  |  1 +
 drivers/iio/imu/inv_mpu6050/inv_mpu_spi.c  |  5 ----
 4 files changed, 48 insertions(+), 10 deletions(-)
diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
index b269b37..5918c23 100644
--- a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
+++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
@@ -116,6 +116,53 @@ static const struct inv_mpu6050_hw hw_info[] = {
        },
 };

+static bool inv_mpu6050_volatile_reg(struct device *dev, unsigned int reg)
+{
+       if (reg >= INV_MPU6050_REG_RAW_ACCEL && reg < INV_MPU6050_REG_RAW_ACCEL + 6)
+               return true;
+       if (reg >= INV_MPU6050_REG_RAW_GYRO && reg < INV_MPU6050_REG_RAW_GYRO + 6)
+               return true;
I think you want to put parenthesis around the addition operations...
Maybe.
quoted
the condition check probably don't evaluate to what you are expecting.
Looks sane to me since + has highest precedence, then < and >=, and && comes
in last...

...but even so, I think I would use an ellipsis in the switch statement
instead, like so:

static bool inv_mpu6050_volatile_reg(struct device *dev, unsigned int reg)
{
	switch (reg) {
	case INV_MPU6050_REG_RAW_ACCEL ... INV_MPU6050_REG_RAW_ACCEL + 5:
	case INV_MPU6050_REG_RAW_GYRO ... INV_MPU6050_REG_RAW_GYRO  + 5:
	case INV_MPU6050_REG_TEMPERATURE:
	case INV_MPU6050_REG_TEMPERATURE + 1:
	case INV_MPU6050_REG_USER_CTRL:
	case INV_MPU6050_REG_PWR_MGMT_1:
	case INV_MPU6050_REG_FIFO_COUNT_H:
	case INV_MPU6050_REG_FIFO_COUNT_H + 1:
	case INV_MPU6050_REG_FIFO_R_W:
		return true;
	default:
		return false;
	}
}
Neat, I didn't know about this extension. It does look nicer in this
function.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help