Merge branch 'for-linus-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/mason...
[sfrench/cifs-2.6.git] / drivers / media / usb / usbvision / usbvision-cards.c
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);