OSDN Git Service

soc: ti: replace usage of found with dedicated list iterator variable
authorJakob Koschel <jakobkoschel@gmail.com>
Thu, 24 Mar 2022 07:25:03 +0000 (08:25 +0100)
committerNishanth Menon <nm@ti.com>
Mon, 11 Apr 2022 13:45:56 +0000 (08:45 -0500)
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.

Signed-off-by: Jakob Koschel <jakobkoschel@gmail.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Vignesh Raghavendra <vigneshr@ti.com>
Link: https://lore.kernel.org/all/CAHk-=wgRr_D8CB-D9Kg-c=EHreAsk5SqXPwr9Y7k9sA6cWXJ6w@mail.gmail.com/
Link: https://lore.kernel.org/r/20220324072503.63244-1-jakobkoschel@gmail.com
drivers/soc/ti/knav_dma.c
drivers/soc/ti/knav_qmss_queue.c

index 700d8ee..7e126a7 100644 (file)
@@ -415,9 +415,8 @@ static int of_channel_match_helper(struct device_node *np, const char *name,
 void *knav_dma_open_channel(struct device *dev, const char *name,
                                        struct knav_dma_cfg *config)
 {
-       struct knav_dma_chan *chan;
-       struct knav_dma_device *dma;
-       bool found = false;
+       struct knav_dma_device *dma = NULL, *iter1;
+       struct knav_dma_chan *chan = NULL, *iter2;
        int chan_num = -1;
        const char *instance;
 
@@ -444,33 +443,32 @@ void *knav_dma_open_channel(struct device *dev, const char *name,
        }
 
        /* Look for correct dma instance */
-       list_for_each_entry(dma, &kdev->list, list) {
-               if (!strcmp(dma->name, instance)) {
-                       found = true;
+       list_for_each_entry(iter1, &kdev->list, list) {
+               if (!strcmp(iter1->name, instance)) {
+                       dma = iter1;
                        break;
                }
        }
-       if (!found) {
+       if (!dma) {
                dev_err(kdev->dev, "No DMA instance with name %s\n", instance);
                return (void *)-EINVAL;
        }
 
        /* Look for correct dma channel from dma instance */
-       found = false;
-       list_for_each_entry(chan, &dma->chan_list, list) {
+       list_for_each_entry(iter2, &dma->chan_list, list) {
                if (config->direction == DMA_MEM_TO_DEV) {
-                       if (chan->channel == chan_num) {
-                               found = true;
+                       if (iter2->channel == chan_num) {
+                               chan = iter2;
                                break;
                        }
                } else {
-                       if (chan->flow == chan_num) {
-                               found = true;
+                       if (iter2->flow == chan_num) {
+                               chan = iter2;
                                break;
                        }
                }
        }
-       if (!found) {
+       if (!chan) {
                dev_err(kdev->dev, "channel %d is not in DMA %s\n",
                                chan_num, instance);
                return (void *)-EINVAL;
index 2ac3856..4dbaa8c 100644 (file)
@@ -758,10 +758,9 @@ void *knav_pool_create(const char *name,
                                        int num_desc, int region_id)
 {
        struct knav_region *reg_itr, *region = NULL;
-       struct knav_pool *pool, *pi;
+       struct knav_pool *pool, *pi = NULL, *iter;
        struct list_head *node;
        unsigned last_offset;
-       bool slot_found;
        int ret;
 
        if (!kdev)
@@ -816,18 +815,17 @@ void *knav_pool_create(const char *name,
         * the request
         */
        last_offset = 0;
-       slot_found = false;
        node = &region->pools;
-       list_for_each_entry(pi, &region->pools, region_inst) {
-               if ((pi->region_offset - last_offset) >= num_desc) {
-                       slot_found = true;
+       list_for_each_entry(iter, &region->pools, region_inst) {
+               if ((iter->region_offset - last_offset) >= num_desc) {
+                       pi = iter;
                        break;
                }
-               last_offset = pi->region_offset + pi->num_desc;
+               last_offset = iter->region_offset + iter->num_desc;
        }
-       node = &pi->region_inst;
 
-       if (slot_found) {
+       if (pi) {
+               node = &pi->region_inst;
                pool->region = region;
                pool->num_desc = num_desc;
                pool->region_offset = last_offset;