[PATCH] lib: make sg_pool explicitly non-modular

From: Paul Gortmaker
Date: Wed Apr 20 2016 - 15:13:46 EST


The recently added Kconfig controlling compilation of this code is:

lib/Kconfig:config SG_POOL
lib/Kconfig: def_bool n

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

Lets remove the modular code that is essentially orphaned, so that
when reading the driver there is no doubt it is builtin-only.

Since module_init translates to device_initcall in the non-modular
case, the init ordering remains unchanged with this commit. However
one might want to consider moving it to subsys_initcall if it is to
be ready ahead of SCSI drivers wanting this and using device_initcall.

Cc: Christoph Hellwig <hch@xxxxxx>
Cc: Ming Lin <ming.l@xxxxxxxxxxxxxxx>
Cc: Sagi Grimberg <sagi@xxxxxxxxxxx>
Cc: Martin K. Petersen <martin.petersen@xxxxxxxxxx>
Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx>
---
lib/sg_pool.c | 17 ++---------------
1 file changed, 2 insertions(+), 15 deletions(-)

diff --git a/lib/sg_pool.c b/lib/sg_pool.c
index 6dd30615a201..e2cf548b9610 100644
--- a/lib/sg_pool.c
+++ b/lib/sg_pool.c
@@ -1,4 +1,4 @@
-#include <linux/module.h>
+#include <linux/init.h>
#include <linux/scatterlist.h>
#include <linux/mempool.h>
#include <linux/slab.h>
@@ -156,17 +156,4 @@ cleanup_sdb:

return -ENOMEM;
}
-
-static __exit void sg_pool_exit(void)
-{
- int i;
-
- for (i = 0; i < SG_MEMPOOL_NR; i++) {
- struct sg_pool *sgp = sg_pools + i;
- mempool_destroy(sgp->pool);
- kmem_cache_destroy(sgp->slab);
- }
-}
-
-module_init(sg_pool_init);
-module_exit(sg_pool_exit);
+device_initcall(sg_pool_init);
--
2.8.0