iio: ssp_sensors: replace usage of found with dedicated list iterator variable
authorJakob Koschel <jakobkoschel@gmail.com>
Thu, 31 Mar 2022 23:06:31 +0000 (01:06 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Mon, 4 Apr 2022 08:11:25 +0000 (09:11 +0100)
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/
Signed-off-by: Jakob Koschel <jakobkoschel@gmail.com>
Reviewed-by: Nuno Sá <nuno.sa@analog.com>
Link: https://lore.kernel.org/r/20220331230632.957634-2-jakobkoschel@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/common/ssp_sensors/ssp_spi.c

index 769bd92..f32b04b 100644 (file)
@@ -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