aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/ps3flash.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2013-06-17 02:05:35 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2013-06-29 04:57:33 -0400
commitee32465249bee53714c0ca7be38da83008f9f8a6 (patch)
tree5009c6c2801e319b0fbc1c64e620ae66147f6f6f /drivers/char/ps3flash.c
parent05c8aaa960f1c62edaba968f762c195bc9b251dd (diff)
ps3flash: switch to generic_file_llseek_size()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'drivers/char/ps3flash.c')
-rw-r--r--drivers/char/ps3flash.c28
1 files changed, 2 insertions, 26 deletions
diff --git a/drivers/char/ps3flash.c b/drivers/char/ps3flash.c
index 8cafa9ccd43f..0b311fa277ef 100644
--- a/drivers/char/ps3flash.c
+++ b/drivers/char/ps3flash.c
@@ -98,32 +98,8 @@ static int ps3flash_fetch(struct ps3_storage_device *dev, u64 start_sector)
98static loff_t ps3flash_llseek(struct file *file, loff_t offset, int origin) 98static loff_t ps3flash_llseek(struct file *file, loff_t offset, int origin)
99{ 99{
100 struct ps3_storage_device *dev = ps3flash_dev; 100 struct ps3_storage_device *dev = ps3flash_dev;
101 loff_t res; 101 return generic_file_llseek_size(file, offset, origin, MAX_LFS_FILESIZE,
102 102 dev->regions[dev->region_idx].size*dev->blk_size);
103 mutex_lock(&file->f_mapping->host->i_mutex);
104 switch (origin) {
105 case 0:
106 break;
107 case 1:
108 offset += file->f_pos;
109 break;
110 case 2:
111 offset += dev->regions[dev->region_idx].size*dev->blk_size;
112 break;
113 default:
114 offset = -1;
115 }
116 if (offset < 0) {
117 res = -EINVAL;
118 goto out;
119 }
120
121 file->f_pos = offset;
122 res = file->f_pos;
123
124out:
125 mutex_unlock(&file->f_mapping->host->i_mutex);
126 return res;
127} 103}
128 104
129static ssize_t ps3flash_read(char __user *userbuf, void *kernelbuf, 105static ssize_t ps3flash_read(char __user *userbuf, void *kernelbuf,