[PATCH v2] iio: imu: inv_mpu6050: Remove duplicate code between labels

Gyeyoung Baek posted 1 patch 1 year, 5 months ago
drivers/iio/imu/inv_mpu6050/inv_mpu_ring.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
[PATCH v2] iio: imu: inv_mpu6050: Remove duplicate code between labels
Posted by Gyeyoung Baek 1 year, 5 months ago
'flush_fifo' label performs same task as 'endsession' label
immediately after calling 'env_reset_fifo' function.
So i remove that duplication.

Signed-off-by: Gyeyoung Baek <gye976@gmail.com>
---
I worked on the wrong branch in v1, and reworked on the latest branch.

 drivers/iio/imu/inv_mpu6050/inv_mpu_ring.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_ring.c b/drivers/iio/imu/inv_mpu6050/inv_mpu_ring.c
index 3d3b27f28c9d..4753016d6ee0 100644
--- a/drivers/iio/imu/inv_mpu6050/inv_mpu_ring.c
+++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_ring.c
@@ -121,15 +121,12 @@ irqreturn_t inv_mpu6050_read_fifo(int irq, void *p)
 		iio_push_to_buffers_with_timestamp(indio_dev, data, timestamp);
 	}
 
-end_session:
-	mutex_unlock(&st->lock);
-	iio_trigger_notify_done(indio_dev->trig);
-
-	return IRQ_HANDLED;
 
 flush_fifo:
 	/* Flush HW and SW FIFOs. */
 	inv_reset_fifo(indio_dev);
+
+end_session:
 	mutex_unlock(&st->lock);
 	iio_trigger_notify_done(indio_dev->trig);
 
-- 
2.34.1
Re: [PATCH v2] iio: imu: inv_mpu6050: Remove duplicate code between labels
Posted by Andy Shevchenko 1 year, 5 months ago
Sun, Sep 01, 2024 at 09:08:39PM +0900, Gyeyoung Baek kirjoitti:
> 'flush_fifo' label performs same task as 'endsession' label
> immediately after calling 'env_reset_fifo' function.
> So i remove that duplication.

...

> -end_session:
> -	mutex_unlock(&st->lock);
> -	iio_trigger_notify_done(indio_dev->trig);
> -
> -	return IRQ_HANDLED;

You missed

	goto end_session;

here.

>  flush_fifo:
>  	/* Flush HW and SW FIFOs. */
>  	inv_reset_fifo(indio_dev);
> +
> +end_session:
>  	mutex_unlock(&st->lock);
>  	iio_trigger_notify_done(indio_dev->trig);

-- 
With Best Regards,
Andy Shevchenko
Re: [PATCH v2] iio: imu: inv_mpu6050: Remove duplicate code between labels
Posted by Jonathan Cameron 1 year, 5 months ago
On Sun,  1 Sep 2024 21:08:39 +0900
Gyeyoung Baek <gye976@gmail.com> wrote:

> 'flush_fifo' label performs same task as 'endsession' label
> immediately after calling 'env_reset_fifo' function.
> So i remove that duplication.
> 
> Signed-off-by: Gyeyoung Baek <gye976@gmail.com>

Ok. This doesn't greatly affect readability and the code
ends up a bit shorter.

Applied

Jonathan

> ---
> I worked on the wrong branch in v1, and reworked on the latest branch.
> 
>  drivers/iio/imu/inv_mpu6050/inv_mpu_ring.c | 7 ++-----
>  1 file changed, 2 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_ring.c b/drivers/iio/imu/inv_mpu6050/inv_mpu_ring.c
> index 3d3b27f28c9d..4753016d6ee0 100644
> --- a/drivers/iio/imu/inv_mpu6050/inv_mpu_ring.c
> +++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_ring.c
> @@ -121,15 +121,12 @@ irqreturn_t inv_mpu6050_read_fifo(int irq, void *p)
>  		iio_push_to_buffers_with_timestamp(indio_dev, data, timestamp);
>  	}
>  
> -end_session:
> -	mutex_unlock(&st->lock);
> -	iio_trigger_notify_done(indio_dev->trig);
> -
> -	return IRQ_HANDLED;
>  
>  flush_fifo:
>  	/* Flush HW and SW FIFOs. */
>  	inv_reset_fifo(indio_dev);
> +
> +end_session:
>  	mutex_unlock(&st->lock);
>  	iio_trigger_notify_done(indio_dev->trig);
>
Re: [PATCH v2] iio: imu: inv_mpu6050: Remove duplicate code between labels
Posted by Markus Elfring 1 year, 5 months ago
> > 'flush_fifo' label performs same task as 'endsession' label
> > immediately after calling 'env_reset_fifo' function.
> > So i remove that duplication.
…
> Ok. This doesn't greatly affect readability and the code
> ends up a bit shorter.

How can you find such a change description acceptable?


> Applied

Please reconsider this positive feedback once more.

It temporarily looked too promising to apply a goto chain.
But the original control flow needs other development considerations
if you would like to reduce the explicit repetition of common actions.

Regards,
Markus
Re: [PATCH v2] iio: imu: inv_mpu6050: Remove duplicate code between labels
Posted by gyeyoung 1 year, 5 months ago
On Sun, Sep 1, 2024 at 11:11 PM Jonathan Cameron <jic23@kernel.org> wrote:
>
> On Sun,  1 Sep 2024 21:08:39 +0900
> Gyeyoung Baek <gye976@gmail.com> wrote:
>
> > 'flush_fifo' label performs same task as 'endsession' label
> > immediately after calling 'env_reset_fifo' function.
> > So i remove that duplication.
> >
> > Signed-off-by: Gyeyoung Baek <gye976@gmail.com>
>
> Ok. This doesn't greatly affect readability and the code
> ends up a bit shorter.
>
> Applied
>
> Jonathan
>

Thank you for approving it.

-Gyeyoung