From acafc66bdfd4dc32e32b360a2bc647d31eb5edac Mon Sep 17 00:00:00 2001 From: Simon Fels Date: Fri, 19 Aug 2016 09:25:16 +0200 Subject: [PATCH] Make ashmem driver loadable as kernel module --- kernel/ashmem/ashmem.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/kernel/ashmem/ashmem.c b/kernel/ashmem/ashmem.c index 3f2a3d6..d12ce74 100644 --- a/kernel/ashmem/ashmem.c +++ b/kernel/ashmem/ashmem.c @@ -18,6 +18,7 @@ #define pr_fmt(fmt) "ashmem: " fmt +#include #include #include #include @@ -857,8 +858,20 @@ static int __init ashmem_init(void) register_shrinker(&ashmem_shrinker); - pr_info("initialized\n"); - return 0; } -device_initcall(ashmem_init); + +static void __exit ashmem_exit(void) +{ + unregister_shrinker(&ashmem_shrinker); + + misc_deregister(&ashmem_misc); + + kmem_cache_destroy(ashmem_range_cachep); + kmem_cache_destroy(ashmem_area_cachep); +} + +module_init(ashmem_init); +module_exit(ashmem_exit); + +MODULE_LICENSE("GPL");