usbvision-cards.c revision 7a707b89202f905bd9f9fbde326933c59a81214c
1/*
2 *  usbvision-cards.c
3 *  usbvision cards definition file
4 *
5 * Copyright (c) 1999-2005 Joerg Heckenbach <joerg@heckenbach-aw.de>
6 *
7 * This module is part of usbvision driver project.
8 * Updates to driver completed by Dwaine P. Garden
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version.
14 *
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 * GNU General Public License for more details.
19 *
20 * You should have received a copy of the GNU General Public License
21 * along with this program; if not, write to the Free Software
22 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
23 */
24
25
26#include <linux/list.h>
27#include <linux/module.h>
28#include <media/v4l2-dev.h>
29#include <media/tuner.h>
30#include "usbvision.h"
31#include "usbvision-cards.h"
32
33/* Supported Devices: A table for usbvision.c*/
34struct usbvision_device_data_st  usbvision_device_data[] = {
35	[XANBOO] = {
36		.interface      = -1,
37		.codec          = CODEC_SAA7113,
38		.video_channels = 4,
39		.video_norm     = V4L2_STD_NTSC,
40		.audio_channels = 1,
41		.radio          = 0,
42		.vbi            = 1,
43		.tuner          = 0,
44		.tuner_type     = 0,
45		.x_offset       = -1,
46		.y_offset       = -1,
47		.model_string   = "Xanboo",
48	},
49	[BELKIN_VIDEOBUS_II] = {
50		.interface      = -1,
51		.codec          = CODEC_SAA7113,
52		.video_channels = 2,
53		.video_norm     = V4L2_STD_PAL,
54		.audio_channels = 1,
55		.radio          = 0,
56		.vbi            = 1,
57		.tuner          = 0,
58		.tuner_type     = 0,
59		.x_offset       = 0,
60		.y_offset       = 3,
61		.dvi_yuv_override = 1,
62		.dvi_yuv        = 7,
63		.model_string   = "Belkin USB VideoBus II Adapter",
64	},
65	[BELKIN_VIDEOBUS] = {
66		.interface      = -1,
67		.codec          = CODEC_SAA7111,
68		.video_channels = 2,
69		.video_norm     = V4L2_STD_NTSC,
70		.audio_channels = 1,
71		.radio          = 0,
72		.vbi            = 1,
73		.tuner          = 0,
74		.tuner_type     = 0,
75		.x_offset       = -1,
76		.y_offset       = -1,
77		.model_string   = "Belkin Components USB VideoBus",
78	},
79	[BELKIN_USB_VIDEOBUS_II] = {
80		.interface      = -1,
81		.codec          = CODEC_SAA7113,
82		.video_channels = 2,
83		.video_norm     = V4L2_STD_NTSC,
84		.audio_channels = 1,
85		.radio          = 0,
86		.vbi            = 1,
87		.tuner          = 0,
88		.tuner_type     = 0,
89		.x_offset       = 0,
90		.y_offset       = 3,
91		.dvi_yuv_override = 1,
92		.dvi_yuv        = 7,
93		.model_string   = "Belkin USB VideoBus II",
94	},
95	[ECHOFX_INTERVIEW_LITE] = {
96		.interface      = 0,
97		.codec          = CODEC_SAA7111,
98		.video_channels = 2,
99		.video_norm     = V4L2_STD_PAL,
100		.audio_channels = 0,
101		.radio          = 0,
102		.vbi            = 1,
103		.tuner          = 0,
104		.tuner_type     = 0,
105		.x_offset       = -1,
106		.y_offset       = -1,
107		.dvi_yuv_override = 1,
108		.dvi_yuv        = 7,
109		.model_string   = "echoFX InterView Lite",
110	},
111	[USBGEAR_USBG_V1] = {
112		.interface      = -1,
113		.codec          = CODEC_SAA7111,
114		.video_channels = 2,
115		.video_norm     = V4L2_STD_NTSC,
116		.audio_channels = 1,
117		.radio          = 0,
118		.vbi            = 1,
119		.tuner          = 0,
120		.tuner_type     = 0,
121		.x_offset       = -1,
122		.y_offset       = -1,
123		.model_string   = "USBGear USBG-V1 resp. HAMA USB",
124	},
125	[D_LINK_V100] = {
126		.interface      = -1,
127		.codec          = CODEC_SAA7113,
128		.video_channels = 4,
129		.video_norm     = V4L2_STD_NTSC,
130		.audio_channels = 0,
131		.radio          = 0,
132		.vbi            = 1,
133		.tuner          = 0,
134		.tuner_type     = 0,
135		.x_offset       = 0,
136		.y_offset       = 3,
137		.dvi_yuv_override = 1,
138		.dvi_yuv        = 7,
139		.model_string   = "D-Link V100",
140	},
141	[X10_USB_CAMERA] = {
142		.interface      = -1,
143		.codec          = CODEC_SAA7111,
144		.video_channels = 2,
145		.video_norm     = V4L2_STD_NTSC,
146		.audio_channels = 1,
147		.radio          = 0,
148		.vbi            = 1,
149		.tuner          = 0,
150		.tuner_type     = 0,
151		.x_offset       = -1,
152		.y_offset       = -1,
153		.model_string   = "X10 USB Camera",
154	},
155	[HPG_WINTV_LIVE_PAL_BG] = {
156		.interface      = -1,
157		.codec          = CODEC_SAA7111,
158		.video_channels = 2,
159		.video_norm     = V4L2_STD_PAL,
160		.audio_channels = 1,
161		.radio          = 0,
162		.vbi            = 1,
163		.tuner          = 0,
164		.tuner_type     = 0,
165		.x_offset       = -1,
166		.y_offset       = 3,
167		.dvi_yuv_override = 1,
168		.dvi_yuv        = 7,
169		.model_string   = "Hauppauge WinTV USB Live (PAL B/G)",
170	},
171	[HPG_WINTV_LIVE_PRO_NTSC_MN] = {
172		.interface      = -1,
173		.codec          = CODEC_SAA7113,
174		.video_channels = 2,
175		.video_norm     = V4L2_STD_NTSC,
176		.audio_channels = 0,
177		.radio          = 0,
178		.vbi            = 1,
179		.tuner          = 0,
180		.tuner_type     = 0,
181		.x_offset       = 0,
182		.y_offset       = 3,
183		.dvi_yuv_override = 1,
184		.dvi_yuv        = 7,
185		.model_string   = "Hauppauge WinTV USB Live Pro (NTSC M/N)",
186	},
187	[ZORAN_PMD_NOGATECH] = {
188		.interface      = -1,
189		.codec          = CODEC_SAA7113,
190		.video_channels = 2,
191		.video_norm     = V4L2_STD_PAL,
192		.audio_channels = 2,
193		.radio          = 0,
194		.vbi            = 1,
195		.tuner          = 0,
196		.tuner_type     = 0,
197		.x_offset       = 0,
198		.y_offset       = 3,
199		.dvi_yuv_override = 1,
200		.dvi_yuv        = 7,
201		.model_string   = "Zoran Co. PMD (Nogatech) AV-grabber Manhattan",
202	},
203	[NOGATECH_USB_TV_NTSC_FM] = {
204		.interface      = -1,
205		.codec          = CODEC_SAA7111,
206		.video_channels = 3,
207		.video_norm     = V4L2_STD_NTSC,
208		.audio_channels = 1,
209		.radio          = 1,
210		.vbi            = 1,
211		.tuner          = 1,
212		.tuner_type     = TUNER_PHILIPS_NTSC_M,
213		.x_offset       = -1,
214		.y_offset       = 20,
215		.model_string   = "Nogatech USB-TV (NTSC) FM",
216	},
217	[PNY_USB_TV_NTSC_FM] = {
218		.interface      = -1,
219		.codec          = CODEC_SAA7111,
220		.video_channels = 3,
221		.video_norm     = V4L2_STD_NTSC,
222		.audio_channels = 1,
223		.radio          = 1,
224		.vbi            = 1,
225		.tuner          = 1,
226		.tuner_type     = TUNER_PHILIPS_NTSC_M,
227		.x_offset       = -1,
228		.y_offset       = 20,
229		.model_string   = "PNY USB-TV (NTSC) FM",
230	},
231	[PV_PLAYTV_USB_PRO_PAL_FM] = {
232		.interface      = 0,
233		.codec          = CODEC_SAA7113,
234		.video_channels = 3,
235		.video_norm     = V4L2_STD_PAL,
236		.audio_channels = 1,
237		.radio          = 1,
238		.vbi            = 1,
239		.tuner          = 1,
240		.tuner_type     = TUNER_PHILIPS_PAL,
241		.x_offset       = 0,
242		.y_offset       = 3,
243		.dvi_yuv_override = 1,
244		.dvi_yuv        = 7,
245		.model_string   = "PixelView PlayTv-USB PRO (PAL) FM",
246	},
247	[ZT_721] = {
248		.interface      = 0,
249		.codec          = CODEC_SAA7113,
250		.video_channels = 3,
251		.video_norm     = V4L2_STD_PAL,
252		.audio_channels = 1,
253		.radio          = 1,
254		.vbi            = 1,
255		.tuner          = 1,
256		.tuner_type     = TUNER_PHILIPS_PAL,
257		.x_offset       = 0,
258		.y_offset       = 3,
259		.dvi_yuv_override = 1,
260		.dvi_yuv        = 7,
261		.model_string   = "ZTV ZT-721 2.4GHz USB A/V Receiver",
262	},
263	[HPG_WINTV_NTSC_MN] = {
264		.interface      = -1,
265		.codec          = CODEC_SAA7111,
266		.video_channels = 3,
267		.video_norm     = V4L2_STD_NTSC,
268		.audio_channels = 1,
269		.radio          = 0,
270		.vbi            = 1,
271		.tuner          = 1,
272		.tuner_type     = TUNER_PHILIPS_NTSC_M,
273		.x_offset       = -1,
274		.y_offset       = 20,
275		.model_string   = "Hauppauge WinTV USB (NTSC M/N)",
276	},
277	[HPG_WINTV_PAL_BG] = {
278		.interface      = -1,
279		.codec          = CODEC_SAA7111,
280		.video_channels = 3,
281		.video_norm     = V4L2_STD_PAL,
282		.audio_channels = 1,
283		.radio          = 0,
284		.vbi            = 1,
285		.tuner          = 1,
286		.tuner_type     = TUNER_PHILIPS_PAL,
287		.x_offset       = -1,
288		.y_offset       = -1,
289		.model_string   = "Hauppauge WinTV USB (PAL B/G)",
290	},
291	[HPG_WINTV_PAL_I] = {
292		.interface      = -1,
293		.codec          = CODEC_SAA7111,
294		.video_channels = 3,
295		.video_norm     = V4L2_STD_PAL,
296		.audio_channels = 1,
297		.radio          = 0,
298		.vbi            = 1,
299		.tuner          = 1,
300		.tuner_type     = TUNER_PHILIPS_PAL,
301		.x_offset       = -1,
302		.y_offset       = -1,
303		.model_string   = "Hauppauge WinTV USB (PAL I)",
304	},
305	[HPG_WINTV_PAL_SECAM_L] = {
306		.interface      = -1,
307		.codec          = CODEC_SAA7111,
308		.video_channels = 3,
309		.video_norm     = V4L2_STD_SECAM,
310		.audio_channels = 1,
311		.radio          = 0,
312		.vbi            = 1,
313		.tuner          = 1,
314		.tuner_type     = TUNER_PHILIPS_SECAM,
315		.x_offset       = 0x80,
316		.y_offset       = 0x16,
317		.model_string   = "Hauppauge WinTV USB (PAL/SECAM L)",
318	},
319	[HPG_WINTV_PAL_D_K] = {
320		.interface      = -1,
321		.codec          = CODEC_SAA7111,
322		.video_channels = 3,
323		.video_norm     = V4L2_STD_PAL,
324		.audio_channels = 1,
325		.radio          = 0,
326		.vbi            = 1,
327		.tuner          = 1,
328		.tuner_type     = TUNER_PHILIPS_PAL,
329		.x_offset       = -1,
330		.y_offset       = -1,
331		.model_string   = "Hauppauge WinTV USB (PAL D/K)",
332	},
333	[HPG_WINTV_NTSC_FM] = {
334		.interface      = -1,
335		.codec          = CODEC_SAA7111,
336		.video_channels = 3,
337		.video_norm     = V4L2_STD_NTSC,
338		.audio_channels = 1,
339		.radio          = 1,
340		.vbi            = 1,
341		.tuner          = 1,
342		.tuner_type     = TUNER_PHILIPS_NTSC_M,
343		.x_offset       = -1,
344		.y_offset       = -1,
345		.model_string   = "Hauppauge WinTV USB (NTSC FM)",
346	},
347	[HPG_WINTV_PAL_BG_FM] = {
348		.interface      = -1,
349		.codec          = CODEC_SAA7111,
350		.video_channels = 3,
351		.video_norm     = V4L2_STD_PAL,
352		.audio_channels = 1,
353		.radio          = 1,
354		.vbi            = 1,
355		.tuner          = 1,
356		.tuner_type     = TUNER_PHILIPS_PAL,
357		.x_offset       = -1,
358		.y_offset       = -1,
359		.model_string   = "Hauppauge WinTV USB (PAL B/G FM)",
360	},
361	[HPG_WINTV_PAL_I_FM] = {
362		.interface      = -1,
363		.codec          = CODEC_SAA7111,
364		.video_channels = 3,
365		.video_norm     = V4L2_STD_PAL,
366		.audio_channels = 1,
367		.radio          = 1,
368		.vbi            = 1,
369		.tuner          = 1,
370		.tuner_type     = TUNER_PHILIPS_PAL,
371		.x_offset       = -1,
372		.y_offset       = -1,
373		.model_string   = "Hauppauge WinTV USB (PAL I FM)",
374	},
375	[HPG_WINTV_PAL_D_K_FM] = {
376		.interface      = -1,
377		.codec          = CODEC_SAA7111,
378		.video_channels = 3,
379		.video_norm     = V4L2_STD_PAL,
380		.audio_channels = 1,
381		.radio          = 1,
382		.vbi            = 1,
383		.tuner          = 1,
384		.tuner_type     = TUNER_PHILIPS_PAL,
385		.x_offset       = -1,
386		.y_offset       = -1,
387		.model_string   = "Hauppauge WinTV USB (PAL D/K FM)",
388	},
389	[HPG_WINTV_PRO_NTSC_MN] = {
390		.interface      = 0,
391		.codec          = CODEC_SAA7113,
392		.video_channels = 3,
393		.video_norm     = V4L2_STD_NTSC,
394		.audio_channels = 1,
395		.radio          = 1,
396		.vbi            = 1,
397		.tuner          = 1,
398		.tuner_type     = TUNER_MICROTUNE_4049FM5,
399		.x_offset       = 0,
400		.y_offset       = 3,
401		.dvi_yuv_override = 1,
402		.dvi_yuv        = 7,
403		.model_string   = "Hauppauge WinTV USB Pro (NTSC M/N)",
404	},
405	[HPG_WINTV_PRO_NTSC_MN_V2] = {
406		.interface      = 0,
407		.codec          = CODEC_SAA7113,
408		.video_channels = 3,
409		.video_norm     = V4L2_STD_NTSC,
410		.audio_channels = 1,
411		.radio          = 1,
412		.vbi            = 1,
413		.tuner          = 1,
414		.tuner_type     = TUNER_MICROTUNE_4049FM5,
415		.x_offset       = 0,
416		.y_offset       = 3,
417		.dvi_yuv_override = 1,
418		.dvi_yuv        = 7,
419		.model_string   = "Hauppauge WinTV USB Pro (NTSC M/N) V2",
420	},
421	[HPG_WINTV_PRO_PAL] = {
422		.interface      = 0,
423		.codec          = CODEC_SAA7113,
424		.video_channels = 3,
425		.video_norm     = V4L2_STD_PAL,
426		.audio_channels = 1,
427		.radio          = 0,
428		.vbi            = 1,
429		.tuner          = 1,
430		.tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,
431		.x_offset       = 0,
432		.y_offset       = 3,
433		.dvi_yuv_override = 1,
434		.dvi_yuv        = 7,
435		.model_string   = "Hauppauge WinTV USB Pro (PAL/SECAM B/G/I/D/K/L)",
436	},
437	[HPG_WINTV_PRO_NTSC_MN_V3] = {
438		.interface      = 0,
439		.codec          = CODEC_SAA7113,
440		.video_channels = 3,
441		.video_norm     = V4L2_STD_NTSC,
442		.audio_channels = 1,
443		.radio          = 1,
444		.vbi            = 1,
445		.tuner          = 1,
446		.tuner_type     = TUNER_PHILIPS_NTSC_M,
447		.x_offset       = 0,
448		.y_offset       = 3,
449		.dvi_yuv_override = 1,
450		.dvi_yuv        = 7,
451		.model_string   = "Hauppauge WinTV USB Pro (NTSC M/N) V3",
452	},
453	[HPG_WINTV_PRO_PAL_BG] = {
454		.interface      = 0,
455		.codec          = CODEC_SAA7113,
456		.video_channels = 3,
457		.video_norm     = V4L2_STD_PAL,
458		.audio_channels = 1,
459		.radio          = 0,
460		.vbi            = 1,
461		.tuner          = 1,
462		.tuner_type     = TUNER_PHILIPS_PAL,
463		.x_offset       = 0,
464		.y_offset       = 3,
465		.dvi_yuv_override = 1,
466		.dvi_yuv        = 7,
467		.model_string   = "Hauppauge WinTV USB Pro (PAL B/G)",
468	},
469	[HPG_WINTV_PRO_PAL_I] = {
470		.interface      = 0,
471		.codec          = CODEC_SAA7113,
472		.video_channels = 3,
473		.video_norm     = V4L2_STD_PAL,
474		.audio_channels = 1,
475		.radio          = 0,
476		.vbi            = 1,
477		.tuner          = 1,
478		.tuner_type     = TUNER_PHILIPS_PAL,
479		.x_offset       = 0,
480		.y_offset       = 3,
481		.dvi_yuv_override = 1,
482		.dvi_yuv        = 7,
483		.model_string   = "Hauppauge WinTV USB Pro (PAL I)",
484	},
485	[HPG_WINTV_PRO_PAL_SECAM_L] = {
486		.interface      = -1,
487		.codec          = CODEC_SAA7113,
488		.video_channels = 3,
489		.video_norm     = V4L2_STD_SECAM,
490		.audio_channels = 1,
491		.radio          = 0,
492		.vbi            = 1,
493		.tuner          = 1,
494		.tuner_type     = TUNER_PHILIPS_SECAM,
495		.x_offset       = 0,
496		.y_offset       = 3,
497		.dvi_yuv_override = 1,
498		.dvi_yuv        = 7,
499		.model_string   = "Hauppauge WinTV USB Pro (PAL/SECAM L)",
500	},
501	[HPG_WINTV_PRO_PAL_D_K] = {
502		.interface      = -1,
503		.codec          = CODEC_SAA7113,
504		.video_channels = 3,
505		.video_norm     = V4L2_STD_PAL,
506		.audio_channels = 1,
507		.radio          = 0,
508		.vbi            = 1,
509		.tuner          = 1,
510		.tuner_type     = TUNER_PHILIPS_PAL,
511		.x_offset       = 0,
512		.y_offset       = 3,
513		.dvi_yuv_override = 1,
514		.dvi_yuv        = 7,
515		.model_string   = "Hauppauge WinTV USB Pro (PAL D/K)",
516	},
517	[HPG_WINTV_PRO_PAL_SECAM] = {
518		.interface      = -1,
519		.codec          = CODEC_SAA7113,
520		.video_channels = 3,
521		.video_norm     = V4L2_STD_SECAM,
522		.audio_channels = 1,
523		.radio          = 0,
524		.vbi            = 1,
525		.tuner          = 1,
526		.tuner_type     = TUNER_PHILIPS_SECAM,
527		.x_offset       = 0,
528		.y_offset       = 3,
529		.dvi_yuv_override = 1,
530		.dvi_yuv        = 7,
531		.model_string   = "Hauppauge WinTV USB Pro (PAL/SECAM BGDK/I/L)",
532	},
533	[HPG_WINTV_PRO_PAL_SECAM_V2] = {
534		.interface      = -1,
535		.codec          = CODEC_SAA7113,
536		.video_channels = 3,
537		.video_norm     = V4L2_STD_SECAM,
538		.audio_channels = 1,
539		.radio          = 0,
540		.vbi            = 1,
541		.tuner          = 1,
542		.tuner_type     = TUNER_PHILIPS_SECAM,
543		.x_offset       = 0,
544		.y_offset       = 3,
545		.dvi_yuv_override = 1,
546		.dvi_yuv        = 7,
547		.model_string   = "Hauppauge WinTV USB Pro (PAL/SECAM BGDK/I/L) V2",
548	},
549	[HPG_WINTV_PRO_PAL_BG_V2] = {
550		.interface      = -1,
551		.codec          = CODEC_SAA7113,
552		.video_channels = 3,
553		.video_norm     = V4L2_STD_PAL,
554		.audio_channels = 1,
555		.radio          = 0,
556		.vbi            = 1,
557		.tuner          = 1,
558		.tuner_type     = TUNER_ALPS_TSBE1_PAL,
559		.x_offset       = 0,
560		.y_offset       = 3,
561		.dvi_yuv_override = 1,
562		.dvi_yuv        = 7,
563		.model_string   = "Hauppauge WinTV USB Pro (PAL B/G) V2",
564	},
565	[HPG_WINTV_PRO_PAL_BG_D_K] = {
566		.interface      = -1,
567		.codec          = CODEC_SAA7113,
568		.video_channels = 3,
569		.video_norm     = V4L2_STD_PAL,
570		.audio_channels = 1,
571		.radio          = 0,
572		.vbi            = 1,
573		.tuner          = 1,
574		.tuner_type     = TUNER_ALPS_TSBE1_PAL,
575		.x_offset       = 0,
576		.y_offset       = 3,
577		.dvi_yuv_override = 1,
578		.dvi_yuv        = 7,
579		.model_string   = "Hauppauge WinTV USB Pro (PAL B/G,D/K)",
580	},
581	[HPG_WINTV_PRO_PAL_I_D_K] = {
582		.interface      = -1,
583		.codec          = CODEC_SAA7113,
584		.video_channels = 3,
585		.video_norm     = V4L2_STD_PAL,
586		.audio_channels = 1,
587		.radio          = 0,
588		.vbi            = 1,
589		.tuner          = 1,
590		.tuner_type     = TUNER_LG_PAL_NEW_TAPC,
591		.x_offset       = 0,
592		.y_offset       = 3,
593		.dvi_yuv_override = 1,
594		.dvi_yuv        = 7,
595		.model_string   = "Hauppauge WinTV USB Pro (PAL I,D/K)",
596	},
597	[HPG_WINTV_PRO_NTSC_MN_FM] = {
598		.interface      = -1,
599		.codec          = CODEC_SAA7113,
600		.video_channels = 3,
601		.video_norm     = V4L2_STD_NTSC,
602		.audio_channels = 1,
603		.radio          = 1,
604		.vbi            = 1,
605		.tuner          = 1,
606		.tuner_type     = TUNER_PHILIPS_NTSC_M,
607		.x_offset       = 0,
608		.y_offset       = 3,
609		.dvi_yuv_override = 1,
610		.dvi_yuv        = 7,
611		.model_string   = "Hauppauge WinTV USB Pro (NTSC M/N FM)",
612	},
613	[HPG_WINTV_PRO_PAL_BG_FM] = {
614		.interface      = 0,
615		.codec          = CODEC_SAA7113,
616		.video_channels = 3,
617		.video_norm     = V4L2_STD_PAL,
618		.audio_channels = 1,
619		.radio          = 1,
620		.vbi            = 1,
621		.tuner          = 1,
622		.tuner_type     = TUNER_PHILIPS_PAL,
623		.x_offset       = 0,
624		.y_offset       = 3,
625		.dvi_yuv_override = 1,
626		.dvi_yuv        = 7,
627		.model_string   = "Hauppauge WinTV USB Pro (PAL B/G FM)",
628	},
629	[HPG_WINTV_PRO_PAL_I_FM] = {
630		.interface      = 0,
631		.codec          = CODEC_SAA7113,
632		.video_channels = 3,
633		.video_norm     = V4L2_STD_PAL,
634		.audio_channels = 1,
635		.radio          = 1,
636		.vbi            = 1,
637		.tuner          = 1,
638		.tuner_type     = TUNER_PHILIPS_PAL,
639		.x_offset       = 0,
640		.y_offset       = 3,
641		.dvi_yuv_override = 1,
642		.dvi_yuv        = 7,
643		.model_string   = "Hauppauge WinTV USB Pro (PAL I FM)",
644	},
645	[HPG_WINTV_PRO_PAL_D_K_FM] = {
646		.interface      = 0,
647		.codec          = CODEC_SAA7113,
648		.video_channels = 3,
649		.video_norm     = V4L2_STD_PAL,
650		.audio_channels = 1,
651		.radio          = 1,
652		.vbi            = 1,
653		.tuner          = 1,
654		.tuner_type     = TUNER_PHILIPS_PAL,
655		.x_offset       = 0,
656		.y_offset       = 3,
657		.dvi_yuv_override = 1,
658		.dvi_yuv        = 7,
659		.model_string   = "Hauppauge WinTV USB Pro (PAL D/K FM)",
660	},
661	[HPG_WINTV_PRO_TEMIC_PAL_FM] = {
662		.interface      = 0,
663		.codec          = CODEC_SAA7113,
664		.video_channels = 3,
665		.video_norm     = V4L2_STD_PAL,
666		.audio_channels = 1,
667		.radio          = 1,
668		.vbi            = 1,
669		.tuner          = 1,
670		.tuner_type     = TUNER_MICROTUNE_4049FM5,
671		.x_offset       = 0,
672		.y_offset       = 3,
673		.dvi_yuv_override = 1,
674		.dvi_yuv        = 7,
675		.model_string   = "Hauppauge WinTV USB Pro (Temic PAL/SECAM B/G/I/D/K/L FM)",
676	},
677	[HPG_WINTV_PRO_TEMIC_PAL_BG_FM] = {
678		.interface      = 0,
679		.codec          = CODEC_SAA7113,
680		.video_channels = 3,
681		.video_norm     = V4L2_STD_PAL,
682		.audio_channels = 1,
683		.radio          = 1,
684		.vbi            = 1,
685		.tuner          = 1,
686		.tuner_type     = TUNER_MICROTUNE_4049FM5,
687		.x_offset       = 0,
688		.y_offset       = 3,
689		.dvi_yuv_override = 1,
690		.dvi_yuv        = 7,
691		.model_string   = "Hauppauge WinTV USB Pro (Temic PAL B/G FM)",
692	},
693	[HPG_WINTV_PRO_PAL_FM] = {
694		.interface      = 0,
695		.codec          = CODEC_SAA7113,
696		.video_channels = 3,
697		.video_norm     = V4L2_STD_PAL,
698		.audio_channels = 1,
699		.radio          = 1,
700		.vbi            = 1,
701		.tuner          = 1,
702		.tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,
703		.x_offset       = 0,
704		.y_offset       = 3,
705		.dvi_yuv_override = 1,
706		.dvi_yuv        = 7,
707		.model_string   = "Hauppauge WinTV USB Pro (PAL/SECAM B/G/I/D/K/L FM)",
708	},
709	[HPG_WINTV_PRO_NTSC_MN_FM_V2] = {
710		.interface      = 0,
711		.codec          = CODEC_SAA7113,
712		.video_channels = 3,
713		.video_norm     = V4L2_STD_NTSC,
714		.audio_channels = 1,
715		.radio          = 1,
716		.vbi            = 1,
717		.tuner          = 1,
718		.tuner_type     = TUNER_PHILIPS_NTSC_M,
719		.x_offset       = 0,
720		.y_offset       = 3,
721		.dvi_yuv_override = 1,
722		.dvi_yuv        = 7,
723		.model_string   = "Hauppauge WinTV USB Pro (NTSC M/N FM) V2",
724	},
725	[CAMTEL_TVB330] = {
726		.interface      = -1,
727		.codec          = CODEC_SAA7113,
728		.video_channels = 3,
729		.video_norm     = V4L2_STD_NTSC,
730		.audio_channels = 1,
731		.radio          = 1,
732		.vbi            = 1,
733		.tuner          = 1,
734		.tuner_type     = TUNER_PHILIPS_NTSC_M,
735		.x_offset       = 5,
736		.y_offset       = 5,
737		.model_string   = "Camtel Technology USB TV Genie Pro FM Model TVB330",
738	},
739	[DIGITAL_VIDEO_CREATOR_I] = {
740		.interface      = -1,
741		.codec          = CODEC_SAA7113,
742		.video_channels = 2,
743		.video_norm     = V4L2_STD_PAL,
744		.audio_channels = 0,
745		.radio          = 0,
746		.vbi            = 1,
747		.tuner          = 0,
748		.tuner_type     = 0,
749		.x_offset       = 0,
750		.y_offset       = 3,
751		.dvi_yuv_override = 1,
752		.dvi_yuv        = 7,
753		.model_string   = "Digital Video Creator I",
754	},
755	[GLOBAL_VILLAGE_GV_007_NTSC] = {
756		.interface      = -1,
757		.codec          = CODEC_SAA7111,
758		.video_channels = 2,
759		.video_norm     = V4L2_STD_NTSC,
760		.audio_channels = 0,
761		.radio          = 0,
762		.vbi            = 1,
763		.tuner          = 0,
764		.tuner_type     = 0,
765		.x_offset       = 82,
766		.y_offset       = 20,
767		.dvi_yuv_override = 1,
768		.dvi_yuv        = 7,
769		.model_string   = "Global Village GV-007 (NTSC)",
770	},
771	[DAZZLE_DVC_50_REV_1_NTSC] = {
772		.interface      = 0,
773		.codec          = CODEC_SAA7113,
774		.video_channels = 2,
775		.video_norm     = V4L2_STD_NTSC,
776		.audio_channels = 0,
777		.radio          = 0,
778		.vbi            = 1,
779		.tuner          = 0,
780		.tuner_type     = 0,
781		.x_offset       = 0,
782		.y_offset       = 3,
783		.dvi_yuv_override = 1,
784		.dvi_yuv        = 7,
785		.model_string   = "Dazzle Fusion Model DVC-50 Rev 1 (NTSC)",
786	},
787	[DAZZLE_DVC_80_REV_1_PAL] = {
788		.interface      = 0,
789		.codec          = CODEC_SAA7113,
790		.video_channels = 2,
791		.video_norm     = V4L2_STD_PAL,
792		.audio_channels = 0,
793		.radio          = 0,
794		.vbi            = 1,
795		.tuner          = 0,
796		.tuner_type     = 0,
797		.x_offset       = 0,
798		.y_offset       = 3,
799		.dvi_yuv_override = 1,
800		.dvi_yuv        = 7,
801		.model_string   = "Dazzle Fusion Model DVC-80 Rev 1 (PAL)",
802	},
803	[DAZZLE_DVC_90_REV_1_SECAM] = {
804		.interface      = 0,
805		.codec          = CODEC_SAA7113,
806		.video_channels = 2,
807		.video_norm     = V4L2_STD_SECAM,
808		.audio_channels = 0,
809		.radio          = 0,
810		.vbi            = 1,
811		.tuner          = 0,
812		.tuner_type     = 0,
813		.x_offset       = 0,
814		.y_offset       = 3,
815		.dvi_yuv_override = 1,
816		.dvi_yuv        = 7,
817		.model_string   = "Dazzle Fusion Model DVC-90 Rev 1 (SECAM)",
818	},
819	[ESKAPE_LABS_MYTV2GO] = {
820		.interface      = 0,
821		.codec          = CODEC_SAA7113,
822		.video_channels = 2,
823		.video_norm     = V4L2_STD_PAL,
824		.audio_channels = 1,
825		.radio          = 1,
826		.vbi            = 1,
827		.tuner          = 1,
828		.tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,
829		.x_offset       = 0,
830		.y_offset       = 3,
831		.dvi_yuv_override = 1,
832		.dvi_yuv        = 7,
833		.model_string   = "Eskape Labs MyTV2Go",
834	},
835	[PINNA_PCTV_USB_PAL] = {
836		.interface      = -1,
837		.codec          = CODEC_SAA7111,
838		.video_channels = 3,
839		.video_norm     = V4L2_STD_PAL,
840		.audio_channels = 1,
841		.radio          = 0,
842		.vbi            = 0,
843		.tuner          = 1,
844		.tuner_type     = TUNER_TEMIC_4066FY5_PAL_I,
845		.x_offset       = -1,
846		.y_offset       = -1,
847		.model_string   = "Pinnacle Studio PCTV USB (PAL)",
848	},
849	[PINNA_PCTV_USB_SECAM] = {
850		.interface      = -1,
851		.codec          = CODEC_SAA7111,
852		.video_channels = 3,
853		.video_norm     = V4L2_STD_SECAM,
854		.audio_channels = 1,
855		.radio          = 0,
856		.vbi            = 1,
857		.tuner          = 1,
858		.tuner_type     = TUNER_PHILIPS_SECAM,
859		.x_offset       = -1,
860		.y_offset       = -1,
861		.model_string   = "Pinnacle Studio PCTV USB (SECAM)",
862	},
863	[PINNA_PCTV_USB_PAL_FM] = {
864		.interface      = -1,
865		.codec          = CODEC_SAA7111,
866		.video_channels = 3,
867		.video_norm     = V4L2_STD_PAL,
868		.audio_channels = 1,
869		.radio          = 1,
870		.vbi            = 1,
871		.tuner          = 1,
872		.tuner_type     = TUNER_PHILIPS_PAL,
873		.x_offset       = 128,
874		.y_offset       = 23,
875		.model_string   = "Pinnacle Studio PCTV USB (PAL) FM",
876	},
877	[MIRO_PCTV_USB] = {
878		.interface      = -1,
879		.codec          = CODEC_SAA7111,
880		.video_channels = 3,
881		.video_norm     = V4L2_STD_PAL,
882		.audio_channels = 1,
883		.radio          = 0,
884		.vbi            = 1,
885		.tuner          = 1,
886		.tuner_type     = TUNER_PHILIPS_PAL,
887		.x_offset       = -1,
888		.y_offset       = -1,
889		.model_string   = "Miro PCTV USB",
890	},
891	[PINNA_PCTV_USB_NTSC_FM] = {
892		.interface      = -1,
893		.codec          = CODEC_SAA7111,
894		.video_channels = 3,
895		.video_norm     = V4L2_STD_NTSC,
896		.audio_channels = 1,
897		.radio          = 1,
898		.vbi            = 1,
899		.tuner          = 1,
900		.tuner_type     = TUNER_PHILIPS_NTSC_M,
901		.x_offset       = -1,
902		.y_offset       = -1,
903		.model_string   = "Pinnacle Studio PCTV USB (NTSC) FM",
904	},
905	[PINNA_PCTV_USB_NTSC_FM_V3] = {
906		.interface      = -1,
907		.codec          = CODEC_SAA7111,
908		.video_channels = 3,
909		.video_norm     = V4L2_STD_NTSC,
910		.audio_channels = 1,
911		.radio          = 1,
912		.vbi            = 1,
913		.tuner          = 1,
914		.tuner_type     = TUNER_PHILIPS_NTSC_M,
915		.x_offset       = -1,
916		.y_offset       = -1,
917		.model_string   = "Pinnacle Studio PCTV USB (NTSC) FM V3",
918	},
919	[PINNA_PCTV_USB_PAL_FM_V2] = {
920		.interface      = -1,
921		.codec          = CODEC_SAA7113,
922		.video_channels = 3,
923		.video_norm     = V4L2_STD_PAL,
924		.audio_channels = 1,
925		.radio          = 1,
926		.vbi            = 1,
927		.tuner          = 1,
928		.tuner_type     = TUNER_TEMIC_4009FR5_PAL,
929		.x_offset       = 0,
930		.y_offset       = 3,
931		.dvi_yuv_override = 1,
932		.dvi_yuv        = 7,
933		.model_string   = "Pinnacle Studio PCTV USB (PAL) FM V2",
934	},
935	[PINNA_PCTV_USB_NTSC_FM_V2] = {
936		.interface      = -1,
937		.codec          = CODEC_SAA7111,
938		.video_channels = 3,
939		.video_norm     = V4L2_STD_NTSC,
940		.audio_channels = 1,
941		.radio          = 1,
942		.vbi            = 1,
943		.tuner          = 1,
944		.tuner_type     = TUNER_TEMIC_4039FR5_NTSC,
945		.x_offset       = 0,
946		.y_offset       = 3,
947		.dvi_yuv_override = 1,
948		.dvi_yuv        = 7,
949		.model_string   = "Pinnacle Studio PCTV USB (NTSC) FM V2",
950	},
951	[PINNA_PCTV_USB_PAL_FM_V3] = {
952		.interface      = -1,
953		.codec          = CODEC_SAA7113,
954		.video_channels = 3,
955		.video_norm     = V4L2_STD_PAL,
956		.audio_channels = 1,
957		.radio          = 1,
958		.vbi            = 1,
959		.tuner          = 1,
960		.tuner_type     = TUNER_TEMIC_4009FR5_PAL,
961		.x_offset       = 0,
962		.y_offset       = 3,
963		.dvi_yuv_override = 1,
964		.dvi_yuv        = 7,
965		.model_string   = "Pinnacle Studio PCTV USB (PAL) FM V3",
966	},
967	[PINNA_LINX_VD_IN_CAB_NTSC] = {
968		.interface      = -1,
969		.codec          = CODEC_SAA7113,
970		.video_channels = 2,
971		.video_norm     = V4L2_STD_NTSC,
972		.audio_channels = 1,
973		.radio          = 0,
974		.vbi            = 1,
975		.tuner          = 0,
976		.tuner_type     = 0,
977		.x_offset       = 0,
978		.y_offset       = 3,
979		.dvi_yuv_override = 1,
980		.dvi_yuv        = 7,
981		.model_string   = "Pinnacle Studio Linx Video input cable (NTSC)",
982	},
983	[PINNA_LINX_VD_IN_CAB_PAL] = {
984		.interface      = -1,
985		.codec          = CODEC_SAA7113,
986		.video_channels = 2,
987		.video_norm     = V4L2_STD_PAL,
988		.audio_channels = 1,
989		.radio          = 0,
990		.vbi            = 1,
991		.tuner          = 0,
992		.tuner_type     = 0,
993		.x_offset       = 0,
994		.y_offset       = 3,
995		.dvi_yuv_override = 1,
996		.dvi_yuv        = 7,
997		.model_string   = "Pinnacle Studio Linx Video input cable (PAL)",
998	},
999	[PINNA_PCTV_BUNGEE_PAL_FM] = {
1000		.interface      = -1,
1001		.codec          = CODEC_SAA7113,
1002		.video_channels = 3,
1003		.video_norm     = V4L2_STD_PAL,
1004		.audio_channels = 1,
1005		.radio          = 1,
1006		.vbi            = 1,
1007		.tuner          = 1,
1008		.tuner_type     = TUNER_TEMIC_4009FR5_PAL,
1009		.x_offset       = 0,
1010		.y_offset       = 3,
1011		.dvi_yuv_override = 1,
1012		.dvi_yuv        = 7,
1013		.model_string   = "Pinnacle PCTV Bungee USB (PAL) FM",
1014	},
1015	[HPG_WINTV] = {
1016		.interface      = -1,
1017		.codec          = CODEC_SAA7111,
1018		.video_channels = 3,
1019		.video_norm     = V4L2_STD_NTSC,
1020		.audio_channels = 1,
1021		.radio          = 0,
1022		.vbi            = 1,
1023		.tuner          = 1,
1024		.tuner_type     = TUNER_PHILIPS_NTSC_M,
1025		.x_offset       = -1,
1026		.y_offset       = -1,
1027		.model_string   = "Hauppauge WinTv-USB",
1028	},
1029	[MICROCAM_NTSC] = {
1030		.interface      = -1,
1031		.codec          = CODEC_WEBCAM,
1032		.video_channels = 1,
1033		.video_norm     = V4L2_STD_NTSC,
1034		.audio_channels = 0,
1035		.radio          = 0,
1036		.vbi            = 0,
1037		.tuner          = 0,
1038		.tuner_type     = 0,
1039		.x_offset       = 71,
1040		.y_offset       = 15,
1041		.model_string   = "Nogatech USB MicroCam NTSC (NV3000N)",
1042	},
1043	[MICROCAM_PAL] = {
1044		.interface      = -1,
1045		.codec          = CODEC_WEBCAM,
1046		.video_channels = 1,
1047		.video_norm     = V4L2_STD_PAL,
1048		.audio_channels = 0,
1049		.radio          = 0,
1050		.vbi            = 0,
1051		.tuner          = 0,
1052		.tuner_type     = 0,
1053		.x_offset       = 71,
1054		.y_offset       = 18,
1055		.model_string   = "Nogatech USB MicroCam PAL (NV3001P)",
1056	},
1057};
1058const int usbvision_device_data_size = ARRAY_SIZE(usbvision_device_data);
1059
1060/* Supported Devices */
1061
1062struct usb_device_id usbvision_table[] = {
1063	{ USB_DEVICE(0x0a6f, 0x0400), .driver_info = XANBOO },
1064	{ USB_DEVICE(0x050d, 0x0106), .driver_info = BELKIN_VIDEOBUS_II },
1065	{ USB_DEVICE(0x050d, 0x0207), .driver_info = BELKIN_VIDEOBUS },
1066	{ USB_DEVICE(0x050d, 0x0208), .driver_info = BELKIN_USB_VIDEOBUS_II },
1067	{ USB_DEVICE(0x0571, 0x0002), .driver_info = ECHOFX_INTERVIEW_LITE },
1068	{ USB_DEVICE(0x0573, 0x0003), .driver_info = USBGEAR_USBG_V1 },
1069	{ USB_DEVICE(0x0573, 0x0400), .driver_info = D_LINK_V100 },
1070	{ USB_DEVICE(0x0573, 0x2000), .driver_info = X10_USB_CAMERA },
1071	{ USB_DEVICE(0x0573, 0x2d00), .driver_info = HPG_WINTV_LIVE_PAL_BG },
1072	{ USB_DEVICE(0x0573, 0x2d01), .driver_info = HPG_WINTV_LIVE_PRO_NTSC_MN },
1073	{ USB_DEVICE(0x0573, 0x2101), .driver_info = ZORAN_PMD_NOGATECH },
1074	{ USB_DEVICE(0x0573, 0x3000), .driver_info = MICROCAM_NTSC },
1075	{ USB_DEVICE(0x0573, 0x3001), .driver_info = MICROCAM_PAL },
1076	{ USB_DEVICE(0x0573, 0x4100), .driver_info = NOGATECH_USB_TV_NTSC_FM },
1077	{ USB_DEVICE(0x0573, 0x4110), .driver_info = PNY_USB_TV_NTSC_FM },
1078	{ USB_DEVICE(0x0573, 0x4450), .driver_info = PV_PLAYTV_USB_PRO_PAL_FM },
1079	{ USB_DEVICE(0x0573, 0x4550), .driver_info = ZT_721 },
1080	{ USB_DEVICE(0x0573, 0x4d00), .driver_info = HPG_WINTV_NTSC_MN },
1081	{ USB_DEVICE(0x0573, 0x4d01), .driver_info = HPG_WINTV_PAL_BG },
1082	{ USB_DEVICE(0x0573, 0x4d02), .driver_info = HPG_WINTV_PAL_I },
1083	{ USB_DEVICE(0x0573, 0x4d03), .driver_info = HPG_WINTV_PAL_SECAM_L },
1084	{ USB_DEVICE(0x0573, 0x4d04), .driver_info = HPG_WINTV_PAL_D_K },
1085	{ USB_DEVICE(0x0573, 0x4d10), .driver_info = HPG_WINTV_NTSC_FM },
1086	{ USB_DEVICE(0x0573, 0x4d11), .driver_info = HPG_WINTV_PAL_BG_FM },
1087	{ USB_DEVICE(0x0573, 0x4d12), .driver_info = HPG_WINTV_PAL_I_FM },
1088	{ USB_DEVICE(0x0573, 0x4d14), .driver_info = HPG_WINTV_PAL_D_K_FM },
1089	{ USB_DEVICE(0x0573, 0x4d2a), .driver_info = HPG_WINTV_PRO_NTSC_MN },
1090	{ USB_DEVICE(0x0573, 0x4d2b), .driver_info = HPG_WINTV_PRO_NTSC_MN_V2 },
1091	{ USB_DEVICE(0x0573, 0x4d2c), .driver_info = HPG_WINTV_PRO_PAL },
1092	{ USB_DEVICE(0x0573, 0x4d20), .driver_info = HPG_WINTV_PRO_NTSC_MN_V3 },
1093	{ USB_DEVICE(0x0573, 0x4d21), .driver_info = HPG_WINTV_PRO_PAL_BG },
1094	{ USB_DEVICE(0x0573, 0x4d22), .driver_info = HPG_WINTV_PRO_PAL_I },
1095	{ USB_DEVICE(0x0573, 0x4d23), .driver_info = HPG_WINTV_PRO_PAL_SECAM_L },
1096	{ USB_DEVICE(0x0573, 0x4d24), .driver_info = HPG_WINTV_PRO_PAL_D_K },
1097	{ USB_DEVICE(0x0573, 0x4d25), .driver_info = HPG_WINTV_PRO_PAL_SECAM },
1098	{ USB_DEVICE(0x0573, 0x4d26), .driver_info = HPG_WINTV_PRO_PAL_SECAM_V2 },
1099	{ USB_DEVICE(0x0573, 0x4d27), .driver_info = HPG_WINTV_PRO_PAL_BG_V2 },
1100	{ USB_DEVICE(0x0573, 0x4d28), .driver_info = HPG_WINTV_PRO_PAL_BG_D_K },
1101	{ USB_DEVICE(0x0573, 0x4d29), .driver_info = HPG_WINTV_PRO_PAL_I_D_K },
1102	{ USB_DEVICE(0x0573, 0x4d30), .driver_info = HPG_WINTV_PRO_NTSC_MN_FM },
1103	{ USB_DEVICE(0x0573, 0x4d31), .driver_info = HPG_WINTV_PRO_PAL_BG_FM },
1104	{ USB_DEVICE(0x0573, 0x4d32), .driver_info = HPG_WINTV_PRO_PAL_I_FM },
1105	{ USB_DEVICE(0x0573, 0x4d34), .driver_info = HPG_WINTV_PRO_PAL_D_K_FM },
1106	{ USB_DEVICE(0x0573, 0x4d35), .driver_info = HPG_WINTV_PRO_TEMIC_PAL_FM },
1107	{ USB_DEVICE(0x0573, 0x4d36), .driver_info = HPG_WINTV_PRO_TEMIC_PAL_BG_FM },
1108	{ USB_DEVICE(0x0573, 0x4d37), .driver_info = HPG_WINTV_PRO_PAL_FM },
1109	{ USB_DEVICE(0x0573, 0x4d38), .driver_info = HPG_WINTV_PRO_NTSC_MN_FM_V2 },
1110	{ USB_DEVICE(0x0768, 0x0006), .driver_info = CAMTEL_TVB330 },
1111	{ USB_DEVICE(0x07d0, 0x0001), .driver_info = DIGITAL_VIDEO_CREATOR_I },
1112	{ USB_DEVICE(0x07d0, 0x0002), .driver_info = GLOBAL_VILLAGE_GV_007_NTSC },
1113	{ USB_DEVICE(0x07d0, 0x0003), .driver_info = DAZZLE_DVC_50_REV_1_NTSC },
1114	{ USB_DEVICE(0x07d0, 0x0004), .driver_info = DAZZLE_DVC_80_REV_1_PAL },
1115	{ USB_DEVICE(0x07d0, 0x0005), .driver_info = DAZZLE_DVC_90_REV_1_SECAM },
1116	{ USB_DEVICE(0x07f8, 0x9104), .driver_info = ESKAPE_LABS_MYTV2GO },
1117	{ USB_DEVICE(0x2304, 0x010d), .driver_info = PINNA_PCTV_USB_PAL },
1118	{ USB_DEVICE(0x2304, 0x0109), .driver_info = PINNA_PCTV_USB_SECAM },
1119	{ USB_DEVICE(0x2304, 0x0110), .driver_info = PINNA_PCTV_USB_PAL_FM },
1120	{ USB_DEVICE(0x2304, 0x0111), .driver_info = MIRO_PCTV_USB },
1121	{ USB_DEVICE(0x2304, 0x0112), .driver_info = PINNA_PCTV_USB_NTSC_FM },
1122	{ USB_DEVICE(0x2304, 0x0113), .driver_info = PINNA_PCTV_USB_NTSC_FM_V3 },
1123	{ USB_DEVICE(0x2304, 0x0210), .driver_info = PINNA_PCTV_USB_PAL_FM_V2 },
1124	{ USB_DEVICE(0x2304, 0x0212), .driver_info = PINNA_PCTV_USB_NTSC_FM_V2 },
1125	{ USB_DEVICE(0x2304, 0x0214), .driver_info = PINNA_PCTV_USB_PAL_FM_V3 },
1126	{ USB_DEVICE(0x2304, 0x0300), .driver_info = PINNA_LINX_VD_IN_CAB_NTSC },
1127	{ USB_DEVICE(0x2304, 0x0301), .driver_info = PINNA_LINX_VD_IN_CAB_PAL },
1128	{ USB_DEVICE(0x2304, 0x0419), .driver_info = PINNA_PCTV_BUNGEE_PAL_FM },
1129	{ USB_DEVICE(0x2400, 0x4200), .driver_info = HPG_WINTV },
1130	{ },    /* terminate list */
1131};
1132
1133MODULE_DEVICE_TABLE(usb, usbvision_table);
1134