Lines Matching refs:file

48 static int mei_open(struct inode *inode, struct file *file)  in mei_open()  argument
74 file->private_data = cl; in mei_open()
78 return nonseekable_open(inode, file); in mei_open()
93 static int mei_release(struct inode *inode, struct file *file) in mei_release() argument
95 struct mei_cl *cl = file->private_data; in mei_release()
106 rets = mei_amthif_release(dev, file); in mei_release()
111 mei_cl_flush_queues(cl, file); in mei_release()
116 file->private_data = NULL; in mei_release()
135 static ssize_t mei_read(struct file *file, char __user *ubuf, in mei_read() argument
138 struct mei_cl *cl = file->private_data; in mei_read()
163 rets = mei_amthif_read(dev, file, ubuf, length, offset); in mei_read()
167 cb = mei_cl_read_cb(cl, file); in mei_read()
184 err = mei_cl_read_start(cl, length, file); in mei_read()
192 if (file->f_flags & O_NONBLOCK) { in mei_read()
215 cb = mei_cl_read_cb(cl, file); in mei_read()
274 static ssize_t mei_write(struct file *file, const char __user *ubuf, in mei_write() argument
277 struct mei_cl *cl = file->private_data; in mei_write()
317 write_cb = mei_amthif_find_read_list_entry(dev, file); in mei_write()
332 write_cb = mei_cl_alloc_cb(cl, length, MEI_FOP_WRITE, file); in mei_write()
375 static int mei_ioctl_connect_client(struct file *file, in mei_ioctl_connect_client() argument
384 cl = file->private_data; in mei_ioctl_connect_client()
425 file->private_data = &dev->iamthif_cl; in mei_ioctl_connect_client()
441 rets = mei_cl_connect(cl, me_cl, file); in mei_ioctl_connect_client()
457 static int mei_ioctl_client_notify_request(struct file *file, u32 request) in mei_ioctl_client_notify_request() argument
459 struct mei_cl *cl = file->private_data; in mei_ioctl_client_notify_request()
465 return mei_cl_notify_request(cl, file, (u8)request); in mei_ioctl_client_notify_request()
476 static int mei_ioctl_client_notify_get(struct file *file, u32 *notify_get) in mei_ioctl_client_notify_get() argument
478 struct mei_cl *cl = file->private_data; in mei_ioctl_client_notify_get()
480 bool block = (file->f_flags & O_NONBLOCK) == 0; in mei_ioctl_client_notify_get()
500 static long mei_ioctl(struct file *file, unsigned int cmd, unsigned long data) in mei_ioctl() argument
503 struct mei_cl *cl = file->private_data; in mei_ioctl()
532 rets = mei_ioctl_connect_client(file, &connect_data); in mei_ioctl()
554 rets = mei_ioctl_client_notify_request(file, notify_req); in mei_ioctl()
559 rets = mei_ioctl_client_notify_get(file, &notify_get); in mei_ioctl()
593 static long mei_compat_ioctl(struct file *file, in mei_compat_ioctl() argument
596 return mei_ioctl(file, cmd, (unsigned long)compat_ptr(data)); in mei_compat_ioctl()
609 static unsigned int mei_poll(struct file *file, poll_table *wait) in mei_poll() argument
612 struct mei_cl *cl = file->private_data; in mei_poll()
633 mask = mei_amthif_poll(dev, file, wait); in mei_poll()
638 poll_wait(file, &cl->ev_wait, wait); in mei_poll()
644 poll_wait(file, &cl->rx_wait, wait); in mei_poll()
649 mei_cl_read_start(cl, 0, file); in mei_poll()
668 static int mei_fasync(int fd, struct file *file, int band) in mei_fasync() argument
671 struct mei_cl *cl = file->private_data; in mei_fasync()
676 return fasync_helper(fd, file, band, &cl->ev_async); in mei_fasync()