diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-04-19 09:46:39 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-04-19 09:46:39 -0700 |
commit | 2323036dfec8ce3ce6e1c86a49a31b039f3300d1 (patch) | |
tree | c37043387380ec2f9519157805b53a3e02e16c8a | |
parent | 0f177f873975fe7ece64d334887e83e081d88dec (diff) | |
download | linux-3.10-2323036dfec8ce3ce6e1c86a49a31b039f3300d1.tar.gz linux-3.10-2323036dfec8ce3ce6e1c86a49a31b039f3300d1.tar.bz2 linux-3.10-2323036dfec8ce3ce6e1c86a49a31b039f3300d1.zip |
vm: convert HPET mmap to vm_iomap_memory() helper
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>
-rw-r--r-- | drivers/char/hpet.c | 14 |
1 files changed, 1 insertions, 13 deletions
diff --git a/drivers/char/hpet.c b/drivers/char/hpet.c index e3f9a99b852..d784650d14f 100644 --- a/drivers/char/hpet.c +++ b/drivers/char/hpet.c @@ -373,26 +373,14 @@ static int hpet_mmap(struct file *file, struct vm_area_struct *vma) 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 |