tile-srom: switch to fixed_size_llseek()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
b33159b7d2
commit
914961aac0
1 changed files with 3 additions and 25 deletions
|
@ -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. */
|
/* 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;
|
struct srom_dev *srom = file->private_data;
|
||||||
|
return fixed_size_llseek(file, offset, origin, srom->total_size);
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static ssize_t total_show(struct device *dev,
|
static ssize_t total_show(struct device *dev,
|
||||||
|
|
Loading…
Add table
Reference in a new issue