From: Yi Cong <cong.yi@linux.dev>
To: hauke@hauke-m.de, backports@vger.kernel.org
Cc: Yi Cong <yicong@kylinos.cn>
Subject: [PATCH 14/20] headers: add list_count_nodes() backport for kernels < 6.5
Date: Wed, 24 Jun 2026 15:38:38 +0800 [thread overview]
Message-ID: <20260624073844.2097504-15-cong.yi@linux.dev> (raw)
In-Reply-To: <20260624073844.2097504-1-cong.yi@linux.dev>
From: Yi Cong <yicong@kylinos.cn>
list_count_nodes() was introduced in v6.5 to count the number of
nodes in a struct list_head. Provide an inline backport using
list_for_each() for older kernels.
Signed-off-by: Yi Cong <yicong@kylinos.cn>
---
backport/backport-include/linux/list.h | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
create mode 100644 backport/backport-include/linux/list.h
diff --git a/backport/backport-include/linux/list.h b/backport/backport-include/linux/list.h
new file mode 100644
index 00000000..47d8d24f
--- /dev/null
+++ b/backport/backport-include/linux/list.h
@@ -0,0 +1,25 @@
+#ifndef __BACKPORT_LINUX_LIST_H
+#define __BACKPORT_LINUX_LIST_H
+#include_next <linux/list.h>
+#include <linux/version.h>
+
+#if LINUX_VERSION_IS_LESS(6,5,0)
+/**
+ * list_count_nodes - count nodes in the list
+ * @head: the head for your list.
+ *
+ * Introduced in v6.5. Provide a backport for older kernels.
+ */
+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;
+}
+#endif
+
+#endif /* __BACKPORT_LINUX_LIST_H */
--
2.43.0
next prev parent reply other threads:[~2026-06-24 7:40 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-24 7:38 [PATCH 00/20] backports: add missing backport-include header definitions Yi Cong
2026-06-24 7:38 ` [PATCH 01/20] headers: Add timer_shutdown_sync() Yi Cong
2026-06-24 7:38 ` [PATCH 02/20] headers: include linux/module.h from backport.h Yi Cong
2026-06-24 7:38 ` [PATCH 03/20] headers: add kstrtox.h backport Yi Cong
2026-06-24 7:38 ` [PATCH 04/20] headers: add get_random_u32_inclusive() for kernels < 6.2 Yi Cong
2026-06-24 7:38 ` [PATCH 05/20] headers: add genl_split_ops compat " Yi Cong
2026-06-24 7:38 ` [PATCH 06/20] headers: add thermal_zone_device_register_with_trips backport Yi Cong
2026-06-24 7:38 ` [PATCH 07/20] headers: add trace_sk_data_ready no-op for kernels < 6.0 Yi Cong
2026-06-24 7:38 ` [PATCH 08/20] headers: add dropreason-core.h backport for kernels < 5.17 Yi Cong
2026-06-24 7:38 ` [PATCH 09/20] headers: add dropreason.h backport for kernels < 6.0 Yi Cong
2026-06-24 7:38 ` [PATCH 10/20] headers: add kfree_skb_reason() backport for kernels < 5.17 Yi Cong
2026-06-24 7:38 ` [PATCH 11/20] headers: add thermal_zone_device_priv() backport for kernels < 6.4 Yi Cong
2026-06-24 7:38 ` [PATCH 12/20] headers: add genl_small_ops backport for kernels < 5.10 Yi Cong
2026-06-24 7:38 ` [PATCH 13/20] headers: add class_create() single-argument backport for kernels < 6.4 Yi Cong
2026-06-24 7:38 ` Yi Cong [this message]
2026-06-24 7:38 ` [PATCH 15/20] headers: add net/gso.h backport for kernels < 6.5 Yi Cong
2026-06-24 7:38 ` [PATCH 16/20] headers: add vcalloc() backport for kernels < 5.18 Yi Cong
2026-06-24 7:38 ` [PATCH 17/20] headers: add __counted_by macro for kernels < 6.6 Yi Cong
2026-06-24 7:38 ` [PATCH 18/20] headers: add crypto/utils.h redirect " Yi Cong
2026-06-24 7:38 ` [PATCH 19/20] headers: add led_trigger_blink/oneshot value-to-pointer backport for kernels < 6.5 Yi Cong
2026-06-24 7:38 ` [PATCH 20/20] headers: add of_property_present backport for kernels < 5.18 Yi Cong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260624073844.2097504-15-cong.yi@linux.dev \
--to=cong.yi@linux.dev \
--cc=backports@vger.kernel.org \
--cc=hauke@hauke-m.de \
--cc=yicong@kylinos.cn \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.