static int msm8930_spkramp_event(struct snd_soc_dapm_widget *w, struct snd_kcontrol *k, int event) { pr_debug("%s() %x\n", __func__, SND_SOC_DAPM_EVENT_ON(event)); if (SND_SOC_DAPM_EVENT_ON(event)) { if (!strncmp(w->name, "Ext Spk Left Pos", 17)) msm8960_ext_spk_power_amp_on(SPK_AMP_POS); else if (!strncmp(w->name, "Ext Spk Left Neg", 17)) msm8960_ext_spk_power_amp_on(SPK_AMP_NEG); else { pr_err("%s() Invalid Speaker Widget = %s\n", __func__, w->name); return -EINVAL; } } else { if (!strncmp(w->name, "Ext Spk Left Pos", 17)) msm8960_ext_spk_power_amp_off(SPK_AMP_POS); else if (!strncmp(w->name, "Ext Spk Left Neg", 17)) msm8960_ext_spk_power_amp_off(SPK_AMP_NEG); else { pr_err("%s() Invalid Speaker Widget = %s\n", __func__, w->name); return -EINVAL; } } return 0; }
static int msm8960_spkramp_event(struct snd_soc_dapm_widget *w, struct snd_kcontrol *k, int event) { #if defined (CONFIG_MACH_MSM8960_SIRIUSLTE) int ret; #endif pr_debug("%s() %x\n", __func__, SND_SOC_DAPM_EVENT_ON(event)); if (SND_SOC_DAPM_EVENT_ON(event)) { if (!strncmp(w->name, "Ext Spk Bottom Pos", 18)) msm8960_ext_spk_power_amp_on(BOTTOM_SPK_AMP_POS); else if (!strncmp(w->name, "Ext Spk Bottom Neg", 18)) msm8960_ext_spk_power_amp_on(BOTTOM_SPK_AMP_NEG); else if (!strncmp(w->name, "Ext Spk Top Pos", 15)) msm8960_ext_spk_power_amp_on(TOP_SPK_AMP_POS); else if (!strncmp(w->name, "Ext Spk Top Neg", 15)) msm8960_ext_spk_power_amp_on(TOP_SPK_AMP_NEG); else { pr_err("%s() Invalid Speaker Widget = %s\n", __func__, w->name); return -EINVAL; } #if defined (CONFIG_MACH_MSM8960_SIRIUSLTE) if (SND_SOC_DAPM_EVENT_ON(event) == SND_SOC_DAPM_POST_PMU) { ret = snd_subsystem_sp_poweron(); if (ret < 0) { pr_err("[ak7811] spkamp_event SPK ON fail...\n"); return -EINVAL; } } #endif } else { #if defined (CONFIG_MACH_MSM8960_SIRIUSLTE) ret = snd_subsystem_standby(SYSTEM_OFF); if (ret < 0) { pr_err("[ak7811] spkamp_event SPK OFF fail...\n"); return -EINVAL; } #endif if (!strncmp(w->name, "Ext Spk Bottom Pos", 18)) msm8960_ext_spk_power_amp_off(BOTTOM_SPK_AMP_POS); else if (!strncmp(w->name, "Ext Spk Bottom Neg", 18)) msm8960_ext_spk_power_amp_off(BOTTOM_SPK_AMP_NEG); else if (!strncmp(w->name, "Ext Spk Top Pos", 15)) msm8960_ext_spk_power_amp_off(TOP_SPK_AMP_POS); else if (!strncmp(w->name, "Ext Spk Top Neg", 15)) msm8960_ext_spk_power_amp_off(TOP_SPK_AMP_NEG); else { pr_err("%s() Invalid Speaker Widget = %s\n", __func__, w->name); return -EINVAL; } } return 0; }
static int msm8960_spkramp_event(struct snd_soc_dapm_widget *w, struct snd_kcontrol *k, int event) { pr_info("%s() %x\n", __func__, SND_SOC_DAPM_EVENT_ON(event)); if (SND_SOC_DAPM_EVENT_ON(event)) { if (!strncmp(w->name, "Ext Spk Bottom Pos", 18)) msm8960_ext_spk_power_amp_on(BOTTOM_SPK_AMP_POS); else if (!strncmp(w->name, "Ext Spk Bottom Neg", 18)) msm8960_ext_spk_power_amp_on(BOTTOM_SPK_AMP_NEG); else if (!strncmp(w->name, "Ext USB AMP Pos", 15)) msm8960_ext_spk_power_amp_on(USB_EXT_AMP_POS); else if (!strncmp(w->name, "Ext USB AMP Neg", 15)) msm8960_ext_spk_power_amp_on(USB_EXT_AMP_NEG); else { pr_err("%s() Invalid Speaker Widget = %s\n", __func__, w->name); return -EINVAL; } } else { if (!strncmp(w->name, "Ext Spk Bottom Pos", 18)) msm8960_ext_spk_power_amp_off(BOTTOM_SPK_AMP_POS); else if (!strncmp(w->name, "Ext Spk Bottom Neg", 18)) msm8960_ext_spk_power_amp_off(BOTTOM_SPK_AMP_NEG); else if (!strncmp(w->name, "Ext USB AMP Pos", 15)) msm8960_ext_spk_power_amp_off(USB_EXT_AMP_POS); else if (!strncmp(w->name, "Ext USB AMP Neg", 15)) msm8960_ext_spk_power_amp_off(USB_EXT_AMP_NEG); else { pr_err("%s() Invalid Speaker Widget = %s\n", __func__, w->name); return -EINVAL; } } return 0; }
static int fighter_spk_power_amp_on(struct snd_soc_dapm_widget *w, struct snd_kcontrol *kcontrol, int event) { pr_info("%s %d\n", __func__, event); switch (event) { case SND_SOC_DAPM_PRE_PMU: msm8960_ext_spk_power_amp_on( BOTTOM_SPK_AMP_POS|BOTTOM_SPK_AMP_NEG); break; case SND_SOC_DAPM_POST_PMD: msm8960_ext_spk_power_amp_off( BOTTOM_SPK_AMP_POS|BOTTOM_SPK_AMP_NEG); break; } return 0; }