|
@@ -1838,6 +1838,16 @@ int remap_pfn_range(struct vm_area_struct *vma, unsigned long addr,
|
|
|
}
|
|
|
EXPORT_SYMBOL(remap_pfn_range);
|
|
|
|
|
|
+int vm_iomap_memory(struct vm_area_struct *vma, phys_addr_t start, unsigned long len)
|
|
|
+{
|
|
|
+ unsigned long pfn = start >> PAGE_SHIFT;
|
|
|
+ unsigned long vm_len = vma->vm_end - vma->vm_start;
|
|
|
+
|
|
|
+ pfn += vma->vm_pgoff;
|
|
|
+ return io_remap_pfn_range(vma, vma->vm_start, pfn, vm_len, vma->vm_page_prot);
|
|
|
+}
|
|
|
+EXPORT_SYMBOL(vm_iomap_memory);
|
|
|
+
|
|
|
int remap_vmalloc_range(struct vm_area_struct *vma, void *addr,
|
|
|
unsigned long pgoff)
|
|
|
{
|