don't open-code generic_file_llseek_size()
[linux-drm-fsl-dcu.git] / drivers / char / mbcs.c
index e5d3e3f7a49bcdbbb31d8e05045b8125d561b210..67d426470e5341df2c88afe1b509742b9923603a 100644 (file)
@@ -26,6 +26,7 @@
 #include <linux/uio.h>
 #include <linux/mutex.h>
 #include <linux/slab.h>
+#include <linux/pagemap.h>
 #include <asm/io.h>
 #include <asm/uaccess.h>
 #include <asm/pgtable.h>
@@ -451,31 +452,8 @@ mbcs_sram_write(struct file * fp, const char __user *buf, size_t len, loff_t * o
 
 static loff_t mbcs_sram_llseek(struct file * filp, loff_t off, int whence)
 {
-       loff_t newpos;
-
-       switch (whence) {
-       case SEEK_SET:
-               newpos = off;
-               break;
-
-       case SEEK_CUR:
-               newpos = filp->f_pos + off;
-               break;
-
-       case SEEK_END:
-               newpos = MBCS_SRAM_SIZE + off;
-               break;
-
-       default:                /* can't happen */
-               return -EINVAL;
-       }
-
-       if (newpos < 0)
-               return -EINVAL;
-
-       filp->f_pos = newpos;
-
-       return newpos;
+       return generic_file_llseek_size(filp, off, whence, MAX_LFS_FILESIZE,
+                                       MBCS_SRAM_SIZE);
 }
 
 static uint64_t mbcs_pioaddr(struct mbcs_soft *soft, uint64_t offset)