1 /* 2 * tm6000-buf.c - driver for TM5600/TM6000/TM6010 USB video capture devices 3 * 4 * Copyright (C) 2006-2007 Mauro Carvalho Chehab <mchehab@infradead.org> 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation version 2 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program; if not, write to the Free Software 17 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 18 */ 19 20 #include <linux/videodev2.h> 21 22 #define TM6000_URB_MSG_LEN 180 23 24 struct usb_isoc_ctl { 25 /* max packet size of isoc transaction */ 26 int max_pkt_size; 27 28 /* number of allocated urbs */ 29 int num_bufs; 30 31 /* urb for isoc transfers */ 32 struct urb **urb; 33 34 /* transfer buffers for isoc transfer */ 35 char **transfer_buffer; 36 37 /* Last buffer command and region */ 38 u8 cmd; 39 int pos, size, pktsize; 40 41 /* Last field: ODD or EVEN? */ 42 int vfield, field; 43 44 /* Stores incomplete commands */ 45 u32 tmp_buf; 46 int tmp_buf_len; 47 48 /* Stores already requested buffers */ 49 struct tm6000_buffer *buf; 50 }; 51