Lines Matching full:file
2 * fs/sysfs/bin.c - sysfs binary file implementation
10 * This file is released under the GPLv2.
31 * There's one bin_buffer for each open file.
44 struct file *file; member
49 fill_read(struct file *file, char *buffer, loff_t off, size_t count) in fill_read() argument
51 struct sysfs_dirent *attr_sd = file->f_path.dentry->d_fsdata; in fill_read()
62 rc = attr->read(file, kobj, attr, buffer, off, count); in fill_read()
70 read(struct file *file, char __user *userbuf, size_t bytes, loff_t *off) in read() argument
72 struct bin_buffer *bb = file->private_data; in read()
73 int size = file->f_path.dentry->d_inode->i_size; in read()
94 count = fill_read(file, bb->buffer, offs, count); in read()
119 flush_write(struct file *file, char *buffer, loff_t offset, size_t count) in flush_write() argument
121 struct sysfs_dirent *attr_sd = file->f_path.dentry->d_fsdata; in flush_write()
132 rc = attr->write(file, kobj, attr, buffer, offset, count); in flush_write()
139 static ssize_t write(struct file *file, const char __user *userbuf, in write() argument
142 struct bin_buffer *bb = file->private_data; in write()
143 int size = file->f_path.dentry->d_inode->i_size; in write()
166 count = flush_write(file, bb->buffer, offs, count); in write()
178 struct file *file = vma->vm_file; in bin_vma_open() local
179 struct bin_buffer *bb = file->private_data; in bin_vma_open()
180 struct sysfs_dirent *attr_sd = file->f_path.dentry->d_fsdata; in bin_vma_open()
196 struct file *file = vma->vm_file; in bin_fault() local
197 struct bin_buffer *bb = file->private_data; in bin_fault()
198 struct sysfs_dirent *attr_sd = file->f_path.dentry->d_fsdata; in bin_fault()
217 struct file *file = vma->vm_file; in bin_page_mkwrite() local
218 struct bin_buffer *bb = file->private_data; in bin_page_mkwrite()
219 struct sysfs_dirent *attr_sd = file->f_path.dentry->d_fsdata; in bin_page_mkwrite()
239 struct file *file = vma->vm_file; in bin_access() local
240 struct bin_buffer *bb = file->private_data; in bin_access()
241 struct sysfs_dirent *attr_sd = file->f_path.dentry->d_fsdata; in bin_access()
261 struct file *file = vma->vm_file; in bin_set_policy() local
262 struct bin_buffer *bb = file->private_data; in bin_set_policy()
263 struct sysfs_dirent *attr_sd = file->f_path.dentry->d_fsdata; in bin_set_policy()
283 struct file *file = vma->vm_file; in bin_get_policy() local
284 struct bin_buffer *bb = file->private_data; in bin_get_policy()
285 struct sysfs_dirent *attr_sd = file->f_path.dentry->d_fsdata; in bin_get_policy()
305 struct file *file = vma->vm_file; in bin_migrate() local
306 struct bin_buffer *bb = file->private_data; in bin_migrate()
307 struct sysfs_dirent *attr_sd = file->f_path.dentry->d_fsdata; in bin_migrate()
337 static int mmap(struct file *file, struct vm_area_struct *vma) in mmap() argument
339 struct bin_buffer *bb = file->private_data; in mmap()
340 struct sysfs_dirent *attr_sd = file->f_path.dentry->d_fsdata; in mmap()
356 rc = attr->mmap(file, kobj, attr, vma); in mmap()
365 if (vma->vm_file != file) in mmap()
392 static int open(struct inode * inode, struct file * file) in open() argument
394 struct sysfs_dirent *attr_sd = file->f_path.dentry->d_fsdata; in open()
399 /* binary file operations requires both @sd and its parent */ in open()
404 if ((file->f_mode & FMODE_WRITE) && !(attr->write || attr->mmap)) in open()
406 if ((file->f_mode & FMODE_READ) && !(attr->read || attr->mmap)) in open()
419 bb->file = file; in open()
420 file->private_data = bb; in open()
436 static int release(struct inode * inode, struct file * file) in release() argument
438 struct bin_buffer *bb = file->private_data; in release()
470 struct inode *inode = bb->file->f_path.dentry->d_inode; in unmap_bin_file()
479 * sysfs_create_bin_file - create binary file for object.
494 * sysfs_remove_bin_file - remove binary file for object.