diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2013-06-23 04:43:48 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2013-06-29 04:57:51 -0400 |
commit | 914961aac077b5aebb4ae669d7c42d231826970b (patch) | |
tree | f021365b9fc95d45023c85da58278b8608f58914 /drivers/char/tile-srom.c | |
parent | b33159b7d249afae386b91025ef4ea1d7793fc1b (diff) |
tile-srom: switch to fixed_size_llseek()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'drivers/char/tile-srom.c')
-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, | |||
273 | } | 273 | } |
274 | 274 | ||
275 | /* Provide our own implementation so we can use srom->total_size. */ | 275 | /* Provide our own implementation so we can use srom->total_size. */ |
276 | loff_t srom_llseek(struct file *filp, loff_t offset, int origin) | 276 | loff_t srom_llseek(struct file *file, loff_t offset, int origin) |
277 | { | 277 | { |
278 | struct srom_dev *srom = filp->private_data; | 278 | struct srom_dev *srom = file->private_data; |
279 | 279 | return fixed_size_llseek(file, offset, origin, srom->total_size); | |
280 | if (mutex_lock_interruptible(&srom->lock)) | ||
281 | return -ERESTARTSYS; | ||
282 | |||
283 | switch (origin) { | ||
284 | case SEEK_END: | ||
285 | offset += srom->total_size; | ||
286 | break; | ||
287 | case SEEK_CUR: | ||
288 | offset += filp->f_pos; | ||
289 | break; | ||
290 | } | ||
291 | |||
292 | if (offset < 0 || offset > srom->total_size) { | ||
293 | offset = -EINVAL; | ||
294 | } else { | ||
295 | filp->f_pos = offset; | ||
296 | filp->f_version = 0; | ||
297 | } | ||
298 | |||
299 | mutex_unlock(&srom->lock); | ||
300 | |||
301 | return offset; | ||
302 | } | 280 | } |
303 | 281 | ||
304 | static ssize_t total_show(struct device *dev, | 282 | static ssize_t total_show(struct device *dev, |