aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/android/ion/ion.c')
-rw-r--r--drivers/staging/android/ion/ion.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/drivers/staging/android/ion/ion.c b/drivers/staging/android/ion/ion.c
index 9c8da0c86197..1e137c31aa60 100644
--- a/drivers/staging/android/ion/ion.c
+++ b/drivers/staging/android/ion/ion.c
@@ -18,6 +18,7 @@
18#include <linux/miscdevice.h> 18#include <linux/miscdevice.h>
19#include <linux/mm.h> 19#include <linux/mm.h>
20#include <linux/mm_types.h> 20#include <linux/mm_types.h>
21#include <linux/module.h>
21#include <linux/rbtree.h> 22#include <linux/rbtree.h>
22#include <linux/sched/task.h> 23#include <linux/sched/task.h>
23#include <linux/slab.h> 24#include <linux/slab.h>
@@ -766,4 +767,36 @@ err_reg:
766 kfree(idev); 767 kfree(idev);
767 return ret; 768 return ret;
768} 769}
770
771#ifdef CONFIG_ION_MODULE
772int ion_module_init(void)
773{
774 int ret;
775
776 ret = ion_device_create();
777#ifdef CONFIG_ION_SYSTEM_HEAP
778 if (ret)
779 return ret;
780
781 ret = ion_system_heap_create();
782 if (ret)
783 return ret;
784
785 ret = ion_system_contig_heap_create();
786#endif
787#ifdef CONFIG_ION_CMA_HEAP
788 if (ret)
789 return ret;
790
791 ret = ion_add_cma_heaps();
792#endif
793 return ret;
794}
795
796module_init(ion_module_init);
797#else
769subsys_initcall(ion_device_create); 798subsys_initcall(ion_device_create);
799#endif
800
801MODULE_LICENSE("GPL v2");
802MODULE_DESCRIPTION("Ion memory allocator");