On Sat, Nov 21, 2015 at 10:04:04PM +0800, Geliang Tang wrote: > 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@xxxxxxx> Applied to drm-misc, thanks. -Daniel > --- > Changes in v2: > - fix make htmldocs warning > --- > include/drm/drm_mm.h | 23 +++++++++-------------- > 1 file changed, 9 insertions(+), 14 deletions(-) > > diff --git a/include/drm/drm_mm.h b/include/drm/drm_mm.h > index 0de6290..a58cc6c 100644 > --- a/include/drm/drm_mm.h > +++ b/include/drm/drm_mm.h > @@ -180,6 +180,14 @@ static inline u64 drm_mm_hole_node_end(struct drm_mm_node *hole_node) > &(mm)->head_node.node_list, \ > node_list) > > +#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 ? \ > + hole_start = drm_mm_hole_node_start(entry), \ > + hole_end = drm_mm_hole_node_end(entry), \ > + 1 : 0; \ > + entry = list_entry((backwards) ? entry->hole_stack.prev : entry->hole_stack.next, struct drm_mm_node, hole_stack)) > + > /** > * drm_mm_for_each_hole - iterator to walk over all holes > * @entry: drm_mm_node used internally to track progress > @@ -200,20 +208,7 @@ static inline u64 drm_mm_hole_node_end(struct drm_mm_node *hole_node) > * 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 ? \ > - hole_start = drm_mm_hole_node_start(entry), \ > - hole_end = drm_mm_hole_node_end(entry), \ > - 1 : 0; \ > - entry = list_entry((backwards) ? entry->hole_stack.prev : entry->hole_stack.next, struct drm_mm_node, hole_stack)) > + __drm_mm_for_each_hole(entry, mm, hole_start, hole_end, 0) > > /* > * Basic range manager support (drm_mm.c) > -- > 2.5.0 > > > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel