/*
 *  usbvision-cards.c
 *  usbvision cards definition file
 *
 * Copyright (c) 1999-2005 Joerg Heckenbach <joerg@heckenbach-aw.de>
 *
 * This module is part of usbvision driver project.
 * Updates to driver completed by Dwaine P. Garden
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */


#include <linux/list.h>
#include <media/v4l2-dev.h>
#include <media/tuner.h>
#include "usbvision.h"
#include "usbvision-cards.h"

/* Supported Devices: A table for usbvision.c*/
struct usbvision_device_data_st  usbvision_device_data[] = {
	[XANBOO] = {
		.interface      = -1,
		.codec          = CODEC_SAA7113,
		.video_channels = 4,
		.video_norm     = V4L2_STD_NTSC,
		.audio_channels = 1,
		.radio          = 0,
		.vbi            = 1,
		.tuner          = 0,
		.tuner_type     = 0,
		.x_offset       = -1,
		.y_offset       = -1,
		.model_string   = "Xanboo",
	},
	[BELKIN_VIDEOBUS_II] = {
		.interface      = -1,
		.codec          = CODEC_SAA7113,
		.video_channels = 2,
		.video_norm     = V4L2_STD_PAL,
		.audio_channels = 1,
		.radio          = 0,
		.vbi            = 1,
		.tuner          = 0,
		.tuner_type     = 0,
		.x_offset       = 0,
		.y_offset       = 3,
		.dvi_yuv_override = 1,
		.dvi_yuv        = 7,
		.model_string   = "Belkin USB VideoBus II Adapter",
	},
	[BELKIN_VIDEOBUS] = {
		.interface      = -1,
		.codec          = CODEC_SAA7111,
		.video_channels = 2,
		.video_norm     = V4L2_STD_NTSC,
		.audio_channels = 1,
		.radio          = 0,
		.vbi            = 1,
		.tuner          = 0,
		.tuner_type     = 0,
		.x_offset       = -1,
		.y_offset       = -1,
		.model_string   = "Belkin Components USB VideoBus",
	},
	[BELKIN_USB_VIDEOBUS_II] = {
		.interface      = -1,
		.codec          = CODEC_SAA7113,
		.video_channels = 2,
		.video_norm     = V4L2_STD_NTSC,
		.audio_channels = 1,
		.radio          = 0,
		.vbi            = 1,
		.tuner          = 0,
		.tuner_type     = 0,
		.x_offset       = 0,
		.y_offset       = 3,
		.dvi_yuv_override = 1,
		.dvi_yuv        = 7,
		.model_string   = "Belkin USB VideoBus II",
	},
	[ECHOFX_INTERVIEW_LITE] = {
		.interface      = 0,
		.codec          = CODEC_SAA7111,
		.video_channels = 2,
		.video_norm     = V4L2_STD_PAL,
		.audio_channels = 0,
		.radio          = 0,
		.vbi            = 1,
		.tuner          = 0,
		.tuner_type     = 0,
		.x_offset       = -1,
		.y_offset       = -1,
		.dvi_yuv_override = 1,
		.dvi_yuv        = 7,
		.model_string   = "echoFX InterView Lite",
	},
	[USBGEAR_USBG_V1] = {
		.interface      = -1,
		.codec          = CODEC_SAA7111,
		.video_channels = 2,
		.video_norm     = V4L2_STD_NTSC,
		.audio_channels = 1,
		.radio          = 0,
		.vbi            = 1,
		.tuner          = 0,
		.tuner_type     = 0,
		.x_offset       = -1,
		.y_offset       = -1,
		.model_string   = "USBGear USBG-V1 resp. HAMA USB",
	},
	[D_LINK_V100] = {
		.interface      = -1,
		.codec          = CODEC_SAA7113,
		.video_channels = 4,
		.video_norm     = V4L2_STD_NTSC,
		.audio_channels = 0,
		.radio          = 0,
		.vbi            = 1,
		.tuner          = 0,
		.tuner_type     = 0,
		.x_offset       = 0,
		.y_offset       = 3,
		.dvi_yuv_override = 1,
		.dvi_yuv        = 7,
		.model_string   = "D-Link V100",
	},
	[X10_USB_CAMERA] = {
		.interface      = -1,
		.codec          = CODEC_SAA7111,
		.video_channels = 2,
		.video_norm     = V4L2_STD_NTSC,
		.audio_channels = 1,
		.radio          = 0,
		.vbi            = 1,
		.tuner          = 0,
		.tuner_type     = 0,
		.x_offset       = -1,
		.y_offset       = -1,
		.model_string   = "X10 USB Camera",
	},
	[HPG_WINTV_LIVE_PAL_BG] = {
		.interface      = -1,
		.codec          = CODEC_SAA7111,
		.video_channels = 2,
		.video_norm     = V4L2_STD_PAL,
		.audio_channels = 1,
		.radio          = 0,
		.vbi            = 1,
		.tuner          = 0,
		.tuner_type     = 0,
		.x_offset       = -1,
		.y_offset       = 3,
		.dvi_yuv_override = 1,
		.dvi_yuv        = 7,
		.model_string   = "Hauppauge WinTV USB Live (PAL B/G)",
	},
	[HPG_WINTV_LIVE_PRO_NTSC_MN] = {
		.interface      = -1,
		.codec          = CODEC_SAA7113,
		.video_channels = 2,
		.video_norm     = V4L2_STD_NTSC,
		.audio_channels = 0,
		.radio          = 0,
		.vbi            = 1,
		.tuner          = 0,
		.tuner_type     = 0,
		.x_offset       = 0,
		.y_offset       = 3,
		.dvi_yuv_override = 1,
		.dvi_yuv        = 7,
		.model_string   = "Hauppauge WinTV USB Live Pro (NTSC M/N)",
	},
	[ZORAN_PMD_NOGATECH] = {
		.interface      = -1,
		.codec          = CODEC_SAA7113,
		.video_channels = 2,
		.video_norm     = V4L2_STD_PAL,
		.audio_channels = 2,
		.radio          = 0,
		.vbi            = 1,
		.tuner          = 0,
		.tuner_type     = 0,
		.x_offset       = 0,
		.y_offset       = 3,
		.dvi_yuv_override = 1,
		.dvi_yuv        = 7,
		.model_string   = "Zoran Co. PMD (Nogatech) AV-grabber Manhattan",
	},
	[NOGATECH_USB_TV_NTSC_FM] = {
		.interface      = -1,
		.codec          = CODEC_SAA7111,
		.video_channels = 3,
		.video_norm     = V4L2_STD_NTSC,
		.audio_channels = 1,
		.radio          = 1,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_PHILIPS_NTSC_M,
		.x_offset       = -1,
		.y_offset       = 20,
		.model_string   = "Nogatech USB-TV (NTSC) FM",
	},
	[PNY_USB_TV_NTSC_FM] = {
		.interface      = -1,
		.codec          = CODEC_SAA7111,
		.video_channels = 3,
		.video_norm     = V4L2_STD_NTSC,
		.audio_channels = 1,
		.radio          = 1,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_PHILIPS_NTSC_M,
		.x_offset       = -1,
		.y_offset       = 20,
		.model_string   = "PNY USB-TV (NTSC) FM",
	},
	[PV_PLAYTV_USB_PRO_PAL_FM] = {
		.interface      = 0,
		.codec          = CODEC_SAA7113,
		.video_channels = 3,
		.video_norm     = V4L2_STD_PAL,
		.audio_channels = 1,
		.radio          = 1,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_PHILIPS_PAL,
		.x_offset       = 0,
		.y_offset       = 3,
		.dvi_yuv_override = 1,
		.dvi_yuv        = 7,
		.model_string   = "PixelView PlayTv-USB PRO (PAL) FM",
	},
	[ZT_721] = {
		.interface      = 0,
		.codec          = CODEC_SAA7113,
		.video_channels = 3,
		.video_norm     = V4L2_STD_PAL,
		.audio_channels = 1,
		.radio          = 1,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_PHILIPS_PAL,
		.x_offset       = 0,
		.y_offset       = 3,
		.dvi_yuv_override = 1,
		.dvi_yuv        = 7,
		.model_string   = "ZTV ZT-721 2.4GHz USB A/V Receiver",
	},
	[HPG_WINTV_NTSC_MN] = {
		.interface      = -1,
		.codec          = CODEC_SAA7111,
		.video_channels = 3,
		.video_norm     = V4L2_STD_NTSC,
		.audio_channels = 1,
		.radio          = 0,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_PHILIPS_NTSC_M,
		.x_offset       = -1,
		.y_offset       = 20,
		.model_string   = "Hauppauge WinTV USB (NTSC M/N)",
	},
	[HPG_WINTV_PAL_BG] = {
		.interface      = -1,
		.codec          = CODEC_SAA7111,
		.video_channels = 3,
		.video_norm     = V4L2_STD_PAL,
		.audio_channels = 1,
		.radio          = 0,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_PHILIPS_PAL,
		.x_offset       = -1,
		.y_offset       = -1,
		.model_string   = "Hauppauge WinTV USB (PAL B/G)",
	},
	[HPG_WINTV_PAL_I] = {
		.interface      = -1,
		.codec          = CODEC_SAA7111,
		.video_channels = 3,
		.video_norm     = V4L2_STD_PAL,
		.audio_channels = 1,
		.radio          = 0,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_PHILIPS_PAL,
		.x_offset       = -1,
		.y_offset       = -1,
		.model_string   = "Hauppauge WinTV USB (PAL I)",
	},
	[HPG_WINTV_PAL_SECAM_L] = {
		.interface      = -1,
		.codec          = CODEC_SAA7111,
		.video_channels = 3,
		.video_norm     = V4L2_STD_SECAM,
		.audio_channels = 1,
		.radio          = 0,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_PHILIPS_SECAM,
		.x_offset       = 0x80,
		.y_offset       = 0x16,
		.model_string   = "Hauppauge WinTV USB (PAL/SECAM L)",
	},
	[HPG_WINTV_PAL_D_K] = {
		.interface      = -1,
		.codec          = CODEC_SAA7111,
		.video_channels = 3,
		.video_norm     = V4L2_STD_PAL,
		.audio_channels = 1,
		.radio          = 0,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_PHILIPS_PAL,
		.x_offset       = -1,
		.y_offset       = -1,
		.model_string   = "Hauppauge WinTV USB (PAL D/K)",
	},
	[HPG_WINTV_NTSC_FM] = {
		.interface      = -1,
		.codec          = CODEC_SAA7111,
		.video_channels = 3,
		.video_norm     = V4L2_STD_NTSC,
		.audio_channels = 1,
		.radio          = 1,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_PHILIPS_NTSC_M,
		.x_offset       = -1,
		.y_offset       = -1,
		.model_string   = "Hauppauge WinTV USB (NTSC FM)",
	},
	[HPG_WINTV_PAL_BG_FM] = {
		.interface      = -1,
		.codec          = CODEC_SAA7111,
		.video_channels = 3,
		.video_norm     = V4L2_STD_PAL,
		.audio_channels = 1,
		.radio          = 1,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_PHILIPS_PAL,
		.x_offset       = -1,
		.y_offset       = -1,
		.model_string   = "Hauppauge WinTV USB (PAL B/G FM)",
	},
	[HPG_WINTV_PAL_I_FM] = {
		.interface      = -1,
		.codec          = CODEC_SAA7111,
		.video_channels = 3,
		.video_norm     = V4L2_STD_PAL,
		.audio_channels = 1,
		.radio          = 1,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_PHILIPS_PAL,
		.x_offset       = -1,
		.y_offset       = -1,
		.model_string   = "Hauppauge WinTV USB (PAL I FM)",
	},
	[HPG_WINTV_PAL_D_K_FM] = {
		.interface      = -1,
		.codec          = CODEC_SAA7111,
		.video_channels = 3,
		.video_norm     = V4L2_STD_PAL,
		.audio_channels = 1,
		.radio          = 1,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_PHILIPS_PAL,
		.x_offset       = -1,
		.y_offset       = -1,
		.model_string   = "Hauppauge WinTV USB (PAL D/K FM)",
	},
	[HPG_WINTV_PRO_NTSC_MN] = {
		.interface      = 0,
		.codec          = CODEC_SAA7113,
		.video_channels = 3,
		.video_norm     = V4L2_STD_NTSC,
		.audio_channels = 1,
		.radio          = 1,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_MICROTUNE_4049FM5,
		.x_offset       = 0,
		.y_offset       = 3,
		.dvi_yuv_override = 1,
		.dvi_yuv        = 7,
		.model_string   = "Hauppauge WinTV USB Pro (NTSC M/N)",
	},
	[HPG_WINTV_PRO_NTSC_MN_V2] = {
		.interface      = 0,
		.codec          = CODEC_SAA7113,
		.video_channels = 3,
		.video_norm     = V4L2_STD_NTSC,
		.audio_channels = 1,
		.radio          = 1,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_MICROTUNE_4049FM5,
		.x_offset       = 0,
		.y_offset       = 3,
		.dvi_yuv_override = 1,
		.dvi_yuv        = 7,
		.model_string   = "Hauppauge WinTV USB Pro (NTSC M/N) V2",
	},
	[HPG_WINTV_PRO_PAL] = {
		.interface      = 0,
		.codec          = CODEC_SAA7113,
		.video_channels = 3,
		.video_norm     = V4L2_STD_PAL,
		.audio_channels = 1,
		.radio          = 0,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,
		.x_offset       = 0,
		.y_offset       = 3,
		.dvi_yuv_override = 1,
		.dvi_yuv        = 7,
		.model_string   = "Hauppauge WinTV USB Pro (PAL/SECAM B/G/I/D/K/L)",
	},
	[HPG_WINTV_PRO_NTSC_MN_V3] = {
		.interface      = 0,
		.codec          = CODEC_SAA7113,
		.video_channels = 3,
		.video_norm     = V4L2_STD_NTSC,
		.audio_channels = 1,
		.radio          = 1,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_PHILIPS_NTSC_M,
		.x_offset       = 0,
		.y_offset       = 3,
		.dvi_yuv_override = 1,
		.dvi_yuv        = 7,
		.model_string   = "Hauppauge WinTV USB Pro (NTSC M/N) V3",
	},
	[HPG_WINTV_PRO_PAL_BG] = {
		.interface      = 0,
		.codec          = CODEC_SAA7113,
		.video_channels = 3,
		.video_norm     = V4L2_STD_PAL,
		.audio_channels = 1,
		.radio          = 0,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_PHILIPS_PAL,
		.x_offset       = 0,
		.y_offset       = 3,
		.dvi_yuv_override = 1,
		.dvi_yuv        = 7,
		.model_string   = "Hauppauge WinTV USB Pro (PAL B/G)",
	},
	[HPG_WINTV_PRO_PAL_I] = {
		.interface      = 0,
		.codec          = CODEC_SAA7113,
		.video_channels = 3,
		.video_norm     = V4L2_STD_PAL,
		.audio_channels = 1,
		.radio          = 0,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_PHILIPS_PAL,
		.x_offset       = 0,
		.y_offset       = 3,
		.dvi_yuv_override = 1,
		.dvi_yuv        = 7,
		.model_string   = "Hauppauge WinTV USB Pro (PAL I)",
	},
	[HPG_WINTV_PRO_PAL_SECAM_L] = {
		.interface      = -1,
		.codec          = CODEC_SAA7113,
		.video_channels = 3,
		.video_norm     = V4L2_STD_SECAM,
		.audio_channels = 1,
		.radio          = 0,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_PHILIPS_SECAM,
		.x_offset       = 0,
		.y_offset       = 3,
		.dvi_yuv_override = 1,
		.dvi_yuv        = 7,
		.model_string   = "Hauppauge WinTV USB Pro (PAL/SECAM L)",
	},
	[HPG_WINTV_PRO_PAL_D_K] = {
		.interface      = -1,
		.codec          = CODEC_SAA7113,
		.video_channels = 3,
		.video_norm     = V4L2_STD_PAL,
		.audio_channels = 1,
		.radio          = 0,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_PHILIPS_PAL,
		.x_offset       = 0,
		.y_offset       = 3,
		.dvi_yuv_override = 1,
		.dvi_yuv        = 7,
		.model_string   = "Hauppauge WinTV USB Pro (PAL D/K)",
	},
	[HPG_WINTV_PRO_PAL_SECAM] = {
		.interface      = -1,
		.codec          = CODEC_SAA7113,
		.video_channels = 3,
		.video_norm     = V4L2_STD_SECAM,
		.audio_channels = 1,
		.radio          = 0,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_PHILIPS_SECAM,
		.x_offset       = 0,
		.y_offset       = 3,
		.dvi_yuv_override = 1,
		.dvi_yuv        = 7,
		.model_string   = "Hauppauge WinTV USB Pro (PAL/SECAM BGDK/I/L)",
	},
	[HPG_WINTV_PRO_PAL_SECAM_V2] = {
		.interface      = -1,
		.codec          = CODEC_SAA7113,
		.video_channels = 3,
		.video_norm     = V4L2_STD_SECAM,
		.audio_channels = 1,
		.radio          = 0,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_PHILIPS_SECAM,
		.x_offset       = 0,
		.y_offset       = 3,
		.dvi_yuv_override = 1,
		.dvi_yuv        = 7,
		.model_string   = "Hauppauge WinTV USB Pro (PAL/SECAM BGDK/I/L) V2",
	},
	[HPG_WINTV_PRO_PAL_BG_V2] = {
		.interface      = -1,
		.codec          = CODEC_SAA7113,
		.video_channels = 3,
		.video_norm     = V4L2_STD_PAL,
		.audio_channels = 1,
		.radio          = 0,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_ALPS_TSBE1_PAL,
		.x_offset       = 0,
		.y_offset       = 3,
		.dvi_yuv_override = 1,
		.dvi_yuv        = 7,
		.model_string   = "Hauppauge WinTV USB Pro (PAL B/G) V2",
	},
	[HPG_WINTV_PRO_PAL_BG_D_K] = {
		.interface      = -1,
		.codec          = CODEC_SAA7113,
		.video_channels = 3,
		.video_norm     = V4L2_STD_PAL,
		.audio_channels = 1,
		.radio          = 0,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_ALPS_TSBE1_PAL,
		.x_offset       = 0,
		.y_offset       = 3,
		.dvi_yuv_override = 1,
		.dvi_yuv        = 7,
		.model_string   = "Hauppauge WinTV USB Pro (PAL B/G,D/K)",
	},
	[HPG_WINTV_PRO_PAL_I_D_K] = {
		.interface      = -1,
		.codec          = CODEC_SAA7113,
		.video_channels = 3,
		.video_norm     = V4L2_STD_PAL,
		.audio_channels = 1,
		.radio          = 0,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_LG_PAL_NEW_TAPC,
		.x_offset       = 0,
		.y_offset       = 3,
		.dvi_yuv_override = 1,
		.dvi_yuv        = 7,
		.model_string   = "Hauppauge WinTV USB Pro (PAL I,D/K)",
	},
	[HPG_WINTV_PRO_NTSC_MN_FM] = {
		.interface      = -1,
		.codec          = CODEC_SAA7113,
		.video_channels = 3,
		.video_norm     = V4L2_STD_NTSC,
		.audio_channels = 1,
		.radio          = 1,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_PHILIPS_NTSC_M,
		.x_offset       = 0,
		.y_offset       = 3,
		.dvi_yuv_override = 1,
		.dvi_yuv        = 7,
		.model_string   = "Hauppauge WinTV USB Pro (NTSC M/N FM)",
	},
	[HPG_WINTV_PRO_PAL_BG_FM] = {
		.interface      = 0,
		.codec          = CODEC_SAA7113,
		.video_channels = 3,
		.video_norm     = V4L2_STD_PAL,
		.audio_channels = 1,
		.radio          = 1,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_PHILIPS_PAL,
		.x_offset       = 0,
		.y_offset       = 3,
		.dvi_yuv_override = 1,
		.dvi_yuv        = 7,
		.model_string   = "Hauppauge WinTV USB Pro (PAL B/G FM)",
	},
	[HPG_WINTV_PRO_PAL_I_FM] = {
		.interface      = 0,
		.codec          = CODEC_SAA7113,
		.video_channels = 3,
		.video_norm     = V4L2_STD_PAL,
		.audio_channels = 1,
		.radio          = 1,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_PHILIPS_PAL,
		.x_offset       = 0,
		.y_offset       = 3,
		.dvi_yuv_override = 1,
		.dvi_yuv        = 7,
		.model_string   = "Hauppauge WinTV USB Pro (PAL I FM)",
	},
	[HPG_WINTV_PRO_PAL_D_K_FM] = {
		.interface      = 0,
		.codec          = CODEC_SAA7113,
		.video_channels = 3,
		.video_norm     = V4L2_STD_PAL,
		.audio_channels = 1,
		.radio          = 1,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_PHILIPS_PAL,
		.x_offset       = 0,
		.y_offset       = 3,
		.dvi_yuv_override = 1,
		.dvi_yuv        = 7,
		.model_string   = "Hauppauge WinTV USB Pro (PAL D/K FM)",
	},
	[HPG_WINTV_PRO_TEMIC_PAL_FM] = {
		.interface      = 0,
		.codec          = CODEC_SAA7113,
		.video_channels = 3,
		.video_norm     = V4L2_STD_PAL,
		.audio_channels = 1,
		.radio          = 1,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_MICROTUNE_4049FM5,
		.x_offset       = 0,
		.y_offset       = 3,
		.dvi_yuv_override = 1,
		.dvi_yuv        = 7,
		.model_string   = "Hauppauge WinTV USB Pro (Temic PAL/SECAM B/G/I/D/K/L FM)",
	},
	[HPG_WINTV_PRO_TEMIC_PAL_BG_FM] = {
		.interface      = 0,
		.codec          = CODEC_SAA7113,
		.video_channels = 3,
		.video_norm     = V4L2_STD_PAL,
		.audio_channels = 1,
		.radio          = 1,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_MICROTUNE_4049FM5,
		.x_offset       = 0,
		.y_offset       = 3,
		.dvi_yuv_override = 1,
		.dvi_yuv        = 7,
		.model_string   = "Hauppauge WinTV USB Pro (Temic PAL B/G FM)",
	},
	[HPG_WINTV_PRO_PAL_FM] = {
		.interface      = 0,
		.codec          = CODEC_SAA7113,
		.video_channels = 3,
		.video_norm     = V4L2_STD_PAL,
		.audio_channels = 1,
		.radio          = 1,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,
		.x_offset       = 0,
		.y_offset       = 3,
		.dvi_yuv_override = 1,
		.dvi_yuv        = 7,
		.model_string   = "Hauppauge WinTV USB Pro (PAL/SECAM B/G/I/D/K/L FM)",
	},
	[HPG_WINTV_PRO_NTSC_MN_FM_V2] = {
		.interface      = 0,
		.codec          = CODEC_SAA7113,
		.video_channels = 3,
		.video_norm     = V4L2_STD_NTSC,
		.audio_channels = 1,
		.radio          = 1,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_PHILIPS_NTSC_M,
		.x_offset       = 0,
		.y_offset       = 3,
		.dvi_yuv_override = 1,
		.dvi_yuv        = 7,
		.model_string   = "Hauppauge WinTV USB Pro (NTSC M/N FM) V2",
	},
	[CAMTEL_TVB330] = {
		.interface      = -1,
		.codec          = CODEC_SAA7113,
		.video_channels = 3,
		.video_norm     = V4L2_STD_NTSC,
		.audio_channels = 1,
		.radio          = 1,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_PHILIPS_NTSC_M,
		.x_offset       = 5,
		.y_offset       = 5,
		.model_string   = "Camtel Technology USB TV Genie Pro FM Model TVB330",
	},
	[DIGITAL_VIDEO_CREATOR_I] = {
		.interface      = -1,
		.codec          = CODEC_SAA7113,
		.video_channels = 2,
		.video_norm     = V4L2_STD_PAL,
		.audio_channels = 0,
		.radio          = 0,
		.vbi            = 1,
		.tuner          = 0,
		.tuner_type     = 0,
		.x_offset       = 0,
		.y_offset       = 3,
		.dvi_yuv_override = 1,
		.dvi_yuv        = 7,
		.model_string   = "Digital Video Creator I",
	},
	[GLOBAL_VILLAGE_GV_007_NTSC] = {
		.interface      = -1,
		.codec          = CODEC_SAA7111,
		.video_channels = 2,
		.video_norm     = V4L2_STD_NTSC,
		.audio_channels = 0,
		.radio          = 0,
		.vbi            = 1,
		.tuner          = 0,
		.tuner_type     = 0,
		.x_offset       = 82,
		.y_offset       = 20,
		.dvi_yuv_override = 1,
		.dvi_yuv        = 7,
		.model_string   = "Global Village GV-007 (NTSC)",
	},
	[DAZZLE_DVC_50_REV_1_NTSC] = {
		.interface      = 0,
		.codec          = CODEC_SAA7113,
		.video_channels = 2,
		.video_norm     = V4L2_STD_NTSC,
		.audio_channels = 0,
		.radio          = 0,
		.vbi            = 1,
		.tuner          = 0,
		.tuner_type     = 0,
		.x_offset       = 0,
		.y_offset       = 3,
		.dvi_yuv_override = 1,
		.dvi_yuv        = 7,
		.model_string   = "Dazzle Fusion Model DVC-50 Rev 1 (NTSC)",
	},
	[DAZZLE_DVC_80_REV_1_PAL] = {
		.interface      = 0,
		.codec          = CODEC_SAA7113,
		.video_channels = 2,
		.video_norm     = V4L2_STD_PAL,
		.audio_channels = 0,
		.radio          = 0,
		.vbi            = 1,
		.tuner          = 0,
		.tuner_type     = 0,
		.x_offset       = 0,
		.y_offset       = 3,
		.dvi_yuv_override = 1,
		.dvi_yuv        = 7,
		.model_string   = "Dazzle Fusion Model DVC-80 Rev 1 (PAL)",
	},
	[DAZZLE_DVC_90_REV_1_SECAM] = {
		.interface      = 0,
		.codec          = CODEC_SAA7113,
		.video_channels = 2,
		.video_norm     = V4L2_STD_SECAM,
		.audio_channels = 0,
		.radio          = 0,
		.vbi            = 1,
		.tuner          = 0,
		.tuner_type     = 0,
		.x_offset       = 0,
		.y_offset       = 3,
		.dvi_yuv_override = 1,
		.dvi_yuv        = 7,
		.model_string   = "Dazzle Fusion Model DVC-90 Rev 1 (SECAM)",
	},
	[ESKAPE_LABS_MYTV2GO] = {
		.interface      = 0,
		.codec          = CODEC_SAA7113,
		.video_channels = 2,
		.video_norm     = V4L2_STD_PAL,
		.audio_channels = 1,
		.radio          = 1,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,
		.x_offset       = 0,
		.y_offset       = 3,
		.dvi_yuv_override = 1,
		.dvi_yuv        = 7,
		.model_string   = "Eskape Labs MyTV2Go",
	},
	[PINNA_PCTV_USB_PAL] = {
		.interface      = -1,
		.codec          = CODEC_SAA7111,
		.video_channels = 3,
		.video_norm     = V4L2_STD_PAL,
		.audio_channels = 1,
		.radio          = 0,
		.vbi            = 0,
		.tuner          = 1,
		.tuner_type     = TUNER_TEMIC_4066FY5_PAL_I,
		.x_offset       = -1,
		.y_offset       = -1,
		.model_string   = "Pinnacle Studio PCTV USB (PAL)",
	},
	[PINNA_PCTV_USB_SECAM] = {
		.interface      = -1,
		.codec          = CODEC_SAA7111,
		.video_channels = 3,
		.video_norm     = V4L2_STD_SECAM,
		.audio_channels = 1,
		.radio          = 0,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_PHILIPS_SECAM,
		.x_offset       = -1,
		.y_offset       = -1,
		.model_string   = "Pinnacle Studio PCTV USB (SECAM)",
	},
	[PINNA_PCTV_USB_PAL_FM] = {
		.interface      = -1,
		.codec          = CODEC_SAA7111,
		.video_channels = 3,
		.video_norm     = V4L2_STD_PAL,
		.audio_channels = 1,
		.radio          = 1,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_PHILIPS_PAL,
		.x_offset       = 128,
		.y_offset       = 23,
		.model_string   = "Pinnacle Studio PCTV USB (PAL) FM",
	},
	[MIRO_PCTV_USB] = {
		.interface      = -1,
		.codec          = CODEC_SAA7111,
		.video_channels = 3,
		.video_norm     = V4L2_STD_PAL,
		.audio_channels = 1,
		.radio          = 0,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_PHILIPS_PAL,
		.x_offset       = -1,
		.y_offset       = -1,
		.model_string   = "Miro PCTV USB",
	},
	[PINNA_PCTV_USB_NTSC_FM] = {
		.interface      = -1,
		.codec          = CODEC_SAA7111,
		.video_channels = 3,
		.video_norm     = V4L2_STD_NTSC,
		.audio_channels = 1,
		.radio          = 1,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_PHILIPS_NTSC_M,
		.x_offset       = -1,
		.y_offset       = -1,
		.model_string   = "Pinnacle Studio PCTV USB (NTSC) FM",
	},
	[PINNA_PCTV_USB_NTSC_FM_V3] = {
		.interface      = -1,
		.codec          = CODEC_SAA7111,
		.video_channels = 3,
		.video_norm     = V4L2_STD_NTSC,
		.audio_channels = 1,
		.radio          = 1,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_PHILIPS_NTSC_M,
		.x_offset       = -1,
		.y_offset       = -1,
		.model_string   = "Pinnacle Studio PCTV USB (NTSC) FM V3",
	},
	[PINNA_PCTV_USB_PAL_FM_V2] = {
		.interface      = -1,
		.codec          = CODEC_SAA7113,
		.video_channels = 3,
		.video_norm     = V4L2_STD_PAL,
		.audio_channels = 1,
		.radio          = 1,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_TEMIC_4009FR5_PAL,
		.x_offset       = 0,
		.y_offset       = 3,
		.dvi_yuv_override = 1,
		.dvi_yuv        = 7,
		.model_string   = "Pinnacle Studio PCTV USB (PAL) FM V2",
	},
	[PINNA_PCTV_USB_NTSC_FM_V2] = {
		.interface      = -1,
		.codec          = CODEC_SAA7111,
		.video_channels = 3,
		.video_norm     = V4L2_STD_NTSC,
		.audio_channels = 1,
		.radio          = 1,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_TEMIC_4039FR5_NTSC,
		.x_offset       = 0,
		.y_offset       = 3,
		.dvi_yuv_override = 1,
		.dvi_yuv        = 7,
		.model_string   = "Pinnacle Studio PCTV USB (NTSC) FM V2",
	},
	[PINNA_PCTV_USB_PAL_FM_V3] = {
		.interface      = -1,
		.codec          = CODEC_SAA7113,
		.video_channels = 3,
		.video_norm     = V4L2_STD_PAL,
		.audio_channels = 1,
		.radio          = 1,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_TEMIC_4009FR5_PAL,
		.x_offset       = 0,
		.y_offset       = 3,
		.dvi_yuv_override = 1,
		.dvi_yuv        = 7,
		.model_string   = "Pinnacle Studio PCTV USB (PAL) FM V3",
	},
	[PINNA_LINX_VD_IN_CAB_NTSC] = {
		.interface      = -1,
		.codec          = CODEC_SAA7113,
		.video_channels = 2,
		.video_norm     = V4L2_STD_NTSC,
		.audio_channels = 1,
		.radio          = 0,
		.vbi            = 1,
		.tuner          = 0,
		.tuner_type     = 0,
		.x_offset       = 0,
		.y_offset       = 3,
		.dvi_yuv_override = 1,
		.dvi_yuv        = 7,
		.model_string   = "Pinnacle Studio Linx Video input cable (NTSC)",
	},
	[PINNA_LINX_VD_IN_CAB_PAL] = {
		.interface      = -1,
		.codec          = CODEC_SAA7113,
		.video_channels = 2,
		.video_norm     = V4L2_STD_PAL,
		.audio_channels = 1,
		.radio          = 0,
		.vbi            = 1,
		.tuner          = 0,
		.tuner_type     = 0,
		.x_offset       = 0,
		.y_offset       = 3,
		.dvi_yuv_override = 1,
		.dvi_yuv        = 7,
		.model_string   = "Pinnacle Studio Linx Video input cable (PAL)",
	},
	[PINNA_PCTV_BUNGEE_PAL_FM] = {
		.interface      = -1,
		.codec          = CODEC_SAA7113,
		.video_channels = 3,
		.video_norm     = V4L2_STD_PAL,
		.audio_channels = 1,
		.radio          = 1,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_TEMIC_4009FR5_PAL,
		.x_offset       = 0,
		.y_offset       = 3,
		.dvi_yuv_override = 1,
		.dvi_yuv        = 7,
		.model_string   = "Pinnacle PCTV Bungee USB (PAL) FM",
	},
	[HPG_WINTV] = {
		.interface      = -1,
		.codec          = CODEC_SAA7111,
		.video_channels = 3,
		.video_norm     = V4L2_STD_NTSC,
		.audio_channels = 1,
		.radio          = 0,
		.vbi            = 1,
		.tuner          = 1,
		.tuner_type     = TUNER_PHILIPS_NTSC_M,
		.x_offset       = -1,
		.y_offset       = -1,
		.model_string   = "Hauppauge WinTv-USB",
	},
};
const int usbvision_device_data_size = ARRAY_SIZE(usbvision_device_data);

/* Supported Devices */

struct usb_device_id usbvision_table[] = {
	{ USB_DEVICE(0x0a6f, 0x0400), .driver_info = XANBOO },
	{ USB_DEVICE(0x050d, 0x0106), .driver_info = BELKIN_VIDEOBUS_II },
	{ USB_DEVICE(0x050d, 0x0207), .driver_info = BELKIN_VIDEOBUS },
	{ USB_DEVICE(0x050d, 0x0208), .driver_info = BELKIN_USB_VIDEOBUS_II },
	{ USB_DEVICE(0x0571, 0x0002), .driver_info = ECHOFX_INTERVIEW_LITE },
	{ USB_DEVICE(0x0573, 0x0003), .driver_info = USBGEAR_USBG_V1 },
	{ USB_DEVICE(0x0573, 0x0400), .driver_info = D_LINK_V100 },
	{ USB_DEVICE(0x0573, 0x2000), .driver_info = X10_USB_CAMERA },
	{ USB_DEVICE(0x0573, 0x2d00), .driver_info = HPG_WINTV_LIVE_PAL_BG },
	{ USB_DEVICE(0x0573, 0x2d01), .driver_info = HPG_WINTV_LIVE_PRO_NTSC_MN },
	{ USB_DEVICE(0x0573, 0x2101), .driver_info = ZORAN_PMD_NOGATECH },
	{ USB_DEVICE(0x0573, 0x4100), .driver_info = NOGATECH_USB_TV_NTSC_FM },
	{ USB_DEVICE(0x0573, 0x4110), .driver_info = PNY_USB_TV_NTSC_FM },
	{ USB_DEVICE(0x0573, 0x4450), .driver_info = PV_PLAYTV_USB_PRO_PAL_FM },
	{ USB_DEVICE(0x0573, 0x4550), .driver_info = ZT_721 },
	{ USB_DEVICE(0x0573, 0x4d00), .driver_info = HPG_WINTV_NTSC_MN },
	{ USB_DEVICE(0x0573, 0x4d01), .driver_info = HPG_WINTV_PAL_BG },
	{ USB_DEVICE(0x0573, 0x4d02), .driver_info = HPG_WINTV_PAL_I },
	{ USB_DEVICE(0x0573, 0x4d03), .driver_info = HPG_WINTV_PAL_SECAM_L },
	{ USB_DEVICE(0x0573, 0x4d04), .driver_info = HPG_WINTV_PAL_D_K },
	{ USB_DEVICE(0x0573, 0x4d10), .driver_info = HPG_WINTV_NTSC_FM },
	{ USB_DEVICE(0x0573, 0x4d11), .driver_info = HPG_WINTV_PAL_BG_FM },
	{ USB_DEVICE(0x0573, 0x4d12), .driver_info = HPG_WINTV_PAL_I_FM },
	{ USB_DEVICE(0x0573, 0x4d14), .driver_info = HPG_WINTV_PAL_D_K_FM },
	{ USB_DEVICE(0x0573, 0x4d2a), .driver_info = HPG_WINTV_PRO_NTSC_MN },
	{ USB_DEVICE(0x0573, 0x4d2b), .driver_info = HPG_WINTV_PRO_NTSC_MN_V2 },
	{ USB_DEVICE(0x0573, 0x4d2c), .driver_info = HPG_WINTV_PRO_PAL },
	{ USB_DEVICE(0x0573, 0x4d20), .driver_info = HPG_WINTV_PRO_NTSC_MN_V3 },
	{ USB_DEVICE(0x0573, 0x4d21), .driver_info = HPG_WINTV_PRO_PAL_BG },
	{ USB_DEVICE(0x0573, 0x4d22), .driver_info = HPG_WINTV_PRO_PAL_I },
	{ USB_DEVICE(0x0573, 0x4d23), .driver_info = HPG_WINTV_PRO_PAL_SECAM_L },
	{ USB_DEVICE(0x0573, 0x4d24), .driver_info = HPG_WINTV_PRO_PAL_D_K },
	{ USB_DEVICE(0x0573, 0x4d25), .driver_info = HPG_WINTV_PRO_PAL_SECAM },
	{ USB_DEVICE(0x0573, 0x4d26), .driver_info = HPG_WINTV_PRO_PAL_SECAM_V2 },
	{ USB_DEVICE(0x0573, 0x4d27), .driver_info = HPG_WINTV_PRO_PAL_BG_V2 },
	{ USB_DEVICE(0x0573, 0x4d28), .driver_info = HPG_WINTV_PRO_PAL_BG_D_K },
	{ USB_DEVICE(0x0573, 0x4d29), .driver_info = HPG_WINTV_PRO_PAL_I_D_K },
	{ USB_DEVICE(0x0573, 0x4d30), .driver_info = HPG_WINTV_PRO_NTSC_MN_FM },
	{ USB_DEVICE(0x0573, 0x4d31), .driver_info = HPG_WINTV_PRO_PAL_BG_FM },
	{ USB_DEVICE(0x0573, 0x4d32), .driver_info = HPG_WINTV_PRO_PAL_I_FM },
	{ USB_DEVICE(0x0573, 0x4d34), .driver_info = HPG_WINTV_PRO_PAL_D_K_FM },
	{ USB_DEVICE(0x0573, 0x4d35), .driver_info = HPG_WINTV_PRO_TEMIC_PAL_FM },
	{ USB_DEVICE(0x0573, 0x4d36), .driver_info = HPG_WINTV_PRO_TEMIC_PAL_BG_FM },
	{ USB_DEVICE(0x0573, 0x4d37), .driver_info = HPG_WINTV_PRO_PAL_FM },
	{ USB_DEVICE(0x0573, 0x4d38), .driver_info = HPG_WINTV_PRO_NTSC_MN_FM_V2 },
	{ USB_DEVICE(0x0768, 0x0006), .driver_info = CAMTEL_TVB330 },
	{ USB_DEVICE(0x07d0, 0x0001), .driver_info = DIGITAL_VIDEO_CREATOR_I },
	{ USB_DEVICE(0x07d0, 0x0002), .driver_info = GLOBAL_VILLAGE_GV_007_NTSC },
	{ USB_DEVICE(0x07d0, 0x0003), .driver_info = DAZZLE_DVC_50_REV_1_NTSC },
	{ USB_DEVICE(0x07d0, 0x0004), .driver_info = DAZZLE_DVC_80_REV_1_PAL },
	{ USB_DEVICE(0x07d0, 0x0005), .driver_info = DAZZLE_DVC_90_REV_1_SECAM },
	{ USB_DEVICE(0x07f8, 0x9104), .driver_info = ESKAPE_LABS_MYTV2GO },
	{ USB_DEVICE(0x2304, 0x010d), .driver_info = PINNA_PCTV_USB_PAL },
	{ USB_DEVICE(0x2304, 0x0109), .driver_info = PINNA_PCTV_USB_SECAM },
	{ USB_DEVICE(0x2304, 0x0110), .driver_info = PINNA_PCTV_USB_PAL_FM },
	{ USB_DEVICE(0x2304, 0x0111), .driver_info = MIRO_PCTV_USB },
	{ USB_DEVICE(0x2304, 0x0112), .driver_info = PINNA_PCTV_USB_NTSC_FM },
	{ USB_DEVICE(0x2304, 0x0113),
	  .driver_info = PINNA_PCTV_USB_NTSC_FM_V3 },
	{ USB_DEVICE(0x2304, 0x0210), .driver_info = PINNA_PCTV_USB_PAL_FM_V2 },
	{ USB_DEVICE(0x2304, 0x0212), .driver_info = PINNA_PCTV_USB_NTSC_FM_V2 },
	{ USB_DEVICE(0x2304, 0x0214), .driver_info = PINNA_PCTV_USB_PAL_FM_V3 },
	{ USB_DEVICE(0x2304, 0x0300), .driver_info = PINNA_LINX_VD_IN_CAB_NTSC },
	{ USB_DEVICE(0x2304, 0x0301), .driver_info = PINNA_LINX_VD_IN_CAB_PAL },
	{ USB_DEVICE(0x2304, 0x0419), .driver_info = PINNA_PCTV_BUNGEE_PAL_FM },
	{ USB_DEVICE(0x2400, 0x4200), .driver_info = HPG_WINTV },
	{ },    /* terminate list */
};

MODULE_DEVICE_TABLE(usb, usbvision_table);
