diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2013-06-17 02:05:35 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2013-06-29 04:57:33 -0400 |
commit | ee32465249bee53714c0ca7be38da83008f9f8a6 (patch) | |
tree | 5009c6c2801e319b0fbc1c64e620ae66147f6f6f /drivers/char/ps3flash.c | |
parent | 05c8aaa960f1c62edaba968f762c195bc9b251dd (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.c | 28 |
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) | |||
98 | static loff_t ps3flash_llseek(struct file *file, loff_t offset, int origin) | 98 | static 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 | |||
124 | out: | ||
125 | mutex_unlock(&file->f_mapping->host->i_mutex); | ||
126 | return res; | ||
127 | } | 103 | } |
128 | 104 | ||
129 | static ssize_t ps3flash_read(char __user *userbuf, void *kernelbuf, | 105 | static ssize_t ps3flash_read(char __user *userbuf, void *kernelbuf, |