diff --git a/drivers/staging/android/ion/heaps/ion_secure_util.c b/drivers/staging/android/ion/heaps/ion_secure_util.c index 66d537713158..61e8ca0a2a30 100644 --- a/drivers/staging/android/ion/heaps/ion_secure_util.c +++ b/drivers/staging/android/ion/heaps/ion_secure_util.c @@ -90,6 +90,7 @@ int ion_populate_vm_list(unsigned long flags, unsigned int *vm_list, } return 0; } +EXPORT_SYMBOL(ion_populate_vm_list); int ion_hyp_unassign_sg(struct sg_table *sgt, int *source_vm_list, int source_nelems, bool clear_page_private) diff --git a/include/linux/msm_ion.h b/include/linux/msm_ion.h index cb2482f5fb48..b3233c394909 100644 --- a/include/linux/msm_ion.h +++ b/include/linux/msm_ion.h @@ -6,6 +6,7 @@ #ifndef _MSM_ION_H #define _MSM_ION_H +#include #include #include @@ -13,6 +14,16 @@ struct device *msm_ion_heap_device_by_id(int heap_id); +static inline unsigned int ion_get_flags_num_vm_elems(unsigned int flags) +{ + unsigned long vm_flags = flags & ION_FLAGS_CP_MASK; + + return ((unsigned int)bitmap_weight(&vm_flags, BITS_PER_LONG)); +} + +int ion_populate_vm_list(unsigned long flags, unsigned int *vm_list, + int nelems); + #else static inline struct device *msm_ion_heap_device_by_id(int heap_id) @@ -20,5 +31,16 @@ static inline struct device *msm_ion_heap_device_by_id(int heap_id) return ERR_PTR(-ENODEV); } +static inline unsigned int ion_get_flags_num_vm_elems(unsigned int flags) +{ + return 0; +} + +static inline int ion_populate_vm_list(unsigned long flags, + unsigned int *vm_list, int nelems) +{ + return -EINVAL; +} + #endif /* CONFIG_ION_MSM_HEAPS */ #endif /* _MSM_ION_H */