diff options
Diffstat (limited to 'drivers/char/mbcs.c')
-rw-r--r-- | drivers/char/mbcs.c | 28 |
1 files changed, 3 insertions, 25 deletions
diff --git a/drivers/char/mbcs.c b/drivers/char/mbcs.c index e5d3e3f7a49b..67d426470e53 100644 --- a/drivers/char/mbcs.c +++ b/drivers/char/mbcs.c | |||
@@ -26,6 +26,7 @@ | |||
26 | #include <linux/uio.h> | 26 | #include <linux/uio.h> |
27 | #include <linux/mutex.h> | 27 | #include <linux/mutex.h> |
28 | #include <linux/slab.h> | 28 | #include <linux/slab.h> |
29 | #include <linux/pagemap.h> | ||
29 | #include <asm/io.h> | 30 | #include <asm/io.h> |
30 | #include <asm/uaccess.h> | 31 | #include <asm/uaccess.h> |
31 | #include <asm/pgtable.h> | 32 | #include <asm/pgtable.h> |
@@ -451,31 +452,8 @@ mbcs_sram_write(struct file * fp, const char __user *buf, size_t len, loff_t * o | |||
451 | 452 | ||
452 | static loff_t mbcs_sram_llseek(struct file * filp, loff_t off, int whence) | 453 | static loff_t mbcs_sram_llseek(struct file * filp, loff_t off, int whence) |
453 | { | 454 | { |
454 | loff_t newpos; | 455 | return generic_file_llseek_size(filp, off, whence, MAX_LFS_FILESIZE, |
455 | 456 | MBCS_SRAM_SIZE); | |
456 | switch (whence) { | ||
457 | case SEEK_SET: | ||
458 | newpos = off; | ||
459 | break; | ||
460 | |||
461 | case SEEK_CUR: | ||
462 | newpos = filp->f_pos + off; | ||
463 | break; | ||
464 | |||
465 | case SEEK_END: | ||
466 | newpos = MBCS_SRAM_SIZE + off; | ||
467 | break; | ||
468 | |||
469 | default: /* can't happen */ | ||
470 | return -EINVAL; | ||
471 | } | ||
472 | |||
473 | if (newpos < 0) | ||
474 | return -EINVAL; | ||
475 | |||
476 | filp->f_pos = newpos; | ||
477 | |||
478 | return newpos; | ||
479 | } | 457 | } |
480 | 458 | ||
481 | static uint64_t mbcs_pioaddr(struct mbcs_soft *soft, uint64_t offset) | 459 | static uint64_t mbcs_pioaddr(struct mbcs_soft *soft, uint64_t offset) |