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 19:04:26 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);