| From: Linus Torvalds <torvalds@linux-foundation.org> |
| Date: Fri, 19 Apr 2013 09:46:39 -0700 |
| Subject: vm: convert HPET mmap to vm_iomap_memory() helper |
| |
| commit 2323036dfec8ce3ce6e1c86a49a31b039f3300d1 upstream. |
| |
| This is my example conversion of a few existing mmap users. The HPET |
| case is simple, widely available, and easy to test (Clemens Ladisch sent |
| a trivial test-program for it). |
| |
| Test-program-by: Clemens Ladisch <clemens@ladisch.de> |
| Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
| Signed-off-by: Ben Hutchings <ben@decadent.org.uk> |
| --- |
| drivers/char/hpet.c | 14 +------------- |
| 1 file changed, 1 insertion(+), 13 deletions(-) |
| |
| --- a/drivers/char/hpet.c |
| +++ b/drivers/char/hpet.c |
| @@ -374,26 +374,14 @@ static int hpet_mmap(struct file *file, |
| struct hpet_dev *devp; |
| unsigned long addr; |
| |
| - if (((vma->vm_end - vma->vm_start) != PAGE_SIZE) || vma->vm_pgoff) |
| - return -EINVAL; |
| - |
| devp = file->private_data; |
| addr = devp->hd_hpets->hp_hpet_phys; |
| |
| if (addr & (PAGE_SIZE - 1)) |
| return -ENOSYS; |
| |
| - vma->vm_flags |= VM_IO; |
| vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot); |
| - |
| - if (io_remap_pfn_range(vma, vma->vm_start, addr >> PAGE_SHIFT, |
| - PAGE_SIZE, vma->vm_page_prot)) { |
| - printk(KERN_ERR "%s: io_remap_pfn_range failed\n", |
| - __func__); |
| - return -EAGAIN; |
| - } |
| - |
| - return 0; |
| + return vm_iomap_memory(vma, addr, PAGE_SIZE); |
| #else |
| return -ENOSYS; |
| #endif |