[PATCH] drm/mm: rewrite drm_mm_for_each_hole

Geliang Tang geliangtang at 163.com
Sat Nov 21 01:13:59 PST 2015


When backwards is 0, __drm_mm_for_each_hole is same as
drm_mm_for_each_hole. So I rewrite drm_mm_for_each_hole
by using __drm_mm_for_each_hole.

Signed-off-by: Geliang Tang <geliangtang at 163.com>
---
 include/drm/drm_mm.h | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/include/drm/drm_mm.h b/include/drm/drm_mm.h
index 0de6290..ef52fcf 100644
--- a/include/drm/drm_mm.h
+++ b/include/drm/drm_mm.h
@@ -199,14 +199,6 @@ static inline u64 drm_mm_hole_node_end(struct drm_mm_node *hole_node)
  * The __drm_mm_for_each_hole version is similar, but with added support for
  * going backwards.
  */
-#define drm_mm_for_each_hole(entry, mm, hole_start, hole_end) \
-	for (entry = list_entry((mm)->hole_stack.next, struct drm_mm_node, hole_stack); \
-	     &entry->hole_stack != &(mm)->hole_stack ? \
-	     hole_start = drm_mm_hole_node_start(entry), \
-	     hole_end = drm_mm_hole_node_end(entry), \
-	     1 : 0; \
-	     entry = list_entry(entry->hole_stack.next, struct drm_mm_node, hole_stack))
-
 #define __drm_mm_for_each_hole(entry, mm, hole_start, hole_end, backwards) \
 	for (entry = list_entry((backwards) ? (mm)->hole_stack.prev : (mm)->hole_stack.next, struct drm_mm_node, hole_stack); \
 	     &entry->hole_stack != &(mm)->hole_stack ? \
@@ -215,6 +207,9 @@ static inline u64 drm_mm_hole_node_end(struct drm_mm_node *hole_node)
 	     1 : 0; \
 	     entry = list_entry((backwards) ? entry->hole_stack.prev : entry->hole_stack.next, struct drm_mm_node, hole_stack))
 
+#define drm_mm_for_each_hole(entry, mm, hole_start, hole_end) \
+	__drm_mm_for_each_hole(entry, mm, hole_start, hole_end, 0)
+
 /*
  * Basic range manager support (drm_mm.c)
  */
-- 
2.5.0




More information about the dri-devel mailing list