diff options
author | Pravin Shedge <pravin.shedge4linux@gmail.com> | 2018-02-06 15:38:42 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-02-06 18:32:45 -0800 |
commit | 92fc7cb8ae4d021cf7740e4ad0ced9fa9e07dae0 (patch) | |
tree | 10093beb05fe7f8304baa8be739913bc7013ee21 /lib/test_sort.c | |
parent | d3deafaa8b5c14cd1a001d0be675fc1e242dce42 (diff) | |
download | lwn-92fc7cb8ae4d021cf7740e4ad0ced9fa9e07dae0.tar.gz lwn-92fc7cb8ae4d021cf7740e4ad0ced9fa9e07dae0.zip |
lib/test_sort.c: add module unload support
test_sort.c performs array-based and linked list sort test. Code allows
to compile either as a loadable modules or builtin into the kernel.
Current code is not allow to unload the test_sort.ko module after
successful completion.
This patch adds support to unload the "test_sort.ko" module by adding
module_exit support.
Previous patch was implemented auto unload support by returning -EAGAIN
from module_init() function on successful case, but this approach is not
ideal.
The auto-unload might seem like a nice optimization, but it encourages
inconsistent behaviour. And behaviour that is different from all other
normal modules.
Link: http://lkml.kernel.org/r/1513967133-6843-1-git-send-email-pravin.shedge4linux@gmail.com
Signed-off-by: Pravin Shedge <pravin.shedge4linux@gmail.com>
Cc: Kostenzer Felix <fkostenzer@live.at>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'lib/test_sort.c')
-rw-r--r-- | lib/test_sort.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/test_sort.c b/lib/test_sort.c index d389c1cc2f6c..385c0ed5202f 100644 --- a/lib/test_sort.c +++ b/lib/test_sort.c @@ -39,5 +39,11 @@ exit: return err; } +static void __exit test_sort_exit(void) +{ +} + module_init(test_sort_init); +module_exit(test_sort_exit); + MODULE_LICENSE("GPL"); |