staging: dgap: Simplify dgap_find_config

Simplify ugly dgap_find_config function

Signed-off-by: Mark Hounschell <markh@compro.net>
Tested-by: Mark Hounschell <markh@compro.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Mark Hounschell 2014-05-28 16:17:55 -04:00 committed by Greg Kroah-Hartman
parent 9a133a9039
commit 0be048cbc6
1 changed files with 40 additions and 38 deletions

View File

@ -7354,13 +7354,16 @@ static struct cnode *dgap_find_config(int type, int bus, int slot)
prev = p;
p = p->next;
if (p->type == BNODE) {
if (p->type != BNODE)
continue;
if (p->u.board.type == type) {
if (p->u.board.type != type)
continue;
if (p->u.board.v_pcibus &&
p->u.board.pcibus != bus)
continue;
if (p->u.board.v_pcislot &&
p->u.board.pcislot != slot)
continue;
@ -7373,7 +7376,9 @@ static struct cnode *dgap_find_config(int type, int bus, int slot)
while (p->next) {
prev2 = p;
p = p->next;
if (p->type == BNODE) {
if (p->type != BNODE)
continue;
/*
* Mark the end of our 1 board
@ -7391,15 +7396,12 @@ static struct cnode *dgap_find_config(int type, int bus, int slot)
return found;
}
}
/*
* It must be the last board in the list.
*/
prev->next = NULL;
return found;
}
}
}
return NULL;
}