* [PATCH] lib: sort: make it explicitly non-modular
@ 2017-01-18 16:20 Paul Gortmaker
2017-01-18 18:03 ` Andy Shevchenko
0 siblings, 1 reply; 5+ messages in thread
From: Paul Gortmaker @ 2017-01-18 16:20 UTC (permalink / raw)
To: linux-kernel; +Cc: Paul Gortmaker, Kostenzer Felix, Andrew Morton
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@live.at>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
---
[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@selenic.com>
*/
@@ -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
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] lib: sort: make it explicitly non-modular
2017-01-18 16:20 [PATCH] lib: sort: make it explicitly non-modular Paul Gortmaker
@ 2017-01-18 18:03 ` Andy Shevchenko
2017-01-18 19:31 ` Paul Gortmaker
0 siblings, 1 reply; 5+ messages in thread
From: Andy Shevchenko @ 2017-01-18 18:03 UTC (permalink / raw)
To: Paul Gortmaker; +Cc: linux-kernel, Kostenzer Felix, Andrew Morton
On Wed, Jan 18, 2017 at 6:20 PM, Paul Gortmaker
<paul.gortmaker@windriver.com> wrote:
> 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.
Perhaps allow it to be a module?
Besides that perhaps rename to something like test_sort.c ?
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] lib: sort: make it explicitly non-modular
2017-01-18 18:03 ` Andy Shevchenko
@ 2017-01-18 19:31 ` Paul Gortmaker
2017-01-18 20:31 ` Felix Kostenzer
0 siblings, 1 reply; 5+ messages in thread
From: Paul Gortmaker @ 2017-01-18 19:31 UTC (permalink / raw)
To: Andy Shevchenko; +Cc: linux-kernel, Kostenzer Felix, Andrew Morton
[Re: [PATCH] lib: sort: make it explicitly non-modular] On 18/01/2017 (Wed 20:03) Andy Shevchenko wrote:
> On Wed, Jan 18, 2017 at 6:20 PM, Paul Gortmaker
> <paul.gortmaker@windriver.com> wrote:
> > 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.
>
> Perhaps allow it to be a module?
If anything, I'd argue the other way and say we shouldn't be further
polluting Kconfig space with more super specific options. Instead
something more generic like CONFIG_ENABLE_BOOT_SELF_TESTS that at least
could be shared.
There is no real value in making something a module when it could just
as easily be thrown out as __init code/data.
>
> Besides that perhaps rename to something like test_sort.c ?
The sort.c was not added just for the test code ; it already existed for
the sort code itself.
Paul.
--
>
> --
> With Best Regards,
> Andy Shevchenko
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] lib: sort: make it explicitly non-modular
2017-01-18 19:31 ` Paul Gortmaker
@ 2017-01-18 20:31 ` Felix Kostenzer
2017-01-19 0:41 ` Paul Gortmaker
0 siblings, 1 reply; 5+ messages in thread
From: Felix Kostenzer @ 2017-01-18 20:31 UTC (permalink / raw)
To: Paul Gortmaker; +Cc: linux-kernel, akpm, andy.shevchenko
How about the patch ("lib: move sort self-test into a separate file") [1] ?
regards,
Felix.
[1] https://lkml.org/lkml/2017/1/12/255
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] lib: sort: make it explicitly non-modular
2017-01-18 20:31 ` Felix Kostenzer
@ 2017-01-19 0:41 ` Paul Gortmaker
0 siblings, 0 replies; 5+ messages in thread
From: Paul Gortmaker @ 2017-01-19 0:41 UTC (permalink / raw)
To: Felix Kostenzer; +Cc: linux-kernel, akpm, andy.shevchenko
On Wed, Jan 18, 2017 at 3:31 PM, Felix Kostenzer <fkostenzer@live.at> wrote:
> How about the patch ("lib: move sort self-test into a separate file") [1] ?
The Kconfig did not change, so forking out the content to a separate
file doesn't change the fact that it uses module.h for a chunk of code
that can't be a module. That still remains to be addressed.
Paul.
--
>
> regards,
> Felix.
>
> [1] https://lkml.org/lkml/2017/1/12/255
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2017-01-19 0:41 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-01-18 16:20 [PATCH] lib: sort: make it explicitly non-modular Paul Gortmaker
2017-01-18 18:03 ` Andy Shevchenko
2017-01-18 19:31 ` Paul Gortmaker
2017-01-18 20:31 ` Felix Kostenzer
2017-01-19 0:41 ` Paul Gortmaker
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).