diff options
author | Hans Verkuil <hverkuil@xs4all.nl> | 2007-09-11 10:59:15 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-10-09 21:04:54 -0400 |
commit | 372978055dd564d97ca1b4099c99296eaff1fe19 (patch) | |
tree | 956775ff2bde4ab23a85326b2284be997e8607fd /drivers/media/video/ivtv/ivtv-driver.c | |
parent | 2cc720957a743ef59f9925ecfef5f71f08387d8b (diff) |
V4L/DVB (5995): ivtv: add AverMedia M116
- Split Club3D card from Yuan PG600-2, GotView PCI DVD Lite
(different composite input)
- Add AVerTV MCE 116 Plus (M116) card
- Allow Xceive cards to be used without Xceive support
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/ivtv/ivtv-driver.c')
-rw-r--r-- | drivers/media/video/ivtv/ivtv-driver.c | 27 |
1 files changed, 11 insertions, 16 deletions
diff --git a/drivers/media/video/ivtv/ivtv-driver.c b/drivers/media/video/ivtv/ivtv-driver.c index f8ef267e56b2..198e443e8a5e 100644 --- a/drivers/media/video/ivtv/ivtv-driver.c +++ b/drivers/media/video/ivtv/ivtv-driver.c | |||
@@ -177,9 +177,9 @@ MODULE_PARM_DESC(cardtype, | |||
177 | "\t\t\t16 = GOTVIEW PCI DVD2 Deluxe\n" | 177 | "\t\t\t16 = GOTVIEW PCI DVD2 Deluxe\n" |
178 | "\t\t\t17 = Yuan MPC622\n" | 178 | "\t\t\t17 = Yuan MPC622\n" |
179 | "\t\t\t18 = Digital Cowboy DCT-MTVP1\n" | 179 | "\t\t\t18 = Digital Cowboy DCT-MTVP1\n" |
180 | #ifdef HAVE_XC3028 | 180 | "\t\t\t19 = Yuan PG600V2/GotView PCI DVD Lite\n" |
181 | "\t\t\t19 = Yuan PG600V2/GotView PCI DVD Lite/Club3D ZAP-TV1x01\n" | 181 | "\t\t\t20 = Club3D ZAP-TV1x01\n" |
182 | #endif | 182 | "\t\t\t21 = AverTV MCE 116 Plus\n" |
183 | "\t\t\t 0 = Autodetect (default)\n" | 183 | "\t\t\t 0 = Autodetect (default)\n" |
184 | "\t\t\t-1 = Ignore this card\n\t\t"); | 184 | "\t\t\t-1 = Ignore this card\n\t\t"); |
185 | MODULE_PARM_DESC(pal, "Set PAL standard: B, G, H, D, K, I, M, N, Nc, 60"); | 185 | MODULE_PARM_DESC(pal, "Set PAL standard: B, G, H, D, K, I, M, N, Nc, 60"); |
@@ -821,11 +821,13 @@ static void ivtv_load_and_init_modules(struct ivtv *itv) | |||
821 | /* load modules */ | 821 | /* load modules */ |
822 | #ifndef CONFIG_VIDEO_TUNER | 822 | #ifndef CONFIG_VIDEO_TUNER |
823 | if (hw & IVTV_HW_TUNER) { | 823 | if (hw & IVTV_HW_TUNER) { |
824 | ivtv_request_module(itv, "tuner"); | 824 | if (itv->options.tuner == TUNER_XCEIVE_XC3028) { |
825 | #ifdef HAVE_XC3028 | 825 | IVTV_INFO("Xceive tuner not yet supported, only composite and S-Video inputs will be available\n"); |
826 | if (itv->options.tuner == TUNER_XCEIVE_XC3028) | 826 | itv->tunerid = 1; |
827 | ivtv_request_module(itv, "xc3028-tuner"); | 827 | } |
828 | #endif | 828 | else { |
829 | ivtv_request_module(itv, "tuner"); | ||
830 | } | ||
829 | } | 831 | } |
830 | #endif | 832 | #endif |
831 | #ifndef CONFIG_VIDEO_CX25840 | 833 | #ifndef CONFIG_VIDEO_CX25840 |
@@ -1130,19 +1132,12 @@ static int __devinit ivtv_probe(struct pci_dev *dev, | |||
1130 | if (itv->options.radio > 0) | 1132 | if (itv->options.radio > 0) |
1131 | itv->v4l2_cap |= V4L2_CAP_RADIO; | 1133 | itv->v4l2_cap |= V4L2_CAP_RADIO; |
1132 | 1134 | ||
1133 | if (itv->options.tuner > -1) { | 1135 | if (itv->options.tuner > -1 && itv->tunerid == 0) { |
1134 | struct tuner_setup setup; | 1136 | struct tuner_setup setup; |
1135 | 1137 | ||
1136 | setup.addr = ADDR_UNSET; | 1138 | setup.addr = ADDR_UNSET; |
1137 | setup.type = itv->options.tuner; | 1139 | setup.type = itv->options.tuner; |
1138 | setup.mode_mask = T_ANALOG_TV; /* matches TV tuners */ | 1140 | setup.mode_mask = T_ANALOG_TV; /* matches TV tuners */ |
1139 | #ifdef HAVE_XC3028 | ||
1140 | setup.initmode = V4L2_TUNER_ANALOG_TV; | ||
1141 | if (itv->options.tuner == TUNER_XCEIVE_XC3028) { | ||
1142 | setup.gpio_write = ivtv_reset_tuner_gpio; | ||
1143 | setup.gpio_priv = itv; | ||
1144 | } | ||
1145 | #endif | ||
1146 | ivtv_call_i2c_clients(itv, TUNER_SET_TYPE_ADDR, &setup); | 1141 | ivtv_call_i2c_clients(itv, TUNER_SET_TYPE_ADDR, &setup); |
1147 | } | 1142 | } |
1148 | 1143 | ||