aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/list_sort.c15
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 */
96void list_sort(void *priv, struct list_head *head, 97void 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,