aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/cx88/cx88-video.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/video/cx88/cx88-video.c')
-rw-r--r--drivers/media/video/cx88/cx88-video.c27
1 files changed, 10 insertions, 17 deletions
diff --git a/drivers/media/video/cx88/cx88-video.c b/drivers/media/video/cx88/cx88-video.c
index 434237af5184..b993d42fe73c 100644
--- a/drivers/media/video/cx88/cx88-video.c
+++ b/drivers/media/video/cx88/cx88-video.c
@@ -428,10 +428,8 @@ int cx88_video_mux(struct cx88_core *core, unsigned int input)
428 routes for different inputs. HVR-1300 surely does */ 428 routes for different inputs. HVR-1300 surely does */
429 if (core->board.audio_chip && 429 if (core->board.audio_chip &&
430 core->board.audio_chip == V4L2_IDENT_WM8775) { 430 core->board.audio_chip == V4L2_IDENT_WM8775) {
431 struct v4l2_routing route; 431 call_all(core, audio, s_routing,
432 432 INPUT(input).audioroute, 0, 0);
433 route.input = INPUT(input).audioroute;
434 call_all(core, audio, s_routing, &route);
435 } 433 }
436 /* cx2388's C-ADC is connected to the tuner only. 434 /* cx2388's C-ADC is connected to the tuner only.
437 When used with S-Video, that ADC is busy dealing with 435 When used with S-Video, that ADC is busy dealing with
@@ -823,10 +821,8 @@ static int video_open(struct file *file)
823 if (core->board.radio.audioroute) { 821 if (core->board.radio.audioroute) {
824 if(core->board.audio_chip && 822 if(core->board.audio_chip &&
825 core->board.audio_chip == V4L2_IDENT_WM8775) { 823 core->board.audio_chip == V4L2_IDENT_WM8775) {
826 struct v4l2_routing route; 824 call_all(core, audio, s_routing,
827 825 core->board.radio.audioroute, 0, 0);
828 route.input = core->board.radio.audioroute;
829 call_all(core, audio, s_routing, &route);
830 } 826 }
831 /* "I2S ADC mode" */ 827 /* "I2S ADC mode" */
832 core->tvaudio = WW_I2SADC; 828 core->tvaudio = WW_I2SADC;
@@ -931,7 +927,7 @@ static int video_release(struct file *file)
931 kfree(fh); 927 kfree(fh);
932 928
933 if(atomic_dec_and_test(&dev->core->users)) 929 if(atomic_dec_and_test(&dev->core->users))
934 call_all(dev->core, core, s_standby, 0); 930 call_all(dev->core, tuner, s_standby);
935 931
936 return 0; 932 return 0;
937} 933}
@@ -1836,7 +1832,7 @@ static int __devinit cx8800_initdev(struct pci_dev *pci_dev,
1836 dev->pci_lat,(unsigned long long)pci_resource_start(pci_dev,0)); 1832 dev->pci_lat,(unsigned long long)pci_resource_start(pci_dev,0));
1837 1833
1838 pci_set_master(pci_dev); 1834 pci_set_master(pci_dev);
1839 if (!pci_dma_supported(pci_dev,DMA_32BIT_MASK)) { 1835 if (!pci_dma_supported(pci_dev,DMA_BIT_MASK(32))) {
1840 printk("%s/0: Oops: no 32bit PCI DMA ???\n",core->name); 1836 printk("%s/0: Oops: no 32bit PCI DMA ???\n",core->name);
1841 err = -EIO; 1837 err = -EIO;
1842 goto fail_core; 1838 goto fail_core;
@@ -1882,18 +1878,15 @@ static int __devinit cx8800_initdev(struct pci_dev *pci_dev,
1882 /* load and configure helper modules */ 1878 /* load and configure helper modules */
1883 1879
1884 if (core->board.audio_chip == V4L2_IDENT_WM8775) 1880 if (core->board.audio_chip == V4L2_IDENT_WM8775)
1885 v4l2_i2c_new_subdev(&core->i2c_adap, 1881 v4l2_i2c_new_subdev(&core->v4l2_dev, &core->i2c_adap,
1886 "wm8775", "wm8775", 0x36 >> 1); 1882 "wm8775", "wm8775", 0x36 >> 1);
1887 1883
1888 if (core->board.audio_chip == V4L2_IDENT_TVAUDIO) { 1884 if (core->board.audio_chip == V4L2_IDENT_TVAUDIO) {
1889 /* This probes for a tda9874 as is used on some 1885 /* This probes for a tda9874 as is used on some
1890 Pixelview Ultra boards. */ 1886 Pixelview Ultra boards. */
1891 static const unsigned short i2c_addr[] = { 1887 v4l2_i2c_new_probed_subdev_addr(&core->v4l2_dev,
1892 0xb0 >> 1, I2C_CLIENT_END 1888 &core->i2c_adap,
1893 }; 1889 "tvaudio", "tvaudio", 0xb0 >> 1);
1894
1895 v4l2_i2c_new_probed_subdev(&core->i2c_adap,
1896 "tvaudio", "tvaudio", i2c_addr);
1897 } 1890 }
1898 1891
1899 switch (core->boardnr) { 1892 switch (core->boardnr) {