From a99b580c75278d306d2d1eb0b6893e83388ec513 Mon Sep 17 00:00:00 2001 From: Maximilian Brune Date: Sat, 16 Sep 2023 19:56:45 +0200 Subject: treewide: Move list.h to commonlib It is needed in order to move device_tree.c into commonlib in a subsequent commit. Signed-off-by: Maximilian Brune Change-Id: I16eb7b743fb1d36301f0eda563a62364e7a9cfec Reviewed-on: https://review.coreboot.org/c/coreboot/+/77968 Reviewed-by: Julius Werner Tested-by: build bot (Jenkins) --- src/commonlib/Makefile.mk | 2 ++ src/commonlib/include/commonlib/list.h | 29 ++++++++++++++++++++++++++ src/commonlib/list.c | 38 ++++++++++++++++++++++++++++++++++ src/include/device_tree.h | 2 +- src/include/fit.h | 6 +++--- src/include/list.h | 27 ------------------------ src/lib/Makefile.mk | 2 -- src/lib/cbfs.c | 2 +- src/lib/edid_fill_fb.c | 2 +- src/lib/list.c | 38 ---------------------------------- 10 files changed, 75 insertions(+), 73 deletions(-) create mode 100644 src/commonlib/include/commonlib/list.h create mode 100644 src/commonlib/list.c delete mode 100644 src/include/list.h delete mode 100644 src/lib/list.c (limited to 'src') diff --git a/src/commonlib/Makefile.mk b/src/commonlib/Makefile.mk index 7ec4de91c0..30aaddf2cc 100644 --- a/src/commonlib/Makefile.mk +++ b/src/commonlib/Makefile.mk @@ -53,6 +53,8 @@ romstage-y += bsd/lz4_wrapper.c ramstage-y += bsd/lz4_wrapper.c postcar-y += bsd/lz4_wrapper.c +all-y += list.c + ramstage-y += sort.c romstage-y += bsd/elog.c diff --git a/src/commonlib/include/commonlib/list.h b/src/commonlib/include/commonlib/list.h new file mode 100644 index 0000000000..6c8a5d2cbb --- /dev/null +++ b/src/commonlib/include/commonlib/list.h @@ -0,0 +1,29 @@ +/* Taken from depthcharge: src/base/list.h */ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#ifndef __COMMONLIB_LIST_H__ +#define __COMMONLIB_LIST_H__ + +#include + +struct list_node { + struct list_node *next; + struct list_node *prev; +}; + +// Remove list_node node from the doubly linked list it's a part of. +void list_remove(struct list_node *node); +// Insert list_node node after list_node after in a doubly linked list. +void list_insert_after(struct list_node *node, struct list_node *after); +// Insert list_node node before list_node before in a doubly linked list. +void list_insert_before(struct list_node *node, struct list_node *before); +// Appends the node to the end of the list. +void list_append(struct list_node *node, struct list_node *head); + +#define list_for_each(ptr, head, member) \ + for ((ptr) = container_of((head).next, typeof(*(ptr)), member); \ + (uintptr_t)ptr + (uintptr_t)offsetof(typeof(*(ptr)), member); \ + (ptr) = container_of((ptr)->member.next, \ + typeof(*(ptr)), member)) + +#endif /* __COMMONLIB_LIST_H__ */ diff --git a/src/commonlib/list.c b/src/commonlib/list.c new file mode 100644 index 0000000000..b1030c8263 --- /dev/null +++ b/src/commonlib/list.c @@ -0,0 +1,38 @@ +/* Taken from depthcharge: src/base/list.c */ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include + +void list_remove(struct list_node *node) +{ + if (node->prev) + node->prev->next = node->next; + if (node->next) + node->next->prev = node->prev; +} + +void list_insert_after(struct list_node *node, struct list_node *after) +{ + node->next = after->next; + node->prev = after; + after->next = node; + if (node->next) + node->next->prev = node; +} + +void list_insert_before(struct list_node *node, struct list_node *before) +{ + node->prev = before->prev; + node->next = before; + before->prev = node; + if (node->prev) + node->prev->next = node; +} + +void list_append(struct list_node *node, struct list_node *head) +{ + while (head->next) + head = head->next; + + list_insert_after(node, head); +} diff --git a/src/include/device_tree.h b/src/include/device_tree.h index 02fcaa7234..e7b79e1a94 100644 --- a/src/include/device_tree.h +++ b/src/include/device_tree.h @@ -6,7 +6,7 @@ #include #include -#include +#include /* * Flattened device tree structures/constants. diff --git a/src/include/fit.h b/src/include/fit.h index a1e970d502..d587750743 100644 --- a/src/include/fit.h +++ b/src/include/fit.h @@ -4,11 +4,11 @@ #ifndef __LIB_FIT_H__ #define __LIB_FIT_H__ -#include -#include +#include #include -#include #include +#include +#include struct fit_image_node { const char *name; diff --git a/src/include/list.h b/src/include/list.h deleted file mode 100644 index bfd92a747b..0000000000 --- a/src/include/list.h +++ /dev/null @@ -1,27 +0,0 @@ -/* Taken from depthcharge: src/base/list.h */ -/* SPDX-License-Identifier: GPL-2.0-or-later */ - -#ifndef __LIST_H__ -#define __LIST_H__ - -struct list_node { - struct list_node *next; - struct list_node *prev; -}; - -// Remove list_node node from the doubly linked list it's a part of. -void list_remove(struct list_node *node); -// Insert list_node node after list_node after in a doubly linked list. -void list_insert_after(struct list_node *node, struct list_node *after); -// Insert list_node node before list_node before in a doubly linked list. -void list_insert_before(struct list_node *node, struct list_node *before); -// Appends the node to the end of the list. -void list_append(struct list_node *node, struct list_node *head); - -#define list_for_each(ptr, head, member) \ - for ((ptr) = container_of((head).next, typeof(*(ptr)), member); \ - (uintptr_t)ptr + (uintptr_t)offsetof(typeof(*(ptr)), member); \ - (ptr) = container_of((ptr)->member.next, \ - typeof(*(ptr)), member)) - -#endif /* __LIST_H__ */ diff --git a/src/lib/Makefile.mk b/src/lib/Makefile.mk index 2a95be9d10..fe24156dad 100644 --- a/src/lib/Makefile.mk +++ b/src/lib/Makefile.mk @@ -28,8 +28,6 @@ CFLAGS_ramstage += $(CFLAGS_asan) $(obj)/ramstage/lib/asan.o: CFLAGS_asan = endif -all-y += list.c - decompressor-y += decompressor.c $(call src-to-obj,decompressor,$(dir)/decompressor.c): $(objcbfs)/bootblock.lz4 $(call src-to-obj,decompressor,$(dir)/decompressor.c): CCACHE_EXTRAFILES=$(objcbfs)/bootblock.lz4 diff --git a/src/lib/cbfs.c b/src/lib/cbfs.c index 92a00e4418..03624bf2d7 100644 --- a/src/lib/cbfs.c +++ b/src/lib/cbfs.c @@ -6,10 +6,10 @@ #include #include #include +#include #include #include #include -#include #include #include #include diff --git a/src/lib/edid_fill_fb.c b/src/lib/edid_fill_fb.c index 1df37e8072..e4fb08c3fd 100644 --- a/src/lib/edid_fill_fb.c +++ b/src/lib/edid_fill_fb.c @@ -6,7 +6,7 @@ #include #include #include -#include +#include struct fb_info { struct list_node node; diff --git a/src/lib/list.c b/src/lib/list.c deleted file mode 100644 index c3f8ee42c8..0000000000 --- a/src/lib/list.c +++ /dev/null @@ -1,38 +0,0 @@ -/* Taken from depthcharge: src/base/list.c */ -/* SPDX-License-Identifier: GPL-2.0-or-later */ - -#include - -void list_remove(struct list_node *node) -{ - if (node->prev) - node->prev->next = node->next; - if (node->next) - node->next->prev = node->prev; -} - -void list_insert_after(struct list_node *node, struct list_node *after) -{ - node->next = after->next; - node->prev = after; - after->next = node; - if (node->next) - node->next->prev = node; -} - -void list_insert_before(struct list_node *node, struct list_node *before) -{ - node->prev = before->prev; - node->next = before; - before->prev = node; - if (node->prev) - node->prev->next = node; -} - -void list_append(struct list_node *node, struct list_node *head) -{ - while (head->next) - head = head->next; - - list_insert_after(node, head); -} -- cgit v1.2.3