rendered paste bodydiff -r 3556fab363b5 linux/drivers/media/video/cx88/cx88-cards.c
--- a/linux/drivers/media/video/cx88/cx88-cards.c Sat Feb 24 09:05:23 2007 -0200
+++ b/linux/drivers/media/video/cx88/cx88-cards.c Sat Feb 24 21:01:04 2007 -0500
@@ -974,15 +974,22 @@ struct cx88_board cx88_boards[] = {
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
+ .audio_chip = AUDIO_CHIP_WM8775,
.input = {{
.type = CX88_VMUX_TELEVISION,
.vmux = 0,
+ .gpio0 = 0x40bf,
+ .gpio1 = 0x00ff,
},{
.type = CX88_VMUX_COMPOSITE1,
.vmux = 1,
+ .gpio0 = 0x40bf,
+ .gpio1 = 0x00ff,
},{
.type = CX88_VMUX_SVIDEO,
.vmux = 2,
+ .gpio0 = 0x40bf,
+ .gpio1 = 0x00ff,
}},
/* fixme: Add radio support */
.mpeg = CX88_MPEG_DVB,
diff -r 3556fab363b5 linux/drivers/media/video/cx88/cx88-video.c
--- a/linux/drivers/media/video/cx88/cx88-video.c Sat Feb 24 09:05:23 2007 -0200
+++ b/linux/drivers/media/video/cx88/cx88-video.c Sat Feb 24 21:01:04 2007 -0500
@@ -416,6 +416,22 @@ int cx88_video_mux(struct cx88_core *cor
else
cx_clear(AUD_CTL, EN_I2SIN_ENABLE);
}
+
+ /* If we're not using television, we want to route the audio
+ from I2S, not the tuner */
+ if (INPUT(input)->type != CX88_VMUX_TELEVISION) {
+ /* ADC mode */
+ cx_write(AUD_I2SCNTL, 0x1);
+ cx_set(AUD_CTL, EN_I2SIN_ENABLE);
+ //cx_clear(AUD_CTL, EN_I2SOUT_ENABLE);
+ } else {
+ /* Normal mode */
+ cx_write(AUD_I2SCNTL, 0x0);
+ /*cx_clear(AUD_CTL, EN_I2SIN_ENABLE);
+ cx_clear(AUD_CTL, EN_I2SOUT_ENABLE);*/
+ }
+
+
return 0;
}
EXPORT_SYMBOL(cx88_video_mux);