Lines Matching defs:fsg_common
252 struct fsg_common { struct
253 struct usb_gadget *gadget;
254 struct usb_composite_dev *cdev;
255 struct fsg_dev *fsg, *new_fsg;
256 wait_queue_head_t fsg_wait;
259 struct rw_semaphore filesem;
262 spinlock_t lock;
264 struct usb_ep *ep0; /* Copy of gadget->ep0 */
265 struct usb_request *ep0req; /* Copy of cdev->req */
266 unsigned int ep0_req_tag;
268 struct fsg_buffhd *next_buffhd_to_fill;
269 struct fsg_buffhd *next_buffhd_to_drain;
270 struct fsg_buffhd *buffhds;
272 int cmnd_size;
273 u8 cmnd[MAX_COMMAND_SIZE];
275 unsigned int nluns;
276 unsigned int lun;
277 struct fsg_lun *luns;
278 struct fsg_lun *curlun;
280 unsigned int bulk_out_maxpacket;
281 enum fsg_state state; /* For exception handling */
282 unsigned int exception_req_tag;
284 enum data_direction data_dir;
285 u32 data_size;
286 u32 data_size_from_cmnd;
287 u32 tag;
288 u32 residue;
289 u32 usb_amount_left;
291 unsigned int can_stall:1;
292 unsigned int free_storage_on_release:1;
293 unsigned int phase_error:1;
294 unsigned int short_packet_received:1;
295 unsigned int bad_lun_okay:1;
296 unsigned int running:1;
298 int thread_wakeup_needed;
299 struct completion thread_notifier;
300 struct task_struct *thread_task;
303 const struct fsg_operations *ops;
305 void *private_data;
311 char inquiry_string[8 + 16 + 4 + 1];
313 struct kref ref;