[media] au8522: cleanup code which disables audio decoder
authorDevin Heitmueller <dheitmueller@kernellabs.com>
Sun, 27 Jun 2010 20:40:42 +0000 (17:40 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Wed, 29 Dec 2010 10:16:33 +0000 (08:16 -0200)
Cleanup the routine which disables the audio decoder.  In particular, the i2s
output was being shut off but the audio processor itself was not, resulting
in more power being consumed than needed.

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/dvb/frontends/au8522_decoder.c

index b36d1280f55f00eeb04c5ce6f8f2cb0196a79000..55b12ceb3ebc8fb79a39cc7c738ad41776b57a42 100644 (file)
@@ -410,29 +410,15 @@ static void au8522_setup_svideo_mode(struct au8522_state *state)
 
 static void disable_audio_input(struct au8522_state *state)
 {
-       /* This can probably be optimized */
        au8522_writereg(state, AU8522_AUDIO_VOLUME_L_REG0F2H, 0x00);
        au8522_writereg(state, AU8522_AUDIO_VOLUME_R_REG0F3H, 0x00);
        au8522_writereg(state, AU8522_AUDIO_VOLUME_REG0F4H, 0x00);
-       au8522_writereg(state, AU8522_I2C_CONTROL_REG1_REG091H, 0x80);
-       au8522_writereg(state, AU8522_I2C_CONTROL_REG0_REG090H, 0x84);
-
-       au8522_writereg(state, AU8522_ENA_USB_REG101H, 0x00);
-       au8522_writereg(state, AU8522_AUDIO_VOLUME_L_REG0F2H, 0x7F);
-       au8522_writereg(state, AU8522_AUDIO_VOLUME_R_REG0F3H, 0x7F);
-       au8522_writereg(state, AU8522_REG0F9H, AU8522_REG0F9H_AUDIO);
-       au8522_writereg(state, AU8522_AUDIO_MODE_REG0F1H, 0x40);
-
-       au8522_writereg(state, AU8522_GPIO_DATA_REG0E2H, 0x11);
-       msleep(5);
-       au8522_writereg(state, AU8522_GPIO_DATA_REG0E2H, 0x00);
 
        au8522_writereg(state, AU8522_SYSTEM_MODULE_CONTROL_1_REG0A5H, 0x04);
-       au8522_writereg(state, AU8522_AUDIOFREQ_REG606H, 0x03);
        au8522_writereg(state, AU8522_I2S_CTRL_2_REG112H, 0x02);
 
        au8522_writereg(state, AU8522_SYSTEM_MODULE_CONTROL_0_REG0A4H,
-                       AU8522_SYSTEM_MODULE_CONTROL_0_REG0A4H_CVBS);
+                       AU8522_SYSTEM_MODULE_CONTROL_0_REG0A4H_SVIDEO);
 }
 
 /* 0=disable, 1=SIF */