Lines Matching defs:fsg_dev
419 struct fsg_dev { struct
421 spinlock_t lock;
422 struct usb_gadget *gadget;
425 struct rw_semaphore filesem;
428 struct kref ref;
430 struct usb_ep *ep0; // Handy copy of gadget->ep0
431 struct usb_request *ep0req; // For control responses
432 unsigned int ep0_req_tag;
433 const char *ep0req_name;
435 struct usb_request *intreq; // For interrupt responses
436 int intreq_busy;
437 struct fsg_buffhd *intr_buffhd;
439 unsigned int bulk_out_maxpacket;
440 enum fsg_state state; // For exception handling
441 unsigned int exception_req_tag;
443 u8 config, new_config;
445 unsigned int running : 1;
446 unsigned int bulk_in_enabled : 1;
447 unsigned int bulk_out_enabled : 1;
448 unsigned int intr_in_enabled : 1;
449 unsigned int phase_error : 1;
450 unsigned int short_packet_received : 1;
451 unsigned int bad_lun_okay : 1;
453 unsigned long atomic_bitflags;
458 struct usb_ep *bulk_in;
459 struct usb_ep *bulk_out;
460 struct usb_ep *intr_in;
462 struct fsg_buffhd *next_buffhd_to_fill;
463 struct fsg_buffhd *next_buffhd_to_drain;
465 int thread_wakeup_needed;
466 struct completion thread_notifier;
467 struct task_struct *thread_task;
469 int cmnd_size;
470 u8 cmnd[MAX_COMMAND_SIZE];
494 typedef void (*fsg_routine_t)(struct fsg_dev *); argument