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");