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