| #ifndef VMREGION_H |
| #define VMREGION_H |
| |
| #include <linux/spinlock.h> |
| #include <linux/list.h> |
| |
| struct page; |
| |
| struct arm_vmregion_head { |
| spinlock_t vm_lock; |
| struct list_head vm_list; |
| unsigned long vm_start; |
| unsigned long vm_end; |
| }; |
| |
| struct arm_vmregion { |
| struct list_head vm_list; |
| unsigned long vm_start; |
| unsigned long vm_end; |
| struct page *vm_pages; |
| int vm_active; |
| }; |
| |
| struct arm_vmregion *arm_vmregion_alloc(struct arm_vmregion_head *, size_t, size_t, gfp_t); |
| struct arm_vmregion *arm_vmregion_find(struct arm_vmregion_head *, unsigned long); |
| struct arm_vmregion *arm_vmregion_find_remove(struct arm_vmregion_head *, unsigned long); |
| void arm_vmregion_free(struct arm_vmregion_head *, struct arm_vmregion *); |
| |
| #endif |