[LIST]: Introduce list_del_range
a <-> b <-> c <-> d <-> e <-> f <-> g list_del_range(b, d) turns the list into: a <-> e <-> f <-> g This one is not in the kernel list.h, have to look if there are uses and push it to linux if there are any. Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
7e6125add2
commit
461099d7a8
14
list.h
14
list.h
|
@ -115,6 +115,20 @@ static inline void list_del(struct list_head *entry)
|
||||||
entry->prev = LIST_POISON2;
|
entry->prev = LIST_POISON2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* list_del_range - deletes range of entries from list.
|
||||||
|
* @beging: first element in the range to delete from the list.
|
||||||
|
* @beging: first element in the range to delete from the list.
|
||||||
|
* Note: list_empty on the range of entries does not return true after this,
|
||||||
|
* the entries is in an undefined state.
|
||||||
|
*/
|
||||||
|
static inline void list_del_range(struct list_head *begin,
|
||||||
|
struct list_head *end)
|
||||||
|
{
|
||||||
|
begin->prev->next = end->next;
|
||||||
|
end->next->prev = begin->prev;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* list_replace - replace old entry by new one
|
* list_replace - replace old entry by new one
|
||||||
* @old : the element to be replaced
|
* @old : the element to be replaced
|
||||||
|
|
Loading…
Reference in New Issue