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
