diff options
Diffstat (limited to 'drivers/media/video/cx88/cx88-dvb.c')
-rw-r--r-- | drivers/media/video/cx88/cx88-dvb.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/media/video/cx88/cx88-dvb.c b/drivers/media/video/cx88/cx88-dvb.c index 054094e48fc3..c4551d996119 100644 --- a/drivers/media/video/cx88/cx88-dvb.c +++ b/drivers/media/video/cx88/cx88-dvb.c | |||
@@ -191,6 +191,12 @@ static struct cx22702_config hauppauge_novat_config = { | |||
191 | .pll_address = 0x61, | 191 | .pll_address = 0x61, |
192 | .pll_desc = &dvb_pll_thomson_dtt759x, | 192 | .pll_desc = &dvb_pll_thomson_dtt759x, |
193 | }; | 193 | }; |
194 | static struct cx22702_config hauppauge_hvr1100_config = { | ||
195 | .demod_address = 0x63, | ||
196 | .output_mode = CX22702_SERIAL_OUTPUT, | ||
197 | .pll_address = 0x61, | ||
198 | .pll_desc = &dvb_pll_fmd1216me, | ||
199 | }; | ||
194 | #endif | 200 | #endif |
195 | 201 | ||
196 | #ifdef HAVE_OR51132 | 202 | #ifdef HAVE_OR51132 |
@@ -370,6 +376,11 @@ static int dvb_register(struct cx8802_dev *dev) | |||
370 | dev->dvb.frontend = cx22702_attach(&connexant_refboard_config, | 376 | dev->dvb.frontend = cx22702_attach(&connexant_refboard_config, |
371 | &dev->core->i2c_adap); | 377 | &dev->core->i2c_adap); |
372 | break; | 378 | break; |
379 | case CX88_BOARD_HAUPPAUGE_HVR1100: | ||
380 | case CX88_BOARD_HAUPPAUGE_HVR1100LP: | ||
381 | dev->dvb.frontend = cx22702_attach(&hauppauge_hvr1100_config, | ||
382 | &dev->core->i2c_adap); | ||
383 | break; | ||
373 | #endif | 384 | #endif |
374 | #ifdef HAVE_MT352 | 385 | #ifdef HAVE_MT352 |
375 | case CX88_BOARD_DVICO_FUSIONHDTV_DVB_T1: | 386 | case CX88_BOARD_DVICO_FUSIONHDTV_DVB_T1: |
@@ -532,6 +543,9 @@ static int __devinit dvb_probe(struct pci_dev *pci_dev, | |||
532 | err = dvb_register(dev); | 543 | err = dvb_register(dev); |
533 | if (0 != err) | 544 | if (0 != err) |
534 | goto fail_fini; | 545 | goto fail_fini; |
546 | |||
547 | /* Maintain a reference to cx88-video can query the 8802 device. */ | ||
548 | core->dvbdev = dev; | ||
535 | return 0; | 549 | return 0; |
536 | 550 | ||
537 | fail_fini: | 551 | fail_fini: |
@@ -547,6 +561,9 @@ static void __devexit dvb_remove(struct pci_dev *pci_dev) | |||
547 | { | 561 | { |
548 | struct cx8802_dev *dev = pci_get_drvdata(pci_dev); | 562 | struct cx8802_dev *dev = pci_get_drvdata(pci_dev); |
549 | 563 | ||
564 | /* Destroy any 8802 reference. */ | ||
565 | dev->core->dvbdev = NULL; | ||
566 | |||
550 | /* dvb */ | 567 | /* dvb */ |
551 | videobuf_dvb_unregister(&dev->dvb); | 568 | videobuf_dvb_unregister(&dev->dvb); |
552 | 569 | ||