[PATCH] lib: sort: make it explicitly non-modular

From: Paul Gortmaker
Date: Wed Jan 18 2017 - 11:20:27 EST


The Makefile currently controlling compilation of this code is:

lib/Kconfig.debug:config TEST_SORT
lib/Kconfig.debug: bool "Array-based sort test"

and...

lib/Makefile:obj-y += bcd.o div64.o sort.o [...]

...meaning that it currently is not being built as a module by anyone.

Lets remove the couple traces of modular infrastructure use, so that
when reading the code there is no doubt it is builtin-only.

Since module_init translates to device_initcall in the non-modular
case, the init ordering becomes slightly earlier when we change it
to use subsys_initcall as done here. However, since it is a self
contained test, this shouldn't be an issue and subsys_initcall
seems like a better fit for this particular case.

We also delete the MODULE_LICENSE tag since that information is now
contained at the top of the file in the comments.

Cc: Kostenzer Felix <fkostenzer@xxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx>
---

[since this recently appeared in next via the akpm feed, I'm
fine with this commit being squashed into the original. ]

lib/sort.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/lib/sort.c b/lib/sort.c
index a9b156e7471b..0f2f3adce372 100644
--- a/lib/sort.c
+++ b/lib/sort.c
@@ -1,5 +1,6 @@
/*
* A fast, small, non-recursive O(nlog n) sort for the Linux kernel
+ * License: GPL
*
* Jan 23 2005 Matt Mackall <mpm@xxxxxxxxxxx>
*/
@@ -106,7 +107,7 @@ EXPORT_SYMBOL(sort);

#ifdef CONFIG_TEST_SORT
#include <linux/slab.h>
-#include <linux/module.h>
+#include <linux/init.h>
/* a simple boot-time regression test */

#define TEST_LEN 1000
@@ -143,7 +144,5 @@ static int __init test_sort_init(void)
kfree(a);
return err;
}
-
-module_init(test_sort_init);
-MODULE_LICENSE("GPL");
+subsys_initcall(test_sort_init);
#endif
--
2.11.0