aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/ivtv/ivtv-driver.c
diff options
context:
space:
mode:
authorHans Verkuil <hverkuil@xs4all.nl>2007-09-11 10:59:15 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2007-10-09 21:04:54 -0400
commit372978055dd564d97ca1b4099c99296eaff1fe19 (patch)
tree956775ff2bde4ab23a85326b2284be997e8607fd /drivers/media/video/ivtv/ivtv-driver.c
parent2cc720957a743ef59f9925ecfef5f71f08387d8b (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.c27
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");
185MODULE_PARM_DESC(pal, "Set PAL standard: B, G, H, D, K, I, M, N, Nc, 60"); 185MODULE_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