* [PATCH 2/4] list.h: add list_cut_position() @ 2008-08-04 22:48 Luis R. Rodriguez 2008-08-04 23:00 ` Randy Dunlap 0 siblings, 1 reply; 9+ messages in thread From: Luis R. Rodriguez @ 2008-08-04 22:48 UTC (permalink / raw) To: linville, netdev, linux-kernel, linville, torvalds Cc: Luis R. Rodriguez, linux-wireless, ath9k-devel This adds list_cut_position() which lets you cut a list into two lists given a pivot in the list. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> --- include/linux/list.h | 32 ++++++++++++++++++++++++++++++++ 1 files changed, 32 insertions(+), 0 deletions(-) diff --git a/include/linux/list.h b/include/linux/list.h index 594f67c..2999b0f 100644 --- a/include/linux/list.h +++ b/include/linux/list.h @@ -214,6 +214,38 @@ static inline int list_is_singular(const struct list_head *head) return !list_empty(head) && (head->next == head->prev); } +static inline void __list_cut_position(struct list_head *list, + struct list_head *head, struct list_head *entry) +{ + struct list_head *new_first = + (entry->next != head) ? entry->next : head; + list->next = head->next; + list->next->prev = list; + list->prev = entry; + entry->next = list; + head->next = new_first; + new_first->prev = head; +} + +/** + * list_cut_position - cut a list into two + * @list: a new list to add all removed entries + * @head: a list with entries + * @entry: an entry within head, could be the head itself + * and if so we won't won't cut the list + */ +static inline void list_cut_position(struct list_head *list, + struct list_head *head, struct list_head *entry) +{ + BUG_ON(list_empty(head)); + if (list_is_singular(head)) + BUG_ON(head->next != entry && head != entry); + if (entry == head) + INIT_LIST_HEAD(list); + else + __list_cut_position(list, head, entry); +} + static inline void __list_splice(const struct list_head *list, struct list_head *head) { -- 1.5.6.rc2.15.g457bb.dirty ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 2/4] list.h: add list_cut_position() 2008-08-04 22:48 [PATCH 2/4] list.h: add list_cut_position() Luis R. Rodriguez @ 2008-08-04 23:00 ` Randy Dunlap [not found] ` <20080804160011.ec964f1f.randy.dunlap-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org> 0 siblings, 1 reply; 9+ messages in thread From: Randy Dunlap @ 2008-08-04 23:00 UTC (permalink / raw) To: Luis R. Rodriguez Cc: linville, netdev, linux-kernel, torvalds, linux-wireless, ath9k-devel On Mon, 4 Aug 2008 15:48:09 -0700 Luis R. Rodriguez wrote: > This adds list_cut_position() which lets you cut a list into > two lists given a pivot in the list. > > Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> > --- > include/linux/list.h | 32 ++++++++++++++++++++++++++++++++ > 1 files changed, 32 insertions(+), 0 deletions(-) > > diff --git a/include/linux/list.h b/include/linux/list.h > index 594f67c..2999b0f 100644 > --- a/include/linux/list.h > +++ b/include/linux/list.h > @@ -214,6 +214,38 @@ static inline int list_is_singular(const struct list_head *head) > return !list_empty(head) && (head->next == head->prev); > } > > +static inline void __list_cut_position(struct list_head *list, > + struct list_head *head, struct list_head *entry) > +{ > + struct list_head *new_first = > + (entry->next != head) ? entry->next : head; > + list->next = head->next; > + list->next->prev = list; > + list->prev = entry; > + entry->next = list; > + head->next = new_first; > + new_first->prev = head; > +} > + > +/** > + * list_cut_position - cut a list into two > + * @list: a new list to add all removed entries > + * @head: a list with entries > + * @entry: an entry within head, could be the head itself > + * and if so we won't won't cut the list drop one "won't" > + */ > +static inline void list_cut_position(struct list_head *list, > + struct list_head *head, struct list_head *entry) > +{ > + BUG_ON(list_empty(head)); > + if (list_is_singular(head)) > + BUG_ON(head->next != entry && head != entry); > + if (entry == head) > + INIT_LIST_HEAD(list); > + else > + __list_cut_position(list, head, entry); > +} > + > static inline void __list_splice(const struct list_head *list, > struct list_head *head) > { --- ~Randy Linux Plumbers Conference, 17-19 September 2008, Portland, Oregon USA http://linuxplumbersconf.org/ ^ permalink raw reply [flat|nested] 9+ messages in thread
[parent not found: <20080804160011.ec964f1f.randy.dunlap-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>]
* Re: [PATCH 2/4] list.h: add list_cut_position() [not found] ` <20080804160011.ec964f1f.randy.dunlap-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org> @ 2008-08-04 23:13 ` Luis R. Rodriguez 2008-08-05 8:52 ` Jochen Voß 0 siblings, 1 reply; 9+ messages in thread From: Luis R. Rodriguez @ 2008-08-04 23:13 UTC (permalink / raw) To: Randy Dunlap Cc: Luis Rodriguez, linville-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org, netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org, linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, ath9k-devel-juf53994utBLZpfksSYvnA@public.gmane.org On Mon, Aug 04, 2008 at 04:00:11PM -0700, Randy Dunlap wrote: > On Mon, 4 Aug 2008 15:48:09 -0700 Luis R. Rodriguez wrote: > > > This adds list_cut_position() which lets you cut a list into > > two lists given a pivot in the list. > > > > Signed-off-by: Luis R. Rodriguez <lrodriguez-DlyHzToyqoxBDgjK7y7TUQ@public.gmane.org> > > --- > > include/linux/list.h | 32 ++++++++++++++++++++++++++++++++ > > 1 files changed, 32 insertions(+), 0 deletions(-) > > > > diff --git a/include/linux/list.h b/include/linux/list.h > > index 594f67c..2999b0f 100644 > > --- a/include/linux/list.h > > +++ b/include/linux/list.h > > @@ -214,6 +214,38 @@ static inline int list_is_singular(const struct list_head *head) > > return !list_empty(head) && (head->next == head->prev); > > } > > > > +static inline void __list_cut_position(struct list_head *list, > > + struct list_head *head, struct list_head *entry) > > +{ > > + struct list_head *new_first = > > + (entry->next != head) ? entry->next : head; > > + list->next = head->next; > > + list->next->prev = list; > > + list->prev = entry; > > + entry->next = list; > > + head->next = new_first; > > + new_first->prev = head; > > +} > > + > > +/** > > + * list_cut_position - cut a list into two > > + * @list: a new list to add all removed entries > > + * @head: a list with entries > > + * @entry: an entry within head, could be the head itself > > + * and if so we won't won't cut the list > > drop one "won't" Thanks. --- include/linux/list.h | 32 ++++++++++++++++++++++++++++++++ 1 files changed, 32 insertions(+), 0 deletions(-) diff --git a/include/linux/list.h b/include/linux/list.h index 594f67c..2999b0f 100644 --- a/include/linux/list.h +++ b/include/linux/list.h @@ -214,6 +214,38 @@ static inline int list_is_singular(const struct list_head *head) return !list_empty(head) && (head->next == head->prev); } +static inline void __list_cut_position(struct list_head *list, + struct list_head *head, struct list_head *entry) +{ + struct list_head *new_first = + (entry->next != head) ? entry->next : head; + list->next = head->next; + list->next->prev = list; + list->prev = entry; + entry->next = list; + head->next = new_first; + new_first->prev = head; +} + +/** + * list_cut_position - cut a list into two + * @list: a new list to add all removed entries + * @head: a list with entries + * @entry: an entry within head, could be the head itself + * and if so we won't cut the list + */ +static inline void list_cut_position(struct list_head *list, + struct list_head *head, struct list_head *entry) +{ + BUG_ON(list_empty(head)); + if (list_is_singular(head)) + BUG_ON(head->next != entry && head != entry); + if (entry == head) + INIT_LIST_HEAD(list); + else + __list_cut_position(list, head, entry); +} + static inline void __list_splice(const struct list_head *list, struct list_head *head) { -- 1.5.6.rc2.15.g457bb.dirty -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 2/4] list.h: add list_cut_position() 2008-08-04 23:13 ` Luis R. Rodriguez @ 2008-08-05 8:52 ` Jochen Voß 2008-08-06 18:27 ` Luis R. Rodriguez 0 siblings, 1 reply; 9+ messages in thread From: Jochen Voß @ 2008-08-05 8:52 UTC (permalink / raw) To: Luis R. Rodriguez Cc: Randy Dunlap, Luis Rodriguez, linville@tuxdriver.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, torvalds@linux-foundation.org, linux-wireless@vger.kernel.org, ath9k-devel@venema.h4ckr.net Hi, 2008/8/5 Luis R. Rodriguez <lrodriguez@atheros.com>: > +static inline void __list_cut_position(struct list_head *list, > + struct list_head *head, struct list_head *entry) > +{ > + struct list_head *new_first = > + (entry->next != head) ? entry->next : head; Isn't this just an over-complicated way of writing "new_first = entry->next"? > + list->next = head->next; > + list->next->prev = list; > + list->prev = entry; > + entry->next = list; > + head->next = new_first; > + new_first->prev = head; > +} > + > +/** > + * list_cut_position - cut a list into two > + * @list: a new list to add all removed entries > + * @head: a list with entries > + * @entry: an entry within head, could be the head itself > + * and if so we won't cut the list > + */ I think it would be helpful if the comment explained what the function actually does, i.e. that it moves the inital part of 'head' (up to and including 'entry' from 'head' to 'list'. > +static inline void list_cut_position(struct list_head *list, > + struct list_head *head, struct list_head *entry) > +{ > + BUG_ON(list_empty(head)); > + if (list_is_singular(head)) > + BUG_ON(head->next != entry && head != entry); No other list function in "list.h" has BUG_ONs. Why this one? > + if (entry == head) > + INIT_LIST_HEAD(list); If there was data in 'list' before the call, it will be lost now. Is this intended behaviour? > + else > + __list_cut_position(list, head, entry); > +} > + I hope this helps, Jochen -- http://seehuhn.de/ ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 2/4] list.h: add list_cut_position() 2008-08-05 8:52 ` Jochen Voß @ 2008-08-06 18:27 ` Luis R. Rodriguez 2008-08-06 18:35 ` Randy Dunlap 0 siblings, 1 reply; 9+ messages in thread From: Luis R. Rodriguez @ 2008-08-06 18:27 UTC (permalink / raw) To: Jochen Voß Cc: Luis Rodriguez, Randy Dunlap, linville@tuxdriver.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, torvalds@linux-foundation.org, linux-wireless@vger.kernel.org, ath9k-devel@venema.h4ckr.net On Tue, Aug 05, 2008 at 01:52:22AM -0700, Jochen Voß wrote: > Hi, > > 2008/8/5 Luis R. Rodriguez <lrodriguez@atheros.com>: > > +static inline void __list_cut_position(struct list_head *list, > > + struct list_head *head, struct list_head *entry) > > +{ > > + struct list_head *new_first = > > + (entry->next != head) ? entry->next : head; > > Isn't this just an over-complicated way of writing "new_first = entry->next"? Sorry, yes. > > + list->next = head->next; > > + list->next->prev = list; > > + list->prev = entry; > > + entry->next = list; > > + head->next = new_first; > > + new_first->prev = head; > > +} > > + > > +/** > > + * list_cut_position - cut a list into two > > + * @list: a new list to add all removed entries > > + * @head: a list with entries > > + * @entry: an entry within head, could be the head itself > > + * and if so we won't cut the list > > + */ > > I think it would be helpful if the comment explained what the function > actually does, i.e. that it moves the inital part of 'head' (up to and > including 'entry' from 'head' to 'list'. Will do. > > +static inline void list_cut_position(struct list_head *list, > > + struct list_head *head, struct list_head *entry) > > +{ > > + BUG_ON(list_empty(head)); > > + if (list_is_singular(head)) > > + BUG_ON(head->next != entry && head != entry); > > No other list function in "list.h" has BUG_ONs. Why this one? Alright, I'll just make some small note on the documentation and exit early on these. > > + if (entry == head) > > + INIT_LIST_HEAD(list); > > If there was data in 'list' before the call, it will be lost now. Is > this intended behaviour? Yes, the user of this call should not care if we wipe @list for them as it is just a reference. This lets you, for example, use @list on list_cut_position() it in a loop. I'll extend the documentation to clarify this. > > + else > > + __list_cut_position(list, head, entry); > > +} > > + > > I hope this helps, It certainly has, thanks for reviewing. How's this: This adds list_cut_position() which lets you cut a list into two lists given a pivot in the list. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> diff --git a/include/linux/list.h b/include/linux/list.h index 453916b..6c02a83 100644 --- a/include/linux/list.h +++ b/include/linux/list.h @@ -214,6 +214,46 @@ static inline int list_is_singular(const struct list_head *head) return !list_empty(head) && (head->next == head->prev); } +static inline void __list_cut_position(struct list_head *list, + struct list_head *head, struct list_head *entry) +{ + struct list_head *new_first = entry->next; + list->next = head->next; + list->next->prev = list; + list->prev = entry; + entry->next = list; + head->next = new_first; + new_first->prev = head; +} + +/** + * list_cut_position - cut a list into two + * + * This helper moves the initial part of @head, up to and + * including @entry, from @head to @list. You should + * pass on @entry an element you know is on @head. @list + * should be an empty list or a list you do not care about + * losing its data. + * + * @list: a new list to add all removed entries + * @head: a list with entries + * @entry: an entry within head, could be the head itself + * and if so we won't cut the list + */ +static inline void list_cut_position(struct list_head *list, + struct list_head *head, struct list_head *entry) +{ + if (list_empty(head)) + return; + if (list_is_singular(head) && + (head->next != entry && head != entry)) + return; + if (entry == head) + INIT_LIST_HEAD(list); + else + __list_cut_position(list, head, entry); +} + static inline void __list_splice(const struct list_head *list, struct list_head *head) { ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 2/4] list.h: add list_cut_position() 2008-08-06 18:27 ` Luis R. Rodriguez @ 2008-08-06 18:35 ` Randy Dunlap 2008-08-06 18:45 ` Luis R. Rodriguez 0 siblings, 1 reply; 9+ messages in thread From: Randy Dunlap @ 2008-08-06 18:35 UTC (permalink / raw) To: Jochen Voß, Luis R. Rodriguez Cc: ath9k-devel@venema.h4ckr.net, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org, linville@tuxdriver.com, Luis Rodriguez, torvalds@linux-foundation.org > This adds list_cut_position() which lets you cut a list into > two lists given a pivot in the list. > > Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> > > diff --git a/include/linux/list.h b/include/linux/list.h > index 453916b..6c02a83 100644 > --- a/include/linux/list.h > +++ b/include/linux/list.h > @@ -214,6 +214,46 @@ static inline int list_is_singular(const > struct list_head *head) > return !list_empty(head) && (head->next == head->prev); > } > > +static inline void __list_cut_position(struct list_head *list, > + struct list_head *head, struct list_head *entry) > +{ > + struct list_head *new_first = entry->next; > + list->next = head->next; > + list->next->prev = list; > + list->prev = entry; > + entry->next = list; > + head->next = new_first; > + new_first->prev = head; > +} > + > +/** > + * list_cut_position - cut a list into two > + * > + * This helper moves the initial part of @head, up to and > + * including @entry, from @head to @list. You should > + * pass on @entry an element you know is on @head. @list > + * should be an empty list or a list you do not care about > + * losing its data. > + * > + * @list: a new list to add all removed entries > + * @head: a list with entries > + * @entry: an entry within head, could be the head itself > + * and if so we won't cut the list > + */ For kernel-doc notation, the parameters need to follow the function name+short description. After that, a longer description can be added. I.e., please move the parameters up to above the longer description... > +static inline void list_cut_position(struct list_head *list, > + struct list_head *head, struct list_head *entry) > +{ > + if (list_empty(head)) > + return; > + if (list_is_singular(head) && > + (head->next != entry && head != entry)) > + return; > + if (entry == head) > + INIT_LIST_HEAD(list); > + else > + __list_cut_position(list, head, entry); > +} > + > static inline void __list_splice(const struct list_head *list, > struct list_head *head) > { ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 2/4] list.h: add list_cut_position() 2008-08-06 18:35 ` Randy Dunlap @ 2008-08-06 18:45 ` Luis R. Rodriguez 2008-08-06 20:28 ` Luis R. Rodriguez 0 siblings, 1 reply; 9+ messages in thread From: Luis R. Rodriguez @ 2008-08-06 18:45 UTC (permalink / raw) To: Randy Dunlap Cc: ath9k-devel@venema.h4ckr.net, Jochen Voß, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org, linville@tuxdriver.com, Luis Rodriguez, torvalds@linux-foundation.org On Wed, Aug 06, 2008 at 11:35:54AM -0700, Randy Dunlap wrote: > > This adds list_cut_position() which lets you cut a list into > > two lists given a pivot in the list. > > > > Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> > > > > diff --git a/include/linux/list.h b/include/linux/list.h > > index 453916b..6c02a83 100644 > > --- a/include/linux/list.h > > +++ b/include/linux/list.h > > @@ -214,6 +214,46 @@ static inline int list_is_singular(const > > struct list_head *head) > > return !list_empty(head) && (head->next == head->prev); > > } > > > > +static inline void __list_cut_position(struct list_head *list, > > + struct list_head *head, struct list_head *entry) > > +{ > > + struct list_head *new_first = entry->next; > > + list->next = head->next; > > + list->next->prev = list; > > + list->prev = entry; > > + entry->next = list; > > + head->next = new_first; > > + new_first->prev = head; > > +} > > + > > +/** > > + * list_cut_position - cut a list into two > > + * > > + * This helper moves the initial part of @head, up to and > > + * including @entry, from @head to @list. You should > > + * pass on @entry an element you know is on @head. @list > > + * should be an empty list or a list you do not care about > > + * losing its data. > > + * > > + * @list: a new list to add all removed entries > > + * @head: a list with entries > > + * @entry: an entry within head, could be the head itself > > + * and if so we won't cut the list > > + */ > > For kernel-doc notation, the parameters need to follow the function name+short description. > After that, a longer description can be added. I.e., please move the parameters up to > above the longer description... Bleh, sorry, we need to fix some more kdoc in mac80211 too then. OK here's the new one. -- This adds list_cut_position() which lets you cut a list into two lists given a pivot in the list. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> diff --git a/include/linux/list.h b/include/linux/list.h index 453916b..3b0ac8c 100644 --- a/include/linux/list.h +++ b/include/linux/list.h @@ -214,6 +214,46 @@ static inline int list_is_singular(const struct list_head *head) return !list_empty(head) && (head->next == head->prev); } +static inline void __list_cut_position(struct list_head *list, + struct list_head *head, struct list_head *entry) +{ + struct list_head *new_first = entry->next; + list->next = head->next; + list->next->prev = list; + list->prev = entry; + entry->next = list; + head->next = new_first; + new_first->prev = head; +} + +/** + * list_cut_position - cut a list into two + * @list: a new list to add all removed entries + * @head: a list with entries + * @entry: an entry within head, could be the head itself + * and if so we won't cut the list + * + * This helper moves the initial part of @head, up to and + * including @entry, from @head to @list. You should + * pass on @entry an element you know is on @head. @list + * should be an empty list or a list you do not care about + * losing its data. + * + */ +static inline void list_cut_position(struct list_head *list, + struct list_head *head, struct list_head *entry) +{ + if (list_empty(head)) + return; + if (list_is_singular(head) && + (head->next != entry && head != entry)) + return; + if (entry == head) + INIT_LIST_HEAD(list); + else + __list_cut_position(list, head, entry); +} + static inline void __list_splice(const struct list_head *list, struct list_head *head) { ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 2/4] list.h: add list_cut_position() 2008-08-06 18:45 ` Luis R. Rodriguez @ 2008-08-06 20:28 ` Luis R. Rodriguez 2008-08-06 20:32 ` Luis R. Rodriguez 0 siblings, 1 reply; 9+ messages in thread From: Luis R. Rodriguez @ 2008-08-06 20:28 UTC (permalink / raw) To: Luis Rodriguez Cc: Randy Dunlap, ath9k-devel@venema.h4ckr.net, Jochen Voß, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org, linville@tuxdriver.com, torvalds@linux-foundation.org, Peter Zijlstra On Wed, Aug 06, 2008 at 11:45:20AM -0700, Luis Rodriguez wrote: > > OK here's the new one. > -- > > This adds list_cut_position() which lets you cut a list into > two lists given a pivot in the list. > > Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Here it is again but this time one which applies cleanly ontop of the list_cut_tail() patch I just reposted. -- list.h: add list_cut_position() This adds list_cut_position() which lets you cut a list into two lists given a pivot in the list. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> --- include/linux/list.h | 40 ++++++++++++++++++++++++++++++++++++++++ 1 files changed, 40 insertions(+), 0 deletions(-) diff --git a/include/linux/list.h b/include/linux/list.h index 61034a6..78e5f1c 100644 --- a/include/linux/list.h +++ b/include/linux/list.h @@ -214,6 +214,46 @@ static inline int list_is_singular(const struct list_head *head) return !list_empty(head) && (head->next == head->prev); } +static inline void __list_cut_position(struct list_head *list, + struct list_head *head, struct list_head *entry) +{ + struct list_head *new_first = entry->next; + list->next = head->next; + list->next->prev = list; + list->prev = entry; + entry->next = list; + head->next = new_first; + new_first->prev = head; +} + +/** + * list_cut_position - cut a list into two + * @list: a new list to add all removed entries + * @head: a list with entries + * @entry: an entry within head, could be the head itself + * and if so we won't cut the list + * + * This helper moves the initial part of @head, up to and + * including @entry, from @head to @list. You should + * pass on @entry an element you know is on @head. @list + * should be an empty list or a list you do not care about + * losing its data. + * + */ +static inline void list_cut_position(struct list_head *list, + struct list_head *head, struct list_head *entry) +{ + if (list_empty(head)) + return; + if (list_is_singular(head) && + (head->next != entry && head != entry)) + return; + if (entry == head) + INIT_LIST_HEAD(list); + else + __list_cut_position(list, head, entry); +} + static inline void __list_splice(const struct list_head *list, struct list_head *prev, struct list_head *next) -- 1.5.6.rc2.15.g457bb.dirty ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 2/4] list.h: add list_cut_position() 2008-08-06 20:28 ` Luis R. Rodriguez @ 2008-08-06 20:32 ` Luis R. Rodriguez 0 siblings, 0 replies; 9+ messages in thread From: Luis R. Rodriguez @ 2008-08-06 20:32 UTC (permalink / raw) To: Luis Rodriguez Cc: Randy Dunlap, Jochen Voß, netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org, ath9k-devel-juf53994utBLZpfksSYvnA@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linville-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org, linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Peter Zijlstra On Wed, Aug 06, 2008 at 01:28:54PM -0700, Luis Rodriguez wrote: > On Wed, Aug 06, 2008 at 11:45:20AM -0700, Luis Rodriguez wrote: > > > > OK here's the new one. > > -- > > > > This adds list_cut_position() which lets you cut a list into > > two lists given a pivot in the list. > > > > Signed-off-by: Luis R. Rodriguez <lrodriguez-DlyHzToyqoxBDgjK7y7TUQ@public.gmane.org> > > Here it is again but this time one which applies cleanly ontop of the > list_cut_tail() patch I just reposted. I meant on top of the list_splice_tail() of course :) Luis -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2008-08-06 20:32 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-08-04 22:48 [PATCH 2/4] list.h: add list_cut_position() Luis R. Rodriguez
2008-08-04 23:00 ` Randy Dunlap
[not found] ` <20080804160011.ec964f1f.randy.dunlap-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2008-08-04 23:13 ` Luis R. Rodriguez
2008-08-05 8:52 ` Jochen Voß
2008-08-06 18:27 ` Luis R. Rodriguez
2008-08-06 18:35 ` Randy Dunlap
2008-08-06 18:45 ` Luis R. Rodriguez
2008-08-06 20:28 ` Luis R. Rodriguez
2008-08-06 20:32 ` Luis R. Rodriguez
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).