mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-09 06:43:09 +00:00
w1: 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. Link: https://lore.kernel.org/all/CAHk-=wgRr_D8CB-D9Kg-c=EHreAsk5SqXPwr9Y7k9sA6cWXJ6w@mail.gmail.com/ [1] Signed-off-by: Jakob Koschel <jkl820.git@gmail.com> Link: https://lore.kernel.org/r/20230509-w1-replace-usage-of-found-with-tmp-list-iterator-variable-v3-1-e07c9603fd9d@gmail.com Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
This commit is contained in:
parent
0df2a5e99d
commit
b332af5398
@ -821,49 +821,47 @@ int w1_slave_detach(struct w1_slave *sl)
|
||||
|
||||
struct w1_master *w1_search_master_id(u32 id)
|
||||
{
|
||||
struct w1_master *dev;
|
||||
int found = 0;
|
||||
struct w1_master *dev = NULL, *iter;
|
||||
|
||||
mutex_lock(&w1_mlock);
|
||||
list_for_each_entry(dev, &w1_masters, w1_master_entry) {
|
||||
if (dev->id == id) {
|
||||
found = 1;
|
||||
atomic_inc(&dev->refcnt);
|
||||
list_for_each_entry(iter, &w1_masters, w1_master_entry) {
|
||||
if (iter->id == id) {
|
||||
dev = iter;
|
||||
atomic_inc(&iter->refcnt);
|
||||
break;
|
||||
}
|
||||
}
|
||||
mutex_unlock(&w1_mlock);
|
||||
|
||||
return (found)?dev:NULL;
|
||||
return dev;
|
||||
}
|
||||
|
||||
struct w1_slave *w1_search_slave(struct w1_reg_num *id)
|
||||
{
|
||||
struct w1_master *dev;
|
||||
struct w1_slave *sl = NULL;
|
||||
int found = 0;
|
||||
struct w1_slave *sl = NULL, *iter;
|
||||
|
||||
mutex_lock(&w1_mlock);
|
||||
list_for_each_entry(dev, &w1_masters, w1_master_entry) {
|
||||
mutex_lock(&dev->list_mutex);
|
||||
list_for_each_entry(sl, &dev->slist, w1_slave_entry) {
|
||||
if (sl->reg_num.family == id->family &&
|
||||
sl->reg_num.id == id->id &&
|
||||
sl->reg_num.crc == id->crc) {
|
||||
found = 1;
|
||||
list_for_each_entry(iter, &dev->slist, w1_slave_entry) {
|
||||
if (iter->reg_num.family == id->family &&
|
||||
iter->reg_num.id == id->id &&
|
||||
iter->reg_num.crc == id->crc) {
|
||||
sl = iter;
|
||||
atomic_inc(&dev->refcnt);
|
||||
atomic_inc(&sl->refcnt);
|
||||
atomic_inc(&iter->refcnt);
|
||||
break;
|
||||
}
|
||||
}
|
||||
mutex_unlock(&dev->list_mutex);
|
||||
|
||||
if (found)
|
||||
if (sl)
|
||||
break;
|
||||
}
|
||||
mutex_unlock(&w1_mlock);
|
||||
|
||||
return (found)?sl:NULL;
|
||||
return sl;
|
||||
}
|
||||
|
||||
void w1_reconnect_slaves(struct w1_family *f, int attach)
|
||||
|
Loading…
Reference in New Issue
Block a user