On Mon, 2013-03-04 at 22:05 +0100, Philipp Reisner wrote: > Sure, here it is: > ---------- > > From: Philipp Reisner <philipp.reisner@xxxxxxxxxx> > > commit 9749f30f1a387070e6e8351f35aeb829eacc3ab6 upstream. > > Inspired by the list_for_each_entry() macro > > Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> > Signed-off-by: Philipp Reisner <philipp.reisner@xxxxxxxxxx> Thanks. Ben. > --- > include/linux/idr.h | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/include/linux/idr.h b/include/linux/idr.h > index 255491c..52a9da2 100644 > --- a/include/linux/idr.h > +++ b/include/linux/idr.h > @@ -152,4 +152,15 @@ void ida_simple_remove(struct ida *ida, unsigned int id); > > void __init idr_init_cache(void); > > +/** > + * idr_for_each_entry - iterate over an idr's elements of a given type > + * @idp: idr handle > + * @entry: the type * to use as cursor > + * @id: id entry's key > + */ > +#define idr_for_each_entry(idp, entry, id) \ > + for (id = 0, entry = (typeof(entry))idr_get_next((idp), &(id)); \ > + entry != NULL; \ > + ++id, entry = (typeof(entry))idr_get_next((idp), &(id))) > + > #endif /* __IDR_H__ */ > > -- Ben Hutchings Always try to do things in chronological order; it's less confusing that way.
Attachment:
signature.asc
Description: This is a digitally signed message part