diff options
| -rw-r--r-- | drivers/staging/tidspbridge/rmgr/drv_interface.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/drivers/staging/tidspbridge/rmgr/drv_interface.c b/drivers/staging/tidspbridge/rmgr/drv_interface.c index 1aa4a3fd0f1b..56e355b3e7fa 100644 --- a/drivers/staging/tidspbridge/rmgr/drv_interface.c +++ b/drivers/staging/tidspbridge/rmgr/drv_interface.c | |||
| @@ -258,7 +258,8 @@ err: | |||
| 258 | /* This function maps kernel space memory to user space memory. */ | 258 | /* This function maps kernel space memory to user space memory. */ |
| 259 | static int bridge_mmap(struct file *filp, struct vm_area_struct *vma) | 259 | static int bridge_mmap(struct file *filp, struct vm_area_struct *vma) |
| 260 | { | 260 | { |
| 261 | u32 status; | 261 | struct omap_dsp_platform_data *pdata = |
| 262 | omap_dspbridge_dev->dev.platform_data; | ||
| 262 | 263 | ||
| 263 | /* VM_IO | VM_DONTEXPAND | VM_DONTDUMP are set by remap_pfn_range() */ | 264 | /* VM_IO | VM_DONTEXPAND | VM_DONTDUMP are set by remap_pfn_range() */ |
| 264 | vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot); | 265 | vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot); |
| @@ -268,13 +269,9 @@ static int bridge_mmap(struct file *filp, struct vm_area_struct *vma) | |||
| 268 | vma->vm_start, vma->vm_end, vma->vm_page_prot, | 269 | vma->vm_start, vma->vm_end, vma->vm_page_prot, |
| 269 | vma->vm_flags); | 270 | vma->vm_flags); |
| 270 | 271 | ||
| 271 | status = remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff, | 272 | return vm_iomap_memory(vma, |
| 272 | vma->vm_end - vma->vm_start, | 273 | pdata->phys_mempool_base, |
| 273 | vma->vm_page_prot); | 274 | pdata->phys_mempool_size); |
| 274 | if (status != 0) | ||
| 275 | status = -EAGAIN; | ||
| 276 | |||
| 277 | return status; | ||
| 278 | } | 275 | } |
| 279 | 276 | ||
| 280 | static const struct file_operations bridge_fops = { | 277 | static const struct file_operations bridge_fops = { |
