[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <8b739044-2854-441d-b744-b014deea4eea@baylibre.com>
Date: Fri, 15 Aug 2025 09:25:18 -0500
From: David Lechner <dlechner@...libre.com>
To: Qianfeng Rong <rongqianfeng@...o.com>,
Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@....com>,
Jonathan Cameron <jic23@...nel.org>, Nuno Sá
<nuno.sa@...log.com>, Andy Shevchenko <andy@...nel.org>,
linux-iio@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] iio: imu: use min() to improve code
On 8/15/25 3:06 AM, Qianfeng Rong wrote:
> Use min() to reduce code in inv_icm42600_buffer_update_fifo_period()
> and inv_icm42600_buffer_update_watermark(), and improve readability.
>
> Signed-off-by: Qianfeng Rong <rongqianfeng@...o.com>
> ---
> drivers/iio/imu/inv_icm42600/inv_icm42600_buffer.c | 11 +++--------
> 1 file changed, 3 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/iio/imu/inv_icm42600/inv_icm42600_buffer.c b/drivers/iio/imu/inv_icm42600/inv_icm42600_buffer.c
> index 7c4ed981db04..91d166de1231 100644
> --- a/drivers/iio/imu/inv_icm42600/inv_icm42600_buffer.c
> +++ b/drivers/iio/imu/inv_icm42600/inv_icm42600_buffer.c
> @@ -9,6 +9,7 @@
> #include <linux/pm_runtime.h>
> #include <linux/regmap.h>
> #include <linux/delay.h>
> +#include <linux/minmax.h>
Would be nice to put this in alphabetical order the best we can.
>
> #include <linux/iio/buffer.h>
> #include <linux/iio/common/inv_sensors_timestamp.h>
> @@ -112,10 +113,7 @@ void inv_icm42600_buffer_update_fifo_period(struct inv_icm42600_state *st)
> else
> period_accel = U32_MAX;
>
> - if (period_gyro <= period_accel)
> - period = period_gyro;
> - else
> - period = period_accel;
> + period = min(period_gyro, period_accel);
>
> st->fifo.period = period;
Might as well just drop the local variable in this one and save
another line (and a blank line).
> }
> @@ -238,10 +236,7 @@ int inv_icm42600_buffer_update_watermark(struct inv_icm42600_state *st)
> else
> latency = latency_accel - (latency_gyro % latency_accel);
> /* use the shortest period */
We could remove the comment as well since it should be
obvious from the code.
> - if (period_gyro <= period_accel)
> - period = period_gyro;
> - else
> - period = period_accel;
> + period = min(period_gyro, period_accel);
> /* all this works because periods are multiple of each others */
> watermark = latency / period;
Could probably also drop the local variable here and still fit everything on one line.
> if (watermark < 1)
Powered by blists - more mailing lists