Message ID | 20220331230632.957634-2-jakobkoschel@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | [1/3] iio: buffer: remove usage of list iterator variable for list_for_each_entry_continue_reverse() | expand |
> -----Original Message----- > From: Jakob Koschel <jakobkoschel@gmail.com> > Sent: Friday, April 1, 2022 1:07 AM > To: Jonathan Cameron <jic23@kernel.org> > Cc: Lars-Peter Clausen <lars@metafoo.de>; Dan Carpenter > <dan.carpenter@oracle.com>; Jakob Koschel > <jakobkoschel@gmail.com>; linux-iio@vger.kernel.org; linux- > kernel@vger.kernel.org; Mike Rapoport <rppt@kernel.org>; Brian > Johannesmeyer <bjohannesmeyer@gmail.com>; Cristiano Giuffrida > <c.giuffrida@vu.nl>; Bos, H.J. <h.j.bos@vu.nl> > Subject: [PATCH 2/3] iio: ssp_sensors: replace usage of found with > dedicated list iterator variable > > [External] > > To move the list iterator variable into the list_for_each_entry_*() > macro in the future it should be avoided to use the list iterator > variable after the loop body. > > To *never* use the list iterator variable after the loop it was > concluded to use a separate iterator variable instead of a > found boolean [1]. > > This removes the need to use a found variable and simply checking if > the variable was set, can determine if the break/goto was hit. > > Link: https://urldefense.com/v3/__https://lore.kernel.org/all/CAHk- > =wgRr_D8CB-D9Kg- > c=EHreAsk5SqXPwr9Y7k9sA6cWXJ6w@mail.gmail.com/__;!!A3Ni8CS0y > 2Y!tqcYepOSYys02RcvKD7LiZk3mHwPmSLa_1S0QglWPRZSCoPnXk3ccjY > _XzsDDA$ [1] > Signed-off-by: Jakob Koschel <jakobkoschel@gmail.com> > --- Reviewed-by: Nuno Sá <nuno.sa@analog.com>
diff --git a/drivers/iio/common/ssp_sensors/ssp_spi.c b/drivers/iio/common/ssp_sensors/ssp_spi.c index 769bd9280524..f32b04b63ea1 100644 --- a/drivers/iio/common/ssp_sensors/ssp_spi.c +++ b/drivers/iio/common/ssp_sensors/ssp_spi.c @@ -331,12 +331,11 @@ static int ssp_parse_dataframe(struct ssp_data *data, char *dataframe, int len) /* threaded irq */ int ssp_irq_msg(struct ssp_data *data) { - bool found = false; char *buffer; u8 msg_type; int ret; u16 length, msg_options; - struct ssp_msg *msg, *n; + struct ssp_msg *msg = NULL, *iter, *n; ret = spi_read(data->spi, data->header_buffer, SSP_HEADER_BUFFER_SIZE); if (ret < 0) { @@ -362,15 +361,15 @@ int ssp_irq_msg(struct ssp_data *data) * received with no order */ mutex_lock(&data->pending_lock); - list_for_each_entry_safe(msg, n, &data->pending_list, list) { - if (msg->options == msg_options) { - list_del(&msg->list); - found = true; + list_for_each_entry_safe(iter, n, &data->pending_list, list) { + if (iter->options == msg_options) { + list_del(&iter->list); + msg = iter; break; } } - if (!found) { + if (!msg) { /* * here can be implemented dead messages handling * but the slave should not send such ones - it is to
To move the list iterator variable into the list_for_each_entry_*() macro in the future it should be avoided to use the list iterator variable after the loop body. To *never* use the list iterator variable after the loop it was concluded to use a separate iterator variable instead of a found boolean [1]. This removes the need to use a found variable and simply checking if the variable was set, can determine if the break/goto was hit. Link: https://lore.kernel.org/all/CAHk-=wgRr_D8CB-D9Kg-c=EHreAsk5SqXPwr9Y7k9sA6cWXJ6w@mail.gmail.com/ [1] Signed-off-by: Jakob Koschel <jakobkoschel@gmail.com> --- drivers/iio/common/ssp_sensors/ssp_spi.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-)