acornfb: remove fb_mmap function
authorKrzysztof Helt <krzysztof.h1@wp.pl>
Tue, 16 Jun 2009 22:34:32 +0000 (15:34 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 17 Jun 2009 02:47:59 +0000 (19:47 -0700)
The driver's fb_mmap function is essentially the same as a generic fb_mmap
function.  Delete driver's function and use the generic one.

A difference is that generic function marks frame buffer memory as VM_IO |
VM_RESERVED.  The driver's function marks it as VM_IO only.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/video/acornfb.c

index 6995fe1..0bcc59e 100644 (file)
@@ -859,43 +859,6 @@ acornfb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info)
        return 0;
 }
 
-/*
- * Note that we are entered with the kernel locked.
- */
-static int
-acornfb_mmap(struct fb_info *info, struct vm_area_struct *vma)
-{
-       unsigned long off, start;
-       u32 len;
-
-       off = vma->vm_pgoff << PAGE_SHIFT;
-
-       start = info->fix.smem_start;
-       len = PAGE_ALIGN(start & ~PAGE_MASK) + info->fix.smem_len;
-       start &= PAGE_MASK;
-       if ((vma->vm_end - vma->vm_start + off) > len)
-               return -EINVAL;
-       off += start;
-       vma->vm_pgoff = off >> PAGE_SHIFT;
-
-       /* This is an IO map - tell maydump to skip this VMA */
-       vma->vm_flags |= VM_IO;
-
-       vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot);
-
-       /*
-        * Don't alter the page protection flags; we want to keep the area
-        * cached for better performance.  This does mean that we may miss
-        * some updates to the screen occasionally, but process switches
-        * should cause the caches and buffers to be flushed often enough.
-        */
-       if (io_remap_pfn_range(vma, vma->vm_start, off >> PAGE_SHIFT,
-                               vma->vm_end - vma->vm_start,
-                               vma->vm_page_prot))
-               return -EAGAIN;
-       return 0;
-}
-
 static struct fb_ops acornfb_ops = {
        .owner          = THIS_MODULE,
        .fb_check_var   = acornfb_check_var,
@@ -905,7 +868,6 @@ static struct fb_ops acornfb_ops = {
        .fb_fillrect    = cfb_fillrect,
        .fb_copyarea    = cfb_copyarea,
        .fb_imageblit   = cfb_imageblit,
-       .fb_mmap        = acornfb_mmap,
 };
 
 /*