Lines Matching refs:epfile

685 	struct ffs_epfile *epfile = file->private_data;  in ffs_epfile_io()  local
692 if (WARN_ON(epfile->ffs->state != FFS_ACTIVE)) { in ffs_epfile_io()
698 ep = epfile->ep; in ffs_epfile_io()
705 ret = wait_event_interruptible(epfile->wait, (ep = epfile->ep)); in ffs_epfile_io()
713 halt = (!io_data->read == !epfile->in); in ffs_epfile_io()
714 if (halt && epfile->isoc) { in ffs_epfile_io()
725 struct usb_gadget *gadget = epfile->ffs->gadget; in ffs_epfile_io()
728 spin_lock_irq(&epfile->ffs->eps_lock); in ffs_epfile_io()
730 if (epfile->ep != ep) { in ffs_epfile_io()
731 spin_unlock_irq(&epfile->ffs->eps_lock); in ffs_epfile_io()
741 spin_unlock_irq(&epfile->ffs->eps_lock); in ffs_epfile_io()
756 ret = ffs_mutex_lock(&epfile->mutex, file->f_flags & O_NONBLOCK); in ffs_epfile_io()
760 spin_lock_irq(&epfile->ffs->eps_lock); in ffs_epfile_io()
762 if (epfile->ep != ep) { in ffs_epfile_io()
765 spin_unlock_irq(&epfile->ffs->eps_lock); in ffs_epfile_io()
768 if (likely(epfile->ep == ep) && !WARN_ON(!ep->ep)) in ffs_epfile_io()
770 spin_unlock_irq(&epfile->ffs->eps_lock); in ffs_epfile_io()
804 io_data->ffs = epfile->ffs; in ffs_epfile_io()
816 spin_unlock_irq(&epfile->ffs->eps_lock); in ffs_epfile_io()
829 spin_unlock_irq(&epfile->ffs->eps_lock); in ffs_epfile_io()
856 mutex_unlock(&epfile->mutex); in ffs_epfile_io()
860 spin_unlock_irq(&epfile->ffs->eps_lock); in ffs_epfile_io()
861 mutex_unlock(&epfile->mutex); in ffs_epfile_io()
870 struct ffs_epfile *epfile = inode->i_private; in ffs_epfile_open() local
874 if (WARN_ON(epfile->ffs->state != FFS_ACTIVE)) in ffs_epfile_open()
877 file->private_data = epfile; in ffs_epfile_open()
878 ffs_data_opened(epfile->ffs); in ffs_epfile_open()
886 struct ffs_epfile *epfile = kiocb->ki_filp->private_data; in ffs_aio_cancel() local
891 spin_lock_irq(&epfile->ffs->eps_lock); in ffs_aio_cancel()
898 spin_unlock_irq(&epfile->ffs->eps_lock); in ffs_aio_cancel()
990 struct ffs_epfile *epfile = inode->i_private; in ffs_epfile_release() local
994 ffs_data_closed(epfile->ffs); in ffs_epfile_release()
1002 struct ffs_epfile *epfile = file->private_data; in ffs_epfile_ioctl() local
1007 if (WARN_ON(epfile->ffs->state != FFS_ACTIVE)) in ffs_epfile_ioctl()
1010 spin_lock_irq(&epfile->ffs->eps_lock); in ffs_epfile_ioctl()
1011 if (likely(epfile->ep)) { in ffs_epfile_ioctl()
1014 ret = usb_ep_fifo_status(epfile->ep->ep); in ffs_epfile_ioctl()
1017 usb_ep_fifo_flush(epfile->ep->ep); in ffs_epfile_ioctl()
1021 ret = usb_ep_clear_halt(epfile->ep->ep); in ffs_epfile_ioctl()
1024 ret = epfile->ep->num; in ffs_epfile_ioctl()
1031 switch (epfile->ffs->gadget->speed) { in ffs_epfile_ioctl()
1041 desc = epfile->ep->descs[desc_idx]; in ffs_epfile_ioctl()
1043 spin_unlock_irq(&epfile->ffs->eps_lock); in ffs_epfile_ioctl()
1055 spin_unlock_irq(&epfile->ffs->eps_lock); in ffs_epfile_ioctl()
1561 struct ffs_epfile *epfile, *epfiles; in ffs_epfiles_create() local
1571 epfile = epfiles; in ffs_epfiles_create()
1572 for (i = 1; i <= count; ++i, ++epfile) { in ffs_epfiles_create()
1573 epfile->ffs = ffs; in ffs_epfiles_create()
1574 mutex_init(&epfile->mutex); in ffs_epfiles_create()
1575 init_waitqueue_head(&epfile->wait); in ffs_epfiles_create()
1577 sprintf(epfile->name, "ep%02x", ffs->eps_addrmap[i]); in ffs_epfiles_create()
1579 sprintf(epfile->name, "ep%u", i); in ffs_epfiles_create()
1580 epfile->dentry = ffs_sb_create_file(ffs->sb, epfile->name, in ffs_epfiles_create()
1581 epfile, in ffs_epfiles_create()
1583 if (unlikely(!epfile->dentry)) { in ffs_epfiles_create()
1595 struct ffs_epfile *epfile = epfiles; in ffs_epfiles_destroy() local
1599 for (; count; --count, ++epfile) { in ffs_epfiles_destroy()
1600 BUG_ON(mutex_is_locked(&epfile->mutex) || in ffs_epfiles_destroy()
1601 waitqueue_active(&epfile->wait)); in ffs_epfiles_destroy()
1602 if (epfile->dentry) { in ffs_epfiles_destroy()
1603 d_delete(epfile->dentry); in ffs_epfiles_destroy()
1604 dput(epfile->dentry); in ffs_epfiles_destroy()
1605 epfile->dentry = NULL; in ffs_epfiles_destroy()
1615 struct ffs_epfile *epfile = func->ffs->epfiles; in ffs_func_eps_disable() local
1626 if (epfile) { in ffs_func_eps_disable()
1627 epfile->ep = NULL; in ffs_func_eps_disable()
1628 ++epfile; in ffs_func_eps_disable()
1638 struct ffs_epfile *epfile = ffs->epfiles; in ffs_func_eps_enable() local
1669 epfile->ep = ep; in ffs_func_eps_enable()
1670 epfile->in = usb_endpoint_dir_in(ds); in ffs_func_eps_enable()
1671 epfile->isoc = usb_endpoint_xfer_isoc(ds); in ffs_func_eps_enable()
1676 wake_up(&epfile->wait); in ffs_func_eps_enable()
1679 ++epfile; in ffs_func_eps_enable()