soc: ti: replace usage of found with dedicated list iterator variable
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
This commit is contained in:
parent
c2b0390132
commit
d281a982c2
@ -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;
|
||||
|
@ -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 = ®ion->pools;
|
||||
list_for_each_entry(pi, ®ion->pools, region_inst) {
|
||||
if ((pi->region_offset - last_offset) >= num_desc) {
|
||||
slot_found = true;
|
||||
list_for_each_entry(iter, ®ion->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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user