Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1193517 > unrolled thread

[PATCH] iio: inv-mpu: make inv_write_raw_get_fmt() more readable

Started byLuis Henriques <luis.henriques@canonical.com>
First post2015-07-27 23:50 +0200
Last post2015-08-02 20:00 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] iio: inv-mpu: make inv_write_raw_get_fmt() more readable Luis Henriques <luis.henriques@canonical.com> - 2015-07-27 23:50 +0200
    Re: [PATCH] iio: inv-mpu: make inv_write_raw_get_fmt() more readable Jonathan Cameron <jic23@kernel.org> - 2015-08-02 20:00 +0200

#1193517 — [PATCH] iio: inv-mpu: make inv_write_raw_get_fmt() more readable

FromLuis Henriques <luis.henriques@canonical.com>
Date2015-07-27 23:50 +0200
Subject[PATCH] iio: inv-mpu: make inv_write_raw_get_fmt() more readable
Message-ID<pQYrw-60g-17@gated-at.bofh.it>
Replace nested switch statements by a single if statement, making function
inv_write_raw_get_fmt() more readable.

Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
---
 drivers/iio/imu/inv_mpu6050/inv_mpu_core.c | 16 +++-------------
 1 file changed, 3 insertions(+), 13 deletions(-)

diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
index 65ce86837177..afbc2d2b8608 100644
--- a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
+++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
@@ -434,19 +434,9 @@ static int inv_mpu6050_write_gyro_scale(struct inv_mpu6050_state *st, int val)
 static int inv_write_raw_get_fmt(struct iio_dev *indio_dev,
 				 struct iio_chan_spec const *chan, long mask)
 {
-	switch (mask) {
-	case IIO_CHAN_INFO_SCALE:
-		switch (chan->type) {
-		case IIO_ANGL_VEL:
-			return IIO_VAL_INT_PLUS_NANO;
-		default:
-			return IIO_VAL_INT_PLUS_MICRO;
-		}
-	default:
-		return IIO_VAL_INT_PLUS_MICRO;
-	}
-
-	return -EINVAL;
+	if ((mask == IIO_CHAN_INFO_SCALE) && (chan->type == IIO_ANGL_VEL))
+		return IIO_VAL_INT_PLUS_NANO;
+	return IIO_VAL_INT_PLUS_MICRO;
 }
 static int inv_mpu6050_write_accel_scale(struct inv_mpu6050_state *st, int val)
 {
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1198445

FromJonathan Cameron <jic23@kernel.org>
Date2015-08-02 20:00 +0200
Message-ID<pT5Ie-2NJ-19@gated-at.bofh.it>
In reply to#1193517
On 27/07/15 22:48, Luis Henriques wrote:
> Replace nested switch statements by a single if statement, making function
> inv_write_raw_get_fmt() more readable.
> 
> Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
Hi Luis,

I can see where you are coming from here, but my gut feeling
is to leave it be as the chances are more stuff will get added
to this function in the future.  The mpu6050 are complex parts
for which we currently only support a very limited subset of
functionality.  An example of this is we have no filter
control at the moment.  The double case statement is ugly
but it easy to verify.

So I'm not going to take this one.

Sorry,

Jonathan
> ---
>  drivers/iio/imu/inv_mpu6050/inv_mpu_core.c | 16 +++-------------
>  1 file changed, 3 insertions(+), 13 deletions(-)
> 
> diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
> index 65ce86837177..afbc2d2b8608 100644
> --- a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
> +++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
> @@ -434,19 +434,9 @@ static int inv_mpu6050_write_gyro_scale(struct inv_mpu6050_state *st, int val)
>  static int inv_write_raw_get_fmt(struct iio_dev *indio_dev,
>  				 struct iio_chan_spec const *chan, long mask)
>  {
> -	switch (mask) {
> -	case IIO_CHAN_INFO_SCALE:
> -		switch (chan->type) {
> -		case IIO_ANGL_VEL:
> -			return IIO_VAL_INT_PLUS_NANO;
> -		default:
> -			return IIO_VAL_INT_PLUS_MICRO;
> -		}
> -	default:
> -		return IIO_VAL_INT_PLUS_MICRO;
> -	}
> -
> -	return -EINVAL;
> +	if ((mask == IIO_CHAN_INFO_SCALE) && (chan->type == IIO_ANGL_VEL))
> +		return IIO_VAL_INT_PLUS_NANO;
> +	return IIO_VAL_INT_PLUS_MICRO;
>  }
>  static int inv_mpu6050_write_accel_scale(struct inv_mpu6050_state *st, int val)
>  {
> --
> To unsubscribe from this list: send the line "unsubscribe linux-iio" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web