]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
linux: list: add a function to count list nodes
authorSughosh Ganu <sughosh.ganu@linaro.org>
Tue, 30 Jul 2024 11:11:28 +0000 (16:41 +0530)
committerHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Wed, 31 Jul 2024 07:53:01 +0000 (09:53 +0200)
Add a function to count the nodes of a list.

Taken from linux 6.11-rc1 tag commit 8400291e289e.

Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
include/linux/list.h

index 6910721c005d8f5ba12b5c48204d8c920c85840a..0f9d939b05f295fb6baf7d3efdae92b04ece2312 100644 (file)
@@ -547,6 +547,21 @@ static inline void list_splice_tail_init(struct list_head *list,
             &pos->member != (head);                                    \
             pos = n, n = list_entry(n->member.prev, typeof(*n), member))
 
+/**
+ * list_count_nodes - count nodes in the list
+ * @head:      the head for your list.
+ */
+static inline size_t list_count_nodes(struct list_head *head)
+{
+       struct list_head *pos;
+       size_t count = 0;
+
+       list_for_each(pos, head)
+               count++;
+
+       return count;
+}
+
 /*
  * Double linked lists with a single pointer list head.
  * Mostly useful for hash tables where the two pointer list head is