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