Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2323036d authored by Linus Torvalds's avatar Linus Torvalds
Browse files

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: default avatarClemens Ladisch <clemens@ladisch.de>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 0f177f87
Loading
Loading
Loading
Loading
+1 −13
Original line number Diff line number Diff line
@@ -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