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