aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-04-19 09:46:39 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-04-25 21:23:49 -0700
commit102fe50d961cf56eb764959783485193884ab1e6 (patch)
tree0694d0177b9e54a2d41b77734420216e0b02c6eb /drivers/char
parent03a850de03bfed25270d20918ee02d9f0dbb1f21 (diff)
downloadkernel_samsung_smdk4412-102fe50d961cf56eb764959783485193884ab1e6.zip
kernel_samsung_smdk4412-102fe50d961cf56eb764959783485193884ab1e6.tar.gz
kernel_samsung_smdk4412-102fe50d961cf56eb764959783485193884ab1e6.tar.bz2
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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/char')
-rw-r--r--drivers/char/hpet.c14
1 files changed, 1 insertions, 13 deletions
diff --git a/drivers/char/hpet.c b/drivers/char/hpet.c
index 34d6a1c..853f8e8 100644
--- a/drivers/char/hpet.c
+++ b/drivers/char/hpet.c
@@ -374,26 +374,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