new helpers: no_seek_end_llseek{,_size}()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
@@ -58,28 +58,6 @@ static void cpuid_smp_cpuid(void *cmd_block)
|
||||
&cmd->eax, &cmd->ebx, &cmd->ecx, &cmd->edx);
|
||||
}
|
||||
|
||||
static loff_t cpuid_seek(struct file *file, loff_t offset, int orig)
|
||||
{
|
||||
loff_t ret;
|
||||
struct inode *inode = file->f_mapping->host;
|
||||
|
||||
mutex_lock(&inode->i_mutex);
|
||||
switch (orig) {
|
||||
case 0:
|
||||
file->f_pos = offset;
|
||||
ret = file->f_pos;
|
||||
break;
|
||||
case 1:
|
||||
file->f_pos += offset;
|
||||
ret = file->f_pos;
|
||||
break;
|
||||
default:
|
||||
ret = -EINVAL;
|
||||
}
|
||||
mutex_unlock(&inode->i_mutex);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static ssize_t cpuid_read(struct file *file, char __user *buf,
|
||||
size_t count, loff_t *ppos)
|
||||
{
|
||||
@@ -132,7 +110,7 @@ static int cpuid_open(struct inode *inode, struct file *file)
|
||||
*/
|
||||
static const struct file_operations cpuid_fops = {
|
||||
.owner = THIS_MODULE,
|
||||
.llseek = cpuid_seek,
|
||||
.llseek = no_seek_end_llseek,
|
||||
.read = cpuid_read,
|
||||
.open = cpuid_open,
|
||||
};
|
||||
|
@@ -45,28 +45,6 @@
|
||||
|
||||
static struct class *msr_class;
|
||||
|
||||
static loff_t msr_seek(struct file *file, loff_t offset, int orig)
|
||||
{
|
||||
loff_t ret;
|
||||
struct inode *inode = file_inode(file);
|
||||
|
||||
mutex_lock(&inode->i_mutex);
|
||||
switch (orig) {
|
||||
case SEEK_SET:
|
||||
file->f_pos = offset;
|
||||
ret = file->f_pos;
|
||||
break;
|
||||
case SEEK_CUR:
|
||||
file->f_pos += offset;
|
||||
ret = file->f_pos;
|
||||
break;
|
||||
default:
|
||||
ret = -EINVAL;
|
||||
}
|
||||
mutex_unlock(&inode->i_mutex);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static ssize_t msr_read(struct file *file, char __user *buf,
|
||||
size_t count, loff_t *ppos)
|
||||
{
|
||||
@@ -194,7 +172,7 @@ static int msr_open(struct inode *inode, struct file *file)
|
||||
*/
|
||||
static const struct file_operations msr_fops = {
|
||||
.owner = THIS_MODULE,
|
||||
.llseek = msr_seek,
|
||||
.llseek = no_seek_end_llseek,
|
||||
.read = msr_read,
|
||||
.write = msr_write,
|
||||
.open = msr_open,
|
||||
|
Reference in New Issue
Block a user