diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/list_sort.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/lib/list_sort.c b/lib/list_sort.c index 362c10f1653f..4b5cb794c38b 100644 --- a/lib/list_sort.c +++ b/lib/list_sort.c | |||
@@ -81,17 +81,18 @@ static void merge_and_restore_back_links(void *priv, | |||
81 | } | 81 | } |
82 | 82 | ||
83 | /** | 83 | /** |
84 | * list_sort - sort a list. | 84 | * list_sort - sort a list |
85 | * @priv: private data, passed to @cmp | 85 | * @priv: private data, opaque to list_sort(), passed to @cmp |
86 | * @head: the list to sort | 86 | * @head: the list to sort |
87 | * @cmp: the elements comparison function | 87 | * @cmp: the elements comparison function |
88 | * | 88 | * |
89 | * This function implements "merge sort" which has O(nlog(n)) complexity. | 89 | * This function implements "merge sort", which has O(nlog(n)) |
90 | * The list is sorted in ascending order. | 90 | * complexity. |
91 | * | 91 | * |
92 | * The comparison function @cmp is supposed to return a negative value if @a is | 92 | * The comparison function @cmp must return a negative value if @a |
93 | * less than @b, and a positive value if @a is greater than @b. If @a and @b | 93 | * should sort before @b, and a positive value if @a should sort after |
94 | * are equivalent, then it does not matter what this function returns. | 94 | * @b. If @a and @b are equivalent, and their original relative |
95 | * ordering is to be preserved, @cmp must return 0. | ||
95 | */ | 96 | */ |
96 | void list_sort(void *priv, struct list_head *head, | 97 | void list_sort(void *priv, struct list_head *head, |
97 | int (*cmp)(void *priv, struct list_head *a, | 98 | int (*cmp)(void *priv, struct list_head *a, |