diff options
author | Artem Bityutskiy <Artem.Bityutskiy@nokia.com> | 2010-10-26 17:23:05 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-10-26 19:52:18 -0400 |
commit | 6d411e6c01608cefb7b9ea6712110538a1432f9f (patch) | |
tree | 5466fa9f8cd1ee9cdd1f5da01ae0ea14fe8437b7 /lib | |
parent | e2852ae825dba5ebc159788720baec1a28a57125 (diff) |
lib/Kconfig.debug: add list_sort debugging switch
While hunting a non-existing bug in 'list_sort()', I've improved the
'list_sort_test()' function which tests the 'list_sort()' library call.
Although at the end I found a bug in my code, but not in 'list_sort()', I
think my clean-ups and improvements are worth merging because they make
the test function better.
This patch:
Make the self-tests selectable via Kconfig rather than by manual enabling
of DEBUG_LIST_SORT.
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Cc: Don Mullis <don.mullis@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Kconfig.debug | 9 | ||||
-rw-r--r-- | lib/list_sort.c | 4 |
2 files changed, 11 insertions, 2 deletions
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index 0d5c762532a5..95bda87a3e84 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug | |||
@@ -748,6 +748,15 @@ config DEBUG_LIST | |||
748 | 748 | ||
749 | If unsure, say N. | 749 | If unsure, say N. |
750 | 750 | ||
751 | config TEST_LIST_SORT | ||
752 | bool "Linked list sorting test" | ||
753 | depends on DEBUG_KERNEL | ||
754 | help | ||
755 | Enable this to turn on 'list_sort()' function test. This test is | ||
756 | executed only once during system boot, so affects only boot time. | ||
757 | |||
758 | If unsure, say N. | ||
759 | |||
751 | config DEBUG_SG | 760 | config DEBUG_SG |
752 | bool "Debug SG table operations" | 761 | bool "Debug SG table operations" |
753 | depends on DEBUG_KERNEL | 762 | depends on DEBUG_KERNEL |
diff --git a/lib/list_sort.c b/lib/list_sort.c index a7616fa3162e..827794016bfb 100644 --- a/lib/list_sort.c +++ b/lib/list_sort.c | |||
@@ -141,7 +141,7 @@ void list_sort(void *priv, struct list_head *head, | |||
141 | } | 141 | } |
142 | EXPORT_SYMBOL(list_sort); | 142 | EXPORT_SYMBOL(list_sort); |
143 | 143 | ||
144 | #ifdef DEBUG_LIST_SORT | 144 | #ifdef CONFIG_TEST_LIST_SORT |
145 | struct debug_el { | 145 | struct debug_el { |
146 | struct list_head l_h; | 146 | struct list_head l_h; |
147 | int value; | 147 | int value; |
@@ -214,4 +214,4 @@ static int __init list_sort_test(void) | |||
214 | return 0; | 214 | return 0; |
215 | } | 215 | } |
216 | module_init(list_sort_test); | 216 | module_init(list_sort_test); |
217 | #endif | 217 | #endif /* CONFIG_TEST_LIST_SORT */ |