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 16#include <linux/videodev2.h> 17 18#define TM6000_URB_MSG_LEN 180 19 20struct usb_isoc_ctl { 21 /* max packet size of isoc transaction */ 22 int max_pkt_size; 23 24 /* number of allocated urbs */ 25 int num_bufs; 26 27 /* urb for isoc transfers */ 28 struct urb **urb; 29 30 /* transfer buffers for isoc transfer */ 31 char **transfer_buffer; 32 33 /* Last buffer command and region */ 34 u8 cmd; 35 int pos, size, pktsize; 36 37 /* Last field: ODD or EVEN? */ 38 int vfield, field; 39 40 /* Stores incomplete commands */ 41 u32 tmp_buf; 42 int tmp_buf_len; 43 44 /* Stores already requested buffers */ 45 struct tm6000_buffer *buf; 46}; 47