1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2019-2021 Broadcom
6 /* Linked List Functions */
11 /* init linked list */
12 void ll_init(struct ll *ll)
19 /* insert entry in linked list */
20 void ll_insert(struct ll *ll,
21 struct ll_entry *entry)
23 if (ll->head == NULL) {
29 entry->next = ll->head;
31 entry->next->prev = entry;
32 ll->head = entry->next->prev;
37 /* delete entry from linked list */
38 void ll_delete(struct ll *ll,
39 struct ll_entry *entry)
41 if (ll->head == entry && ll->tail == entry) {
44 } else if (ll->head == entry) {
45 ll->head = entry->next;
46 ll->head->prev = NULL;
47 } else if (ll->tail == entry) {
48 ll->tail = entry->prev;
49 ll->tail->next = NULL;
51 entry->prev->next = entry->next;
52 entry->next->prev = entry->prev;