diff options
author | Thierry MERLE <thierry.merle@free.fr> | 2007-04-17 01:28:32 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-04-27 14:45:43 -0400 |
commit | ec709bb801a98dcac0a95c060c431eda73e31587 (patch) | |
tree | 83aaa3623a248a884a4b54bf636998229a5eb3f6 | |
parent | 25f30389dd84dcaf54d7d76fdd84e85bec206db6 (diff) |
V4L/DVB (5530): Usbvision: remove CustomDevice facility
usbvision has a module parameter that ables the user to add a new USB
entry at driver load. This functionality is useless by experience
(adding statically the entry is easy).
Furthermore, the USB_DEVICE(0xfff0, 0xfff0) USB entry caused
usbvision_probe to be called for all unclaimed devices.
Signed-off-by: Thierry MERLE <thierry.merle@free.fr>
Acked-by: Dwaine Garden <DwaineGarden@rogers.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r-- | Documentation/video4linux/CARDLIST.usbvision | 129 | ||||
-rw-r--r-- | drivers/media/video/usbvision/usbvision-cards.c | 15 | ||||
-rw-r--r-- | drivers/media/video/usbvision/usbvision-cards.h | 129 | ||||
-rw-r--r-- | drivers/media/video/usbvision/usbvision-video.c | 143 |
4 files changed, 128 insertions, 288 deletions
diff --git a/Documentation/video4linux/CARDLIST.usbvision b/Documentation/video4linux/CARDLIST.usbvision index ab110b7b5b9e..3d6850ef0245 100644 --- a/Documentation/video4linux/CARDLIST.usbvision +++ b/Documentation/video4linux/CARDLIST.usbvision | |||
@@ -1,65 +1,64 @@ | |||
1 | 0 -> Custom Dummy USBVision Device [fff0:fff0] | 1 | 0 -> Xanboo [0a6f:0400] |
2 | 1 -> Xanboo [0a6f:0400] | 2 | 1 -> Belkin USB VideoBus II Adapter [050d:0106] |
3 | 2 -> Belkin USB VideoBus II Adapter [050d:0106] | 3 | 2 -> Belkin Components USB VideoBus [050d:0207] |
4 | 3 -> Belkin Components USB VideoBus [050d:0207] | 4 | 3 -> Belkin USB VideoBus II [050d:0208] |
5 | 4 -> Belkin USB VideoBus II [050d:0208] | 5 | 4 -> echoFX InterView Lite [0571:0002] |
6 | 5 -> echoFX InterView Lite [0571:0002] | 6 | 5 -> USBGear USBG-V1 resp. HAMA USB [0573:0003] |
7 | 6 -> USBGear USBG-V1 resp. HAMA USB [0573:0003] | 7 | 6 -> D-Link V100 [0573:0400] |
8 | 7 -> D-Link V100 [0573:0400] | 8 | 7 -> X10 USB Camera [0573:2000] |
9 | 8 -> X10 USB Camera [0573:2000] | 9 | 8 -> Hauppauge WinTV USB Live (PAL B/G) [0573:2d00] |
10 | 9 -> Hauppauge WinTV USB Live (PAL B/G) [0573:2d00] | 10 | 9 -> Hauppauge WinTV USB Live Pro (NTSC M/N) [0573:2d01] |
11 | 10 -> Hauppauge WinTV USB Live Pro (NTSC M/N) [0573:2d01] | 11 | 10 -> Zoran Co. PMD (Nogatech) AV-grabber Manhattan [0573:2101] |
12 | 11 -> Zoran Co. PMD (Nogatech) AV-grabber Manhattan [0573:2101] | 12 | 11 -> Nogatech USB-TV (NTSC) FM [0573:4100] |
13 | 12 -> Nogatech USB-TV (NTSC) FM [0573:4100] | 13 | 12 -> PNY USB-TV (NTSC) FM [0573:4110] |
14 | 13 -> PNY USB-TV (NTSC) FM [0573:4110] | 14 | 13 -> PixelView PlayTv-USB PRO (PAL) FM [0573:4450] |
15 | 14 -> PixelView PlayTv-USB PRO (PAL) FM [0573:4450] | 15 | 14 -> ZTV ZT-721 2.4GHz USB A/V Receiver [0573:4550] |
16 | 15 -> ZTV ZT-721 2.4GHz USB A/V Receiver [0573:4550] | 16 | 15 -> Hauppauge WinTV USB (NTSC M/N) [0573:4d00] |
17 | 16 -> Hauppauge WinTV USB (NTSC M/N) [0573:4d00] | 17 | 16 -> Hauppauge WinTV USB (PAL B/G) [0573:4d01] |
18 | 17 -> Hauppauge WinTV USB (PAL B/G) [0573:4d01] | 18 | 17 -> Hauppauge WinTV USB (PAL I) [0573:4d02] |
19 | 18 -> Hauppauge WinTV USB (PAL I) [0573:4d02] | 19 | 18 -> Hauppauge WinTV USB (PAL/SECAM L) [0573:4d03] |
20 | 19 -> Hauppauge WinTV USB (PAL/SECAM L) [0573:4d03] | 20 | 19 -> Hauppauge WinTV USB (PAL D/K) [0573:4d04] |
21 | 20 -> Hauppauge WinTV USB (PAL D/K) [0573:4d04] | 21 | 20 -> Hauppauge WinTV USB (NTSC FM) [0573:4d10] |
22 | 21 -> Hauppauge WinTV USB (NTSC FM) [0573:4d10] | 22 | 21 -> Hauppauge WinTV USB (PAL B/G FM) [0573:4d11] |
23 | 22 -> Hauppauge WinTV USB (PAL B/G FM) [0573:4d11] | 23 | 22 -> Hauppauge WinTV USB (PAL I FM) [0573:4d12] |
24 | 23 -> Hauppauge WinTV USB (PAL I FM) [0573:4d12] | 24 | 23 -> Hauppauge WinTV USB (PAL D/K FM) [0573:4d14] |
25 | 24 -> Hauppauge WinTV USB (PAL D/K FM) [0573:4d14] | 25 | 24 -> Hauppauge WinTV USB Pro (NTSC M/N) [0573:4d2a] |
26 | 25 -> Hauppauge WinTV USB Pro (NTSC M/N) [0573:4d2a] | 26 | 25 -> Hauppauge WinTV USB Pro (NTSC M/N) V2 [0573:4d2b] |
27 | 26 -> Hauppauge WinTV USB Pro (NTSC M/N) V2 [0573:4d2b] | 27 | 26 -> Hauppauge WinTV USB Pro (PAL/SECAM B/G/I/D/K/L) [0573:4d2c] |
28 | 27 -> Hauppauge WinTV USB Pro (PAL/SECAM B/G/I/D/K/L) [0573:4d2c] | 28 | 27 -> Hauppauge WinTV USB Pro (NTSC M/N) V3 [0573:4d20] |
29 | 28 -> Hauppauge WinTV USB Pro (NTSC M/N) V3 [0573:4d20] | 29 | 28 -> Hauppauge WinTV USB Pro (PAL B/G) [0573:4d21] |
30 | 29 -> Hauppauge WinTV USB Pro (PAL B/G) [0573:4d21] | 30 | 29 -> Hauppauge WinTV USB Pro (PAL I) [0573:4d22] |
31 | 30 -> Hauppauge WinTV USB Pro (PAL I) [0573:4d22] | 31 | 30 -> Hauppauge WinTV USB Pro (PAL/SECAM L) [0573:4d23] |
32 | 31 -> Hauppauge WinTV USB Pro (PAL/SECAM L) [0573:4d23] | 32 | 31 -> Hauppauge WinTV USB Pro (PAL D/K) [0573:4d24] |
33 | 32 -> Hauppauge WinTV USB Pro (PAL D/K) [0573:4d24] | 33 | 32 -> Hauppauge WinTV USB Pro (PAL/SECAM BGDK/I/L) [0573:4d25] |
34 | 33 -> Hauppauge WinTV USB Pro (PAL/SECAM BGDK/I/L) [0573:4d25] | 34 | 33 -> Hauppauge WinTV USB Pro (PAL/SECAM BGDK/I/L) V2 [0573:4d26] |
35 | 34 -> Hauppauge WinTV USB Pro (PAL/SECAM BGDK/I/L) V2 [0573:4d26] | 35 | 34 -> Hauppauge WinTV USB Pro (PAL B/G) V2 [0573:4d27] |
36 | 35 -> Hauppauge WinTV USB Pro (PAL B/G) V2 [0573:4d27] | 36 | 35 -> Hauppauge WinTV USB Pro (PAL B/G,D/K) [0573:4d28] |
37 | 36 -> Hauppauge WinTV USB Pro (PAL B/G,D/K) [0573:4d28] | 37 | 36 -> Hauppauge WinTV USB Pro (PAL I,D/K) [0573:4d29] |
38 | 37 -> Hauppauge WinTV USB Pro (PAL I,D/K) [0573:4d29] | 38 | 37 -> Hauppauge WinTV USB Pro (NTSC M/N FM) [0573:4d30] |
39 | 38 -> Hauppauge WinTV USB Pro (NTSC M/N FM) [0573:4d30] | 39 | 38 -> Hauppauge WinTV USB Pro (PAL B/G FM) [0573:4d31] |
40 | 39 -> Hauppauge WinTV USB Pro (PAL B/G FM) [0573:4d31] | 40 | 39 -> Hauppauge WinTV USB Pro (PAL I FM) [0573:4d32] |
41 | 40 -> Hauppauge WinTV USB Pro (PAL I FM) [0573:4d32] | 41 | 40 -> Hauppauge WinTV USB Pro (PAL D/K FM) [0573:4d34] |
42 | 41 -> Hauppauge WinTV USB Pro (PAL D/K FM) [0573:4d34] | 42 | 41 -> Hauppauge WinTV USB Pro (Temic PAL/SECAM B/G/I/D/K/L FM) [0573:4d35] |
43 | 42 -> Hauppauge WinTV USB Pro (Temic PAL/SECAM B/G/I/D/K/L FM) [0573:4d35] | 43 | 42 -> Hauppauge WinTV USB Pro (Temic PAL B/G FM) [0573:4d36] |
44 | 43 -> Hauppauge WinTV USB Pro (Temic PAL B/G FM) [0573:4d36] | 44 | 43 -> Hauppauge WinTV USB Pro (PAL/SECAM B/G/I/D/K/L FM) [0573:4d37] |
45 | 44 -> Hauppauge WinTV USB Pro (PAL/SECAM B/G/I/D/K/L FM) [0573:4d37] | 45 | 44 -> Hauppauge WinTV USB Pro (NTSC M/N FM) V2 [0573:4d38] |
46 | 45 -> Hauppauge WinTV USB Pro (NTSC M/N FM) V2 [0573:4d38] | 46 | 45 -> Camtel Technology USB TV Genie Pro FM Model TVB330 [0768:0006] |
47 | 46 -> Camtel Technology USB TV Genie Pro FM Model TVB330 [0768:0006] | 47 | 46 -> Digital Video Creator I [07d0:0001] |
48 | 47 -> Digital Video Creator I [07d0:0001] | 48 | 47 -> Global Village GV-007 (NTSC) [07d0:0002] |
49 | 48 -> Global Village GV-007 (NTSC) [07d0:0002] | 49 | 48 -> Dazzle Fusion Model DVC-50 Rev 1 (NTSC) [07d0:0003] |
50 | 49 -> Dazzle Fusion Model DVC-50 Rev 1 (NTSC) [07d0:0003] | 50 | 49 -> Dazzle Fusion Model DVC-80 Rev 1 (PAL) [07d0:0004] |
51 | 50 -> Dazzle Fusion Model DVC-80 Rev 1 (PAL) [07d0:0004] | 51 | 50 -> Dazzle Fusion Model DVC-90 Rev 1 (SECAM) [07d0:0005] |
52 | 51 -> Dazzle Fusion Model DVC-90 Rev 1 (SECAM) [07d0:0005] | 52 | 51 -> Eskape Labs MyTV2Go [07f8:9104] |
53 | 52 -> Eskape Labs MyTV2Go [07f8:9104] | 53 | 52 -> Pinnacle Studio PCTV USB (PAL) [2304:010d] |
54 | 53 -> Pinnacle Studio PCTV USB (PAL) [2304:010d] | 54 | 53 -> Pinnacle Studio PCTV USB (SECAM) [2304:0109] |
55 | 54 -> Pinnacle Studio PCTV USB (SECAM) [2304:0109] | 55 | 54 -> Pinnacle Studio PCTV USB (PAL) FM [2304:0110] |
56 | 55 -> Pinnacle Studio PCTV USB (PAL) FM [2304:0110] | 56 | 55 -> Miro PCTV USB [2304:0111] |
57 | 56 -> Miro PCTV USB [2304:0111] | 57 | 56 -> Pinnacle Studio PCTV USB (NTSC) FM [2304:0112] |
58 | 57 -> Pinnacle Studio PCTV USB (NTSC) FM [2304:0112] | 58 | 57 -> Pinnacle Studio PCTV USB (PAL) FM V2 [2304:0210] |
59 | 58 -> Pinnacle Studio PCTV USB (PAL) FM V2 [2304:0210] | 59 | 58 -> Pinnacle Studio PCTV USB (NTSC) FM V2 [2304:0212] |
60 | 59 -> Pinnacle Studio PCTV USB (NTSC) FM V2 [2304:0212] | 60 | 59 -> Pinnacle Studio PCTV USB (PAL) FM V3 [2304:0214] |
61 | 60 -> Pinnacle Studio PCTV USB (PAL) FM V3 [2304:0214] | 61 | 60 -> Pinnacle Studio Linx Video input cable (NTSC) [2304:0300] |
62 | 61 -> Pinnacle Studio Linx Video input cable (NTSC) [2304:0300] | 62 | 61 -> Pinnacle Studio Linx Video input cable (PAL) [2304:0301] |
63 | 62 -> Pinnacle Studio Linx Video input cable (PAL) [2304:0301] | 63 | 62 -> Pinnacle PCTV Bungee USB (PAL) FM [2304:0419] |
64 | 63 -> Pinnacle PCTV Bungee USB (PAL) FM [2304:0419] | 64 | 63 -> Hauppauge WinTv-USB [2400:4200] |
65 | 64 -> Hauppauge WinTv-USB [2400:4200] | ||
diff --git a/drivers/media/video/usbvision/usbvision-cards.c b/drivers/media/video/usbvision/usbvision-cards.c index edee094cf15d..13f69fe6360d 100644 --- a/drivers/media/video/usbvision/usbvision-cards.c +++ b/drivers/media/video/usbvision/usbvision-cards.c | |||
@@ -32,20 +32,6 @@ | |||
32 | 32 | ||
33 | /* Supported Devices: A table for usbvision.c*/ | 33 | /* Supported Devices: A table for usbvision.c*/ |
34 | struct usbvision_device_data_st usbvision_device_data[] = { | 34 | struct usbvision_device_data_st usbvision_device_data[] = { |
35 | [DUMMY_DEVICE] = { | ||
36 | .Interface = -1, | ||
37 | .Codec = CODEC_SAA7111, | ||
38 | .VideoChannels = 3, | ||
39 | .VideoNorm = V4L2_STD_NTSC, | ||
40 | .AudioChannels = 1, | ||
41 | .Radio = 1, | ||
42 | .vbi = 1, | ||
43 | .Tuner = 1, | ||
44 | .TunerType = TUNER_PHILIPS_NTSC_M, | ||
45 | .X_Offset = -1, | ||
46 | .Y_Offset = -1, | ||
47 | .ModelString = "Custom Dummy USBVision Device", | ||
48 | }, | ||
49 | [XANBOO] = { | 35 | [XANBOO] = { |
50 | .Interface = -1, | 36 | .Interface = -1, |
51 | .Codec = CODEC_SAA7113, | 37 | .Codec = CODEC_SAA7113, |
@@ -1032,7 +1018,6 @@ const int usbvision_device_data_size=ARRAY_SIZE(usbvision_device_data); | |||
1032 | /* Supported Devices */ | 1018 | /* Supported Devices */ |
1033 | 1019 | ||
1034 | struct usb_device_id usbvision_table [] = { | 1020 | struct usb_device_id usbvision_table [] = { |
1035 | { USB_DEVICE(0xfff0, 0xfff0), .driver_info=DUMMY_DEVICE }, | ||
1036 | { USB_DEVICE(0x0a6f, 0x0400), .driver_info=XANBOO }, | 1021 | { USB_DEVICE(0x0a6f, 0x0400), .driver_info=XANBOO }, |
1037 | { USB_DEVICE(0x050d, 0x0106), .driver_info=BELKIN_VIDEOBUS_II }, | 1022 | { USB_DEVICE(0x050d, 0x0106), .driver_info=BELKIN_VIDEOBUS_II }, |
1038 | { USB_DEVICE(0x050d, 0x0207), .driver_info=BELKIN_VIDEOBUS }, | 1023 | { USB_DEVICE(0x050d, 0x0207), .driver_info=BELKIN_VIDEOBUS }, |
diff --git a/drivers/media/video/usbvision/usbvision-cards.h b/drivers/media/video/usbvision/usbvision-cards.h index 766accc927ef..512c5cee4145 100644 --- a/drivers/media/video/usbvision/usbvision-cards.h +++ b/drivers/media/video/usbvision/usbvision-cards.h | |||
@@ -1,67 +1,66 @@ | |||
1 | #define DUMMY_DEVICE 0 | 1 | #define XANBOO 0 |
2 | #define XANBOO 1 | 2 | #define BELKIN_VIDEOBUS_II 1 |
3 | #define BELKIN_VIDEOBUS_II 2 | 3 | #define BELKIN_VIDEOBUS 2 |
4 | #define BELKIN_VIDEOBUS 3 | 4 | #define BELKIN_USB_VIDEOBUS_II 3 |
5 | #define BELKIN_USB_VIDEOBUS_II 4 | 5 | #define ECHOFX_INTERVIEW_LITE 4 |
6 | #define ECHOFX_INTERVIEW_LITE 5 | 6 | #define USBGEAR_USBG_V1 5 |
7 | #define USBGEAR_USBG_V1 6 | 7 | #define D_LINK_V100 6 |
8 | #define D_LINK_V100 7 | 8 | #define X10_USB_CAMERA 7 |
9 | #define X10_USB_CAMERA 8 | 9 | #define HPG_WINTV_LIVE_PAL_BG 8 |
10 | #define HPG_WINTV_LIVE_PAL_BG 9 | 10 | #define HPG_WINTV_LIVE_PRO_NTSC_MN 9 |
11 | #define HPG_WINTV_LIVE_PRO_NTSC_MN 10 | 11 | #define ZORAN_PMD_NOGATECH 10 |
12 | #define ZORAN_PMD_NOGATECH 11 | 12 | #define NOGATECH_USB_TV_NTSC_FM 11 |
13 | #define NOGATECH_USB_TV_NTSC_FM 12 | 13 | #define PNY_USB_TV_NTSC_FM 12 |
14 | #define PNY_USB_TV_NTSC_FM 13 | 14 | #define PV_PLAYTV_USB_PRO_PAL_FM 13 |
15 | #define PV_PLAYTV_USB_PRO_PAL_FM 14 | 15 | #define ZT_721 14 |
16 | #define ZT_721 15 | 16 | #define HPG_WINTV_NTSC_MN 15 |
17 | #define HPG_WINTV_NTSC_MN 16 | 17 | #define HPG_WINTV_PAL_BG 16 |
18 | #define HPG_WINTV_PAL_BG 17 | 18 | #define HPG_WINTV_PAL_I 17 |
19 | #define HPG_WINTV_PAL_I 18 | 19 | #define HPG_WINTV_PAL_SECAM_L 18 |
20 | #define HPG_WINTV_PAL_SECAM_L 19 | 20 | #define HPG_WINTV_PAL_D_K 19 |
21 | #define HPG_WINTV_PAL_D_K 20 | 21 | #define HPG_WINTV_NTSC_FM 20 |
22 | #define HPG_WINTV_NTSC_FM 21 | 22 | #define HPG_WINTV_PAL_BG_FM 21 |
23 | #define HPG_WINTV_PAL_BG_FM 22 | 23 | #define HPG_WINTV_PAL_I_FM 22 |
24 | #define HPG_WINTV_PAL_I_FM 23 | 24 | #define HPG_WINTV_PAL_D_K_FM 23 |
25 | #define HPG_WINTV_PAL_D_K_FM 24 | 25 | #define HPG_WINTV_PRO_NTSC_MN 24 |
26 | #define HPG_WINTV_PRO_NTSC_MN 25 | 26 | #define HPG_WINTV_PRO_NTSC_MN_V2 25 |
27 | #define HPG_WINTV_PRO_NTSC_MN_V2 26 | 27 | #define HPG_WINTV_PRO_PAL 26 |
28 | #define HPG_WINTV_PRO_PAL 27 | 28 | #define HPG_WINTV_PRO_NTSC_MN_V3 27 |
29 | #define HPG_WINTV_PRO_NTSC_MN_V3 28 | 29 | #define HPG_WINTV_PRO_PAL_BG 28 |
30 | #define HPG_WINTV_PRO_PAL_BG 29 | 30 | #define HPG_WINTV_PRO_PAL_I 29 |
31 | #define HPG_WINTV_PRO_PAL_I 30 | 31 | #define HPG_WINTV_PRO_PAL_SECAM_L 30 |
32 | #define HPG_WINTV_PRO_PAL_SECAM_L 31 | 32 | #define HPG_WINTV_PRO_PAL_D_K 31 |
33 | #define HPG_WINTV_PRO_PAL_D_K 32 | 33 | #define HPG_WINTV_PRO_PAL_SECAM 32 |
34 | #define HPG_WINTV_PRO_PAL_SECAM 33 | 34 | #define HPG_WINTV_PRO_PAL_SECAM_V2 33 |
35 | #define HPG_WINTV_PRO_PAL_SECAM_V2 34 | 35 | #define HPG_WINTV_PRO_PAL_BG_V2 34 |
36 | #define HPG_WINTV_PRO_PAL_BG_V2 35 | 36 | #define HPG_WINTV_PRO_PAL_BG_D_K 35 |
37 | #define HPG_WINTV_PRO_PAL_BG_D_K 36 | 37 | #define HPG_WINTV_PRO_PAL_I_D_K 36 |
38 | #define HPG_WINTV_PRO_PAL_I_D_K 37 | 38 | #define HPG_WINTV_PRO_NTSC_MN_FM 37 |
39 | #define HPG_WINTV_PRO_NTSC_MN_FM 38 | 39 | #define HPG_WINTV_PRO_PAL_BG_FM 38 |
40 | #define HPG_WINTV_PRO_PAL_BG_FM 39 | 40 | #define HPG_WINTV_PRO_PAL_I_FM 39 |
41 | #define HPG_WINTV_PRO_PAL_I_FM 40 | 41 | #define HPG_WINTV_PRO_PAL_D_K_FM 40 |
42 | #define HPG_WINTV_PRO_PAL_D_K_FM 41 | 42 | #define HPG_WINTV_PRO_TEMIC_PAL_FM 41 |
43 | #define HPG_WINTV_PRO_TEMIC_PAL_FM 42 | 43 | #define HPG_WINTV_PRO_TEMIC_PAL_BG_FM 42 |
44 | #define HPG_WINTV_PRO_TEMIC_PAL_BG_FM 43 | 44 | #define HPG_WINTV_PRO_PAL_FM 43 |
45 | #define HPG_WINTV_PRO_PAL_FM 44 | 45 | #define HPG_WINTV_PRO_NTSC_MN_FM_V2 44 |
46 | #define HPG_WINTV_PRO_NTSC_MN_FM_V2 45 | 46 | #define CAMTEL_TVB330 45 |
47 | #define CAMTEL_TVB330 46 | 47 | #define DIGITAL_VIDEO_CREATOR_I 46 |
48 | #define DIGITAL_VIDEO_CREATOR_I 47 | 48 | #define GLOBAL_VILLAGE_GV_007_NTSC 47 |
49 | #define GLOBAL_VILLAGE_GV_007_NTSC 48 | 49 | #define DAZZLE_DVC_50_REV_1_NTSC 48 |
50 | #define DAZZLE_DVC_50_REV_1_NTSC 49 | 50 | #define DAZZLE_DVC_80_REV_1_PAL 49 |
51 | #define DAZZLE_DVC_80_REV_1_PAL 50 | 51 | #define DAZZLE_DVC_90_REV_1_SECAM 50 |
52 | #define DAZZLE_DVC_90_REV_1_SECAM 51 | 52 | #define ESKAPE_LABS_MYTV2GO 51 |
53 | #define ESKAPE_LABS_MYTV2GO 52 | 53 | #define PINNA_PCTV_USB_PAL 52 |
54 | #define PINNA_PCTV_USB_PAL 53 | 54 | #define PINNA_PCTV_USB_SECAM 53 |
55 | #define PINNA_PCTV_USB_SECAM 54 | 55 | #define PINNA_PCTV_USB_PAL_FM 54 |
56 | #define PINNA_PCTV_USB_PAL_FM 55 | 56 | #define MIRO_PCTV_USB 55 |
57 | #define MIRO_PCTV_USB 56 | 57 | #define PINNA_PCTV_USB_NTSC_FM 56 |
58 | #define PINNA_PCTV_USB_NTSC_FM 57 | 58 | #define PINNA_PCTV_USB_PAL_FM_V2 57 |
59 | #define PINNA_PCTV_USB_PAL_FM_V2 58 | 59 | #define PINNA_PCTV_USB_NTSC_FM_V2 58 |
60 | #define PINNA_PCTV_USB_NTSC_FM_V2 59 | 60 | #define PINNA_PCTV_USB_PAL_FM_V3 59 |
61 | #define PINNA_PCTV_USB_PAL_FM_V3 60 | 61 | #define PINNA_LINX_VD_IN_CAB_NTSC 60 |
62 | #define PINNA_LINX_VD_IN_CAB_NTSC 61 | 62 | #define PINNA_LINX_VD_IN_CAB_PAL 61 |
63 | #define PINNA_LINX_VD_IN_CAB_PAL 62 | 63 | #define PINNA_PCTV_BUNGEE_PAL_FM 62 |
64 | #define PINNA_PCTV_BUNGEE_PAL_FM 63 | 64 | #define HPG_WINTV 63 |
65 | #define HPG_WINTV 64 | ||
66 | 65 | ||
67 | extern const int usbvision_device_data_size; | 66 | extern const int usbvision_device_data_size; |
diff --git a/drivers/media/video/usbvision/usbvision-video.c b/drivers/media/video/usbvision/usbvision-video.c index d9e517d497f7..216704170a4c 100644 --- a/drivers/media/video/usbvision/usbvision-video.c +++ b/drivers/media/video/usbvision/usbvision-video.c | |||
@@ -151,7 +151,6 @@ static int PowerOnAtOpen = 1; // Set the default device to power on at startu | |||
151 | static int video_nr = -1; // Sequential Number of Video Device | 151 | static int video_nr = -1; // Sequential Number of Video Device |
152 | static int radio_nr = -1; // Sequential Number of Radio Device | 152 | static int radio_nr = -1; // Sequential Number of Radio Device |
153 | static int vbi_nr = -1; // Sequential Number of VBI Device | 153 | static int vbi_nr = -1; // Sequential Number of VBI Device |
154 | static char *CustomDevice=NULL; // Set as nothing.... | ||
155 | 154 | ||
156 | // Grab parameters for the device driver | 155 | // Grab parameters for the device driver |
157 | 156 | ||
@@ -162,7 +161,6 @@ module_param(PowerOnAtOpen, int, 0444); | |||
162 | module_param(video_nr, int, 0444); | 161 | module_param(video_nr, int, 0444); |
163 | module_param(radio_nr, int, 0444); | 162 | module_param(radio_nr, int, 0444); |
164 | module_param(vbi_nr, int, 0444); | 163 | module_param(vbi_nr, int, 0444); |
165 | module_param(CustomDevice, charp, 0444); | ||
166 | #else // Old Style | 164 | #else // Old Style |
167 | MODULE_PARAM(isocMode, "i"); | 165 | MODULE_PARAM(isocMode, "i"); |
168 | MODULE_PARM(video_debug, "i"); // Grab the Debug Mode of the device driver | 166 | MODULE_PARM(video_debug, "i"); // Grab the Debug Mode of the device driver |
@@ -172,7 +170,6 @@ MODULE_PARM(SwitchSVideoInput, "i"); // To help people with Black and White ou | |||
172 | MODULE_PARM(video_nr, "i"); // video_nr option allows to specify a certain /dev/videoX device (like /dev/video0 or /dev/video1 ...) | 170 | MODULE_PARM(video_nr, "i"); // video_nr option allows to specify a certain /dev/videoX device (like /dev/video0 or /dev/video1 ...) |
173 | MODULE_PARM(radio_nr, "i"); // radio_nr option allows to specify a certain /dev/radioX device (like /dev/radio0 or /dev/radio1 ...) | 171 | MODULE_PARM(radio_nr, "i"); // radio_nr option allows to specify a certain /dev/radioX device (like /dev/radio0 or /dev/radio1 ...) |
174 | MODULE_PARM(vbi_nr, "i"); // vbi_nr option allows to specify a certain /dev/vbiX device (like /dev/vbi0 or /dev/vbi1 ...) | 172 | MODULE_PARM(vbi_nr, "i"); // vbi_nr option allows to specify a certain /dev/vbiX device (like /dev/vbi0 or /dev/vbi1 ...) |
175 | MODULE_PARM(CustomDevice, "s"); // .... CustomDevice | ||
176 | #endif | 173 | #endif |
177 | 174 | ||
178 | MODULE_PARM_DESC(isocMode, " Set the default format for ISOC endpoint. Default: 0x60 (Compression On)"); | 175 | MODULE_PARM_DESC(isocMode, " Set the default format for ISOC endpoint. Default: 0x60 (Compression On)"); |
@@ -181,7 +178,6 @@ MODULE_PARM_DESC(PowerOnAtOpen, " Set the default device to power on when device | |||
181 | MODULE_PARM_DESC(video_nr, "Set video device number (/dev/videoX). Default: -1 (autodetect)"); | 178 | MODULE_PARM_DESC(video_nr, "Set video device number (/dev/videoX). Default: -1 (autodetect)"); |
182 | MODULE_PARM_DESC(radio_nr, "Set radio device number (/dev/radioX). Default: -1 (autodetect)"); | 179 | MODULE_PARM_DESC(radio_nr, "Set radio device number (/dev/radioX). Default: -1 (autodetect)"); |
183 | MODULE_PARM_DESC(vbi_nr, "Set vbi device number (/dev/vbiX). Default: -1 (autodetect)"); | 180 | MODULE_PARM_DESC(vbi_nr, "Set vbi device number (/dev/vbiX). Default: -1 (autodetect)"); |
184 | MODULE_PARM_DESC(CustomDevice, " Define the fine tuning parameters for the device. Default: null"); | ||
185 | 181 | ||
186 | 182 | ||
187 | // Misc stuff | 183 | // Misc stuff |
@@ -1944,143 +1940,6 @@ static struct usb_driver usbvision_driver = { | |||
1944 | }; | 1940 | }; |
1945 | 1941 | ||
1946 | /* | 1942 | /* |
1947 | * customdevice_process() | ||
1948 | * | ||
1949 | * This procedure preprocesses CustomDevice parameter if any | ||
1950 | * | ||
1951 | */ | ||
1952 | static void customdevice_process(void) | ||
1953 | { | ||
1954 | unsigned int id_vend,id_prod,radio,tuner; | ||
1955 | |||
1956 | usbvision_device_data[0]=usbvision_device_data[1]; | ||
1957 | usbvision_table[0]=usbvision_table[1]; | ||
1958 | |||
1959 | if(CustomDevice) | ||
1960 | { | ||
1961 | char *parse=CustomDevice; | ||
1962 | int tmp; | ||
1963 | |||
1964 | PDEBUG(DBG_PROBE, "CustomDevice=%s", CustomDevice); | ||
1965 | |||
1966 | /*format is CustomDevice="0x0573 0x4D31 0 7113 3 PAL 1 1 1 5 -1 -1 -1 -1 -1" | ||
1967 | usbvision_device_data[0].idVendor; | ||
1968 | usbvision_device_data[0].idProduct; | ||
1969 | usbvision_device_data[0].Interface; | ||
1970 | usbvision_device_data[0].Codec; | ||
1971 | usbvision_device_data[0].VideoChannels; | ||
1972 | usbvision_device_data[0].VideoNorm; | ||
1973 | usbvision_device_data[0].AudioChannels; | ||
1974 | usbvision_device_data[0].Radio; | ||
1975 | usbvision_device_data[0].Tuner; | ||
1976 | usbvision_device_data[0].TunerType; | ||
1977 | usbvision_device_data[0].Vin_Reg1; | ||
1978 | usbvision_device_data[0].Vin_Reg2; | ||
1979 | usbvision_device_data[0].X_Offset; | ||
1980 | usbvision_device_data[0].Y_Offset; | ||
1981 | usbvision_device_data[0].Dvi_yuv; | ||
1982 | usbvision_device_data[0].ModelString; | ||
1983 | */ | ||
1984 | |||
1985 | rmspace(parse); | ||
1986 | usbvision_device_data[0].ModelString="USBVISION Custom Device"; | ||
1987 | |||
1988 | parse+=2; | ||
1989 | sscanf(parse,"%u",&id_vend); | ||
1990 | usbvision_table[0].idVendor=id_vend; | ||
1991 | |||
1992 | goto2next(parse); | ||
1993 | PDEBUG(DBG_PROBE, "idVendor=0x%.4X", usbvision_table[0].idVendor); | ||
1994 | parse+=2; | ||
1995 | sscanf(parse,"%u",&id_prod); | ||
1996 | usbvision_table[0].idProduct=id_prod; | ||
1997 | goto2next(parse); | ||
1998 | PDEBUG(DBG_PROBE, "idProduct=0x%.4X", usbvision_table[0].idProduct); | ||
1999 | sscanf(parse,"%d",&usbvision_device_data[0].Interface); | ||
2000 | goto2next(parse); | ||
2001 | PDEBUG(DBG_PROBE, "Interface=%d", usbvision_device_data[0].Interface); | ||
2002 | sscanf(parse,"%hd",&usbvision_device_data[0].Codec); | ||
2003 | goto2next(parse); | ||
2004 | PDEBUG(DBG_PROBE, "Codec=%d", usbvision_device_data[0].Codec); | ||
2005 | sscanf(parse,"%d",&tmp); | ||
2006 | usbvision_device_data[0].VideoChannels = tmp; | ||
2007 | goto2next(parse); | ||
2008 | PDEBUG(DBG_PROBE, "VideoChannels=%d", usbvision_device_data[0].VideoChannels); | ||
2009 | |||
2010 | switch(*parse) | ||
2011 | { | ||
2012 | case 'P': | ||
2013 | PDEBUG(DBG_PROBE, "VideoNorm=PAL"); | ||
2014 | usbvision_device_data[0].VideoNorm=V4L2_STD_PAL; | ||
2015 | break; | ||
2016 | |||
2017 | case 'S': | ||
2018 | PDEBUG(DBG_PROBE, "VideoNorm=SECAM"); | ||
2019 | usbvision_device_data[0].VideoNorm=V4L2_STD_SECAM; | ||
2020 | break; | ||
2021 | |||
2022 | case 'N': | ||
2023 | PDEBUG(DBG_PROBE, "VideoNorm=NTSC"); | ||
2024 | usbvision_device_data[0].VideoNorm=V4L2_STD_NTSC; | ||
2025 | break; | ||
2026 | |||
2027 | default: | ||
2028 | PDEBUG(DBG_PROBE, "VideoNorm=PAL (by default)"); | ||
2029 | usbvision_device_data[0].VideoNorm=V4L2_STD_PAL; | ||
2030 | break; | ||
2031 | } | ||
2032 | goto2next(parse); | ||
2033 | |||
2034 | sscanf(parse,"%d",&tmp); | ||
2035 | usbvision_device_data[0].AudioChannels = tmp; | ||
2036 | goto2next(parse); | ||
2037 | PDEBUG(DBG_PROBE, "AudioChannels=%d", usbvision_device_data[0].AudioChannels); | ||
2038 | sscanf(parse,"%d",&radio); | ||
2039 | usbvision_device_data[0].Radio=(radio?1:0); | ||
2040 | goto2next(parse); | ||
2041 | PDEBUG(DBG_PROBE, "Radio=%d", usbvision_device_data[0].Radio); | ||
2042 | sscanf(parse,"%d",&tuner); | ||
2043 | usbvision_device_data[0].Tuner=(tuner?1:0); | ||
2044 | goto2next(parse); | ||
2045 | PDEBUG(DBG_PROBE, "Tuner=%d", usbvision_device_data[0].Tuner); | ||
2046 | sscanf(parse,"%hhu",&usbvision_device_data[0].TunerType); | ||
2047 | goto2next(parse); | ||
2048 | PDEBUG(DBG_PROBE, "TunerType=%d", usbvision_device_data[0].TunerType); | ||
2049 | sscanf(parse,"%d",&tmp); | ||
2050 | if(tmp>0) { | ||
2051 | usbvision_device_data[0].Vin_Reg1_override = 1; | ||
2052 | usbvision_device_data[0].Vin_Reg1 = tmp&0xff; | ||
2053 | } | ||
2054 | goto2next(parse); | ||
2055 | PDEBUG(DBG_PROBE, "Vin_Reg1=%d", usbvision_device_data[0].Vin_Reg1); | ||
2056 | sscanf(parse,"%d",&tmp); | ||
2057 | if(tmp>0) { | ||
2058 | usbvision_device_data[0].Vin_Reg2_override = 1; | ||
2059 | usbvision_device_data[0].Vin_Reg2 = tmp&0xff; | ||
2060 | } | ||
2061 | goto2next(parse); | ||
2062 | PDEBUG(DBG_PROBE, "Vin_Reg2=%d", usbvision_device_data[0].Vin_Reg2); | ||
2063 | sscanf(parse,"%hd",&usbvision_device_data[0].X_Offset); | ||
2064 | goto2next(parse); | ||
2065 | PDEBUG(DBG_PROBE, "X_Offset=%d", usbvision_device_data[0].X_Offset); | ||
2066 | sscanf(parse,"%hd",&usbvision_device_data[0].Y_Offset); | ||
2067 | goto2next(parse); | ||
2068 | PDEBUG(DBG_PROBE, "Y_Offset=%d", usbvision_device_data[0].Y_Offset); | ||
2069 | sscanf(parse,"%d",&tmp); | ||
2070 | if(tmp>0) { | ||
2071 | usbvision_device_data[0].Dvi_yuv_override = 1; | ||
2072 | usbvision_device_data[0].Dvi_yuv = tmp&0xff; | ||
2073 | } | ||
2074 | PDEBUG(DBG_PROBE, "Dvi_yuv=%d", usbvision_device_data[0].Dvi_yuv); | ||
2075 | |||
2076 | //add to usbvision_table also | ||
2077 | usbvision_table[0].match_flags=USB_DEVICE_ID_MATCH_DEVICE; | ||
2078 | } | ||
2079 | } | ||
2080 | |||
2081 | |||
2082 | |||
2083 | /* | ||
2084 | * usbvision_init() | 1943 | * usbvision_init() |
2085 | * | 1944 | * |
2086 | * This code is run to initialize the driver. | 1945 | * This code is run to initialize the driver. |
@@ -2104,8 +1963,6 @@ static int __init usbvision_init(void) | |||
2104 | usbvision_v4l2_format[7].supported = 0; // V4L2_PIX_FMT_YUV422P | 1963 | usbvision_v4l2_format[7].supported = 0; // V4L2_PIX_FMT_YUV422P |
2105 | } | 1964 | } |
2106 | 1965 | ||
2107 | customdevice_process(); | ||
2108 | |||
2109 | errCode = usb_register(&usbvision_driver); | 1966 | errCode = usb_register(&usbvision_driver); |
2110 | 1967 | ||
2111 | if (errCode == 0) { | 1968 | if (errCode == 0) { |