Powering off speaker via GPIO after PMIC shuts down causes a huge pop sound
coming out from speaker.  Moving it to early place before PMIC shuts down will
solve this problem.

This patch fixes the bug: https://bugzilla.otcshare.org/show_bug.cgi?id=8266

Signed-off-by: Lu Guanqun <[email protected]>
---
 drivers/staging/intel_sst/intelmid_v2_control.c |   12 +++---------
 1 files changed, 3 insertions(+), 9 deletions(-)

diff --git a/drivers/staging/intel_sst/intelmid_v2_control.c 
b/drivers/staging/intel_sst/intelmid_v2_control.c
index 899a321..951fd5d 100644
--- a/drivers/staging/intel_sst/intelmid_v2_control.c
+++ b/drivers/staging/intel_sst/intelmid_v2_control.c
@@ -316,12 +316,6 @@ static int nc_power_down(void)
 
        pr_debug("sst: powering dn nc_power_down ....\n");
 
-       if (snd_pmic_ops_nc.output_dev_id == MONO_EARPIECE ||
-           snd_pmic_ops_nc.output_dev_id == INTERNAL_SPKR)
-               nc_set_amp_power(0);
-
-       msleep(30);
-
        sc_access[0].reg_addr = DRVPOWERCTRL;
        sc_access[0].value = 0x00;
        sc_access[0].mask = 0x00;
@@ -371,9 +365,9 @@ static int nc_power_down_pb(unsigned int device)
 
        nc_enable_audiodac(MUTE);
 
-
-       msleep(30);
-
+       if (snd_pmic_ops_nc.output_dev_id == MONO_EARPIECE ||
+           snd_pmic_ops_nc.output_dev_id == INTERNAL_SPKR)
+               nc_set_amp_power(0);
 
        sc_access[0].reg_addr = DRVPOWERCTRL;
        sc_access[0].value = 0x00;

_______________________________________________
MeeGo-kernel mailing list
[email protected]
http://lists.meego.com/listinfo/meego-kernel

Reply via email to