summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2018-11-24 17:08:43 -0500
committerKent Overstreet <kent.overstreet@gmail.com>2018-12-03 11:24:15 -0500
commit34a855cf2a1e94b2f3b6c1ba1e7ac37677761a90 (patch)
tree99cd77f0af8e53d44458ba2bc38af14fd0b9ea8b
parent61d86027372e267955bc82782a91643a76068051 (diff)
genradix: genradix_for_each()
-rw-r--r--include/linux/generic-radix-tree.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/linux/generic-radix-tree.h b/include/linux/generic-radix-tree.h
index 11d0b29ad259..7a2bc69ae12e 100644
--- a/include/linux/generic-radix-tree.h
+++ b/include/linux/generic-radix-tree.h
@@ -125,4 +125,12 @@ static inline void __genradix_iter_advance(struct genradix_iter *iter,
#define genradix_iter_advance(_iter, _radix) \
__genradix_iter_advance(_iter, __genradix_obj_size(_radix))
+#define genradix_for_each_from(_radix, _iter, _p, _start) \
+ for (_iter = genradix_iter_init(_radix, _start); \
+ (_p = genradix_iter_peek(&_iter, _radix)) != NULL; \
+ genradix_iter_advance(&_iter, _radix))
+
+#define genradix_for_each(_radix, _iter, _p) \
+ genradix_for_each_from(_radix, _iter, _p, 0)
+
#endif /* _LINUX_GENERIC_RADIX_TREE_H */