diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2013-06-23 10:43:48 +0200 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2013-06-29 10:57:51 +0200 |
commit | 914961aac077b5aebb4ae669d7c42d231826970b (patch) | |
tree | f021365b9fc95d45023c85da58278b8608f58914 /drivers/char | |
parent | proc_powerpc: switch to fixed_size_llseek() (diff) | |
download | linux-914961aac077b5aebb4ae669d7c42d231826970b.tar.xz linux-914961aac077b5aebb4ae669d7c42d231826970b.zip |
tile-srom: switch to fixed_size_llseek()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'drivers/char')
-rw-r--r-- | drivers/char/tile-srom.c | 28 |
1 files changed, 3 insertions, 25 deletions
diff --git a/drivers/char/tile-srom.c b/drivers/char/tile-srom.c index 2e2036e940fc..7faeb1cde97d 100644 --- a/drivers/char/tile-srom.c +++ b/drivers/char/tile-srom.c @@ -273,32 +273,10 @@ static ssize_t srom_write(struct file *filp, const char __user *buf, } /* Provide our own implementation so we can use srom->total_size. */ -loff_t srom_llseek(struct file *filp, loff_t offset, int origin) +loff_t srom_llseek(struct file *file, loff_t offset, int origin) { - struct srom_dev *srom = filp->private_data; - - if (mutex_lock_interruptible(&srom->lock)) - return -ERESTARTSYS; - - switch (origin) { - case SEEK_END: - offset += srom->total_size; - break; - case SEEK_CUR: - offset += filp->f_pos; - break; - } - - if (offset < 0 || offset > srom->total_size) { - offset = -EINVAL; - } else { - filp->f_pos = offset; - filp->f_version = 0; - } - - mutex_unlock(&srom->lock); - - return offset; + struct srom_dev *srom = file->private_data; + return fixed_size_llseek(file, offset, origin, srom->total_size); } static ssize_t total_show(struct device *dev, |