[PATCH libdrm 1/5] drm: add a macro DRMLISTFOREACHENTRYREVERSE

James Xiong james.xiong at intel.com
Fri Mar 16 01:20:10 UTC 2018


From: "Xiong, James" <james.xiong at intel.com>

it goes through DRMLIST in a reverse order

Signed-off-by: Xiong, James <james.xiong at intel.com>
---
 libdrm_lists.h | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/libdrm_lists.h b/libdrm_lists.h
index 8926d8d..400c731 100644
--- a/libdrm_lists.h
+++ b/libdrm_lists.h
@@ -101,6 +101,12 @@ typedef struct _drmMMListHead
 	     (__item) = DRMLISTENTRY(typeof(*__item),                          \
 				     (__item)->__head.next, __head))
 
+#define DRMLISTFOREACHENTRYREVERSE(__item, __list, __head)                     \
+	for ((__item) = DRMLISTENTRY(typeof(*__item), (__list)->prev, __head); \
+	     &(__item)->__head != (__list);                                    \
+	     (__item) = DRMLISTENTRY(typeof(*__item),                          \
+				     (__item)->__head.prev, __head))
+
 #define DRMLISTFOREACHENTRYSAFE(__item, __temp, __list, __head)                \
 	for ((__item) = DRMLISTENTRY(typeof(*__item), (__list)->next, __head), \
 	     (__temp) = DRMLISTENTRY(typeof(*__item),                          \
-- 
2.7.4



More information about the dri-devel mailing list