本文整理汇总了C++中snd_soc_dapm_disable_pin函数的典型用法代码示例。如果您正苦于以下问题:C++ snd_soc_dapm_disable_pin函数的具体用法?C++ snd_soc_dapm_disable_pin怎么用?C++ snd_soc_dapm_disable_pin使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了snd_soc_dapm_disable_pin函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: s6105_aic3x_init
/* Logic for a aic3x as connected on the s6105 ip camera ref design */
static int s6105_aic3x_init(struct snd_soc_codec *codec)
{
/* Add s6105 specific widgets */
snd_soc_dapm_new_controls(codec, aic3x_dapm_widgets,
ARRAY_SIZE(aic3x_dapm_widgets));
/* Set up s6105 specific audio path audio_map */
snd_soc_dapm_add_routes(codec, audio_map, ARRAY_SIZE(audio_map));
/* not present */
snd_soc_dapm_nc_pin(codec, "MONO_LOUT");
snd_soc_dapm_nc_pin(codec, "LINE2L");
snd_soc_dapm_nc_pin(codec, "LINE2R");
/* not connected */
snd_soc_dapm_nc_pin(codec, "MIC3L"); /* LINE2L on this chip */
snd_soc_dapm_nc_pin(codec, "MIC3R"); /* LINE2R on this chip */
snd_soc_dapm_nc_pin(codec, "LLOUT");
snd_soc_dapm_nc_pin(codec, "RLOUT");
snd_soc_dapm_nc_pin(codec, "HPRCOM");
/* always connected */
snd_soc_dapm_enable_pin(codec, "Audio In");
/* must correspond to audio_out_mux.private_value initializer */
snd_soc_dapm_disable_pin(codec, "Audio Out Differential");
snd_soc_dapm_sync(codec);
snd_soc_dapm_enable_pin(codec, "Audio Out Stereo");
snd_soc_dapm_sync(codec);
snd_ctl_add(codec->card, snd_ctl_new1(&audio_out_mux, codec));
return 0;
}
示例2: cs42l52_beep_work
static void cs42l52_beep_work(struct work_struct *work)
{
struct cs42l52_private *cs42l52 =
container_of(work, struct cs42l52_private, beep_work);
struct snd_soc_codec *codec = cs42l52->codec;
struct snd_soc_dapm_context *dapm = &codec->dapm;
int i;
int val = 0;
int best = 0;
if (cs42l52->beep_rate) {
for (i = 0; i < ARRAY_SIZE(beep_rates); i++) {
if (abs(cs42l52->beep_rate - beep_rates[i]) <
abs(cs42l52->beep_rate - beep_rates[best]))
best = i;
}
dev_dbg(codec->dev, "Set beep rate %dHz for requested %dHz\n",
beep_rates[best], cs42l52->beep_rate);
val = (best << CS42L52_BEEP_RATE_SHIFT);
snd_soc_dapm_enable_pin(dapm, "Beep");
} else {
dev_dbg(codec->dev, "Disabling beep\n");
snd_soc_dapm_disable_pin(dapm, "Beep");
}
snd_soc_update_bits(codec, CS42L52_BEEP_FREQ,
CS42L52_BEEP_RATE_MASK, val);
snd_soc_dapm_sync(dapm);
}
示例3: smartq_wm8987_init
static int smartq_wm8987_init(struct snd_soc_pcm_runtime *rtd)
{
struct snd_soc_codec *codec = rtd->codec;
struct snd_soc_dapm_context *dapm = &codec->dapm;
int err = 0;
/* set endpoints to not connected */
snd_soc_dapm_nc_pin(dapm, "LINPUT1");
snd_soc_dapm_nc_pin(dapm, "RINPUT1");
snd_soc_dapm_nc_pin(dapm, "OUT3");
snd_soc_dapm_nc_pin(dapm, "ROUT1");
/* set endpoints to default off mode */
snd_soc_dapm_disable_pin(dapm, "Headphone Jack");
/* Headphone jack detection */
err = snd_soc_jack_new(codec, "Headphone Jack",
SND_JACK_HEADPHONE, &smartq_jack);
if (err)
return err;
err = snd_soc_jack_add_pins(&smartq_jack, ARRAY_SIZE(smartq_jack_pins),
smartq_jack_pins);
if (err)
return err;
err = snd_soc_jack_add_gpios(&smartq_jack,
ARRAY_SIZE(smartq_jack_gpios),
smartq_jack_gpios);
return err;
}
示例4: arizona_micsupp_check_cp
static void arizona_micsupp_check_cp(struct work_struct *work)
{
struct arizona_micsupp *micsupp =
container_of(work, struct arizona_micsupp, check_cp_work);
struct snd_soc_dapm_context *dapm = micsupp->arizona->dapm;
struct arizona *arizona = micsupp->arizona;
struct regmap *regmap = arizona->regmap;
unsigned int reg;
int ret;
ret = regmap_read(regmap, ARIZONA_MIC_CHARGE_PUMP_1, ®);
if (ret != 0) {
dev_err(arizona->dev, "Failed to read CP state: %d\n", ret);
return;
}
if (dapm) {
if ((reg & (ARIZONA_CPMIC_ENA | ARIZONA_CPMIC_BYPASS)) ==
ARIZONA_CPMIC_ENA)
snd_soc_dapm_force_enable_pin(dapm, "MICSUPP");
else
snd_soc_dapm_disable_pin(dapm, "MICSUPP");
snd_soc_dapm_sync(dapm);
}
}
示例5: rt3261_codec_init
static int rt3261_codec_init(struct snd_soc_pcm_runtime *rtd)
{
struct snd_soc_codec *codec = rtd->codec;
//struct snd_soc_dai *codec_dai = rtd->codec_dai;
struct snd_soc_dapm_context *dapm = &codec->dapm;
int ret = 0;
dprintk(KERN_DEBUG "enter %s rt3261_snd_pdata: %p\n", __func__, rt3261_snd_pdata);
/* Add specific widgets */
snd_soc_dapm_new_controls(dapm, rt3261_dapm_widgets,
ARRAY_SIZE(rt3261_dapm_widgets));
/* Set up specific audio path interconnects */
snd_soc_dapm_add_routes(dapm, rt3261_dapm_intercon, ARRAY_SIZE(rt3261_dapm_intercon));
#if 0 //we have 3g, so do not set endpoint,add jf.s
/* Setup spk/hp/mono output */
rt3261_set_output(codec);
/* Setuo mic input */
rt3261_set_input(codec);
#endif
/* not connected */
snd_soc_dapm_nc_pin(dapm, "MONO");
snd_soc_dapm_nc_pin(dapm, "AUXO2");
snd_soc_dapm_nc_pin(dapm, "DMIC");
snd_soc_dapm_nc_pin(dapm, "AXIL");
snd_soc_dapm_nc_pin(dapm, "AXIR");
/* always connected */
snd_soc_dapm_enable_pin(dapm, "Ext Spk");
/* disable connected */
snd_soc_dapm_disable_pin(dapm, "HP");
snd_soc_dapm_sync(dapm);
#if HP_DET
ret = snd_soc_jack_new(codec, "hp switch", SND_JACK_HEADPHONE, &rt3261_snd_priv->jack);
if (ret) {
printk(KERN_WARNING "Failed to alloc resource for hp switch\n");
} else {
ret = snd_soc_jack_add_pins(&rt3261_snd_priv->jack, ARRAY_SIZE(jack_pins), jack_pins);
if (ret) {
dprintk(KERN_WARNING "Failed to setup hp pins\n");
}
}
rt3261_snd_priv->data= (void*)codec;
init_timer(&rt3261_snd_priv->timer);
rt3261_snd_priv->timer.function = rt3261_timer_func;
rt3261_snd_priv->timer.data = (unsigned long)rt3261_snd_priv;
INIT_WORK(&rt3261_snd_priv->work, rt3261_work_func);
mutex_init(&rt3261_snd_priv->lock);
#endif
return 0;
}
示例6: byt_alc5645_init
static int byt_alc5645_init(struct snd_soc_pcm_runtime *runtime)
{
struct snd_soc_codec *codec = runtime->codec;
struct snd_soc_dapm_context *dapm = &codec->dapm;
struct snd_soc_card *card = runtime->card;
alc5645.codec = codec;
mutex_init(&alc5645.mutex);
alc5645.jack_status = false;
pr_info("Enter:%s", __func__);
/* Set codec bias level */
card->dapm.idle_bias_off = true;
/* codec init registers */
/* TODO */
/* Keep the voice call paths active during
suspend. Mark the end points ignore_suspend */
/*TODO: CHECK this */
snd_soc_dapm_ignore_suspend(dapm, "HPOL");
snd_soc_dapm_ignore_suspend(dapm, "HPOR");
snd_soc_dapm_ignore_suspend(dapm, "SPOL");
snd_soc_dapm_ignore_suspend(dapm, "SPOR");
snd_soc_dapm_ignore_suspend(dapm, "IN2P");
snd_soc_dapm_ignore_suspend(dapm, "IN2N");
snd_soc_dapm_ignore_suspend(dapm, "IN1P");
snd_soc_dapm_ignore_suspend(dapm, "IN1N");
snd_soc_dapm_enable_pin(dapm, "Headphone");
snd_soc_dapm_enable_pin(dapm, "Ext Spk");
snd_soc_dapm_enable_pin(dapm, "Headset AMIC");
snd_soc_dapm_enable_pin(dapm, "AMIC");
snd_soc_dapm_enable_pin(dapm, "IN2P");
snd_soc_dapm_enable_pin(dapm, "IN2N");
snd_soc_dapm_disable_pin(dapm, "DMIC");
snd_soc_dapm_disable_pin(dapm, "DMIC L2");
snd_soc_dapm_disable_pin(dapm, "DMIC R2");
snd_soc_dapm_disable_pin(dapm, "DMIC L1");
snd_soc_dapm_disable_pin(dapm, "DMIC R1");
snd_soc_dapm_disable_pin(dapm, "PDM1R");
snd_soc_dapm_disable_pin(dapm, "PDM1L");
snd_soc_dapm_disable_pin(dapm, "LOUTL");
snd_soc_dapm_disable_pin(dapm, "LOUTR");
mutex_lock(&codec->mutex);
snd_soc_dapm_sync(dapm);
mutex_unlock(&codec->mutex);
return 0;
}
示例7: spitz_wm8750_init
/*
* Logic for a wm8750 as connected on a Sharp SL-Cxx00 Device
*/
static int spitz_wm8750_init(struct snd_soc_codec *codec)
{
int i, err;
/* NC codec pins */
snd_soc_dapm_disable_pin(codec, "RINPUT1");
snd_soc_dapm_disable_pin(codec, "LINPUT2");
snd_soc_dapm_disable_pin(codec, "RINPUT2");
snd_soc_dapm_disable_pin(codec, "LINPUT3");
snd_soc_dapm_disable_pin(codec, "RINPUT3");
snd_soc_dapm_disable_pin(codec, "OUT3");
snd_soc_dapm_disable_pin(codec, "MONO");
/* Add spitz specific controls */
for (i = 0; i < ARRAY_SIZE(wm8750_spitz_controls); i++) {
err = snd_ctl_add(codec->card,
snd_soc_cnew(&wm8750_spitz_controls[i], codec, NULL));
if (err < 0)
return err;
}
/* Add spitz specific widgets */
snd_soc_dapm_new_controls(codec, wm8750_dapm_widgets,
ARRAY_SIZE(wm8750_dapm_widgets));
/* Set up spitz specific audio paths */
snd_soc_dapm_add_routes(codec, audio_map, ARRAY_SIZE(audio_map));
snd_soc_dapm_sync(codec);
return 0;
}
示例8: tosa_ext_control
static void tosa_ext_control(struct snd_soc_codec *codec)
{
/* set up jack connection */
switch (tosa_jack_func) {
case TOSA_HP:
snd_soc_dapm_disable_pin(codec, "Mic (Internal)");
snd_soc_dapm_enable_pin(codec, "Headphone Jack");
snd_soc_dapm_disable_pin(codec, "Headset Jack");
break;
case TOSA_MIC_INT:
snd_soc_dapm_enable_pin(codec, "Mic (Internal)");
snd_soc_dapm_disable_pin(codec, "Headphone Jack");
snd_soc_dapm_disable_pin(codec, "Headset Jack");
break;
case TOSA_HEADSET:
snd_soc_dapm_disable_pin(codec, "Mic (Internal)");
snd_soc_dapm_disable_pin(codec, "Headphone Jack");
snd_soc_dapm_enable_pin(codec, "Headset Jack");
break;
}
if (tosa_spk_func == TOSA_SPK_ON)
snd_soc_dapm_enable_pin(codec, "Speaker");
else
snd_soc_dapm_disable_pin(codec, "Speaker");
snd_soc_dapm_sync(codec);
}
示例9: cht_ti_jack_event
static int cht_ti_jack_event(struct notifier_block *nb,
unsigned long event, void *data)
{
struct snd_soc_jack *jack = (struct snd_soc_jack *)data;
struct snd_soc_dapm_context *dapm = &jack->card->dapm;
if (event & SND_JACK_MICROPHONE) {
snd_soc_dapm_force_enable_pin(dapm, "SHDN");
snd_soc_dapm_force_enable_pin(dapm, "MICBIAS");
snd_soc_dapm_sync(dapm);
} else {
snd_soc_dapm_disable_pin(dapm, "MICBIAS");
snd_soc_dapm_disable_pin(dapm, "SHDN");
snd_soc_dapm_sync(dapm);
}
return 0;
}
示例10: msm8960_ext_control
static void msm8960_ext_control(struct snd_soc_codec *codec)
{
struct snd_soc_dapm_context *dapm = &codec->dapm;
pr_debug("%s: msm8960_spk_control = %d", __func__, msm8960_spk_control);
if (msm8960_spk_control == MSM8960_SPK_ON) {
snd_soc_dapm_enable_pin(dapm, "Ext Spk Bottom Pos");
snd_soc_dapm_enable_pin(dapm, "Ext Spk Bottom Neg");
snd_soc_dapm_enable_pin(dapm, "Ext USB AMP Pos");
snd_soc_dapm_enable_pin(dapm, "Ext USB AMP Neg");
} else {
snd_soc_dapm_disable_pin(dapm, "Ext Spk Bottom Pos");
snd_soc_dapm_disable_pin(dapm, "Ext Spk Bottom Neg");
snd_soc_dapm_disable_pin(dapm, "Ext USB AMP Pos");
snd_soc_dapm_disable_pin(dapm, "Ext USB AMP Neg");
}
snd_soc_dapm_sync(dapm);
}
示例11: tegra_ext_control
void tegra_ext_control(struct snd_soc_codec *codec, int new_con)
{
struct tegra_audio_data* audio_data = codec->socdev->codec_data;
ASOC_FUNCTION("");
ASOC_DBG("+%s, newcon: %x\n", __func__, new_con);
/* Disconnect old codec routes and connect new routes*/
if (new_con & TEGRA_HEADPHONE)
snd_soc_dapm_enable_pin(codec, "Headphone");
else
snd_soc_dapm_disable_pin(codec, "Headphone");
if (new_con & (TEGRA_LINEOUT | TEGRA_EAR_SPK))
snd_soc_dapm_enable_pin(codec, "Lineout");
else
snd_soc_dapm_disable_pin(codec, "Lineout");
if (new_con & TEGRA_SPK)
snd_soc_dapm_enable_pin(codec, "Int Spk");
else
snd_soc_dapm_disable_pin(codec, "Int Spk");
if (new_con & TEGRA_INT_MIC)
snd_soc_dapm_enable_pin(codec, "Int Mic");
else
snd_soc_dapm_disable_pin(codec, "Int Mic");
if (new_con & TEGRA_EXT_MIC)
snd_soc_dapm_enable_pin(codec, "Ext Mic");
else
snd_soc_dapm_disable_pin(codec, "Ext Mic");
if (new_con & TEGRA_LINEIN)
snd_soc_dapm_enable_pin(codec, "Linein");
else
snd_soc_dapm_disable_pin(codec, "Linein");
if (new_con & TEGRA_HEADSET)
{
snd_soc_dapm_enable_pin(codec, "Ext Mic");
snd_soc_dapm_enable_pin(codec, "Headset");
}
else
{
snd_soc_dapm_disable_pin(codec, "Ext Mic");
snd_soc_dapm_disable_pin(codec, "Headset");
}
/* signal a DAPM event */
snd_soc_dapm_sync(codec);
audio_data->codec_con = new_con;
}
示例12: n810_ext_control
static void n810_ext_control(struct snd_soc_codec *codec)
{
if (n810_spk_func)
snd_soc_dapm_enable_pin(codec, "Ext Spk");
else
snd_soc_dapm_disable_pin(codec, "Ext Spk");
if (n810_jack_func)
snd_soc_dapm_enable_pin(codec, "Headphone Jack");
else
snd_soc_dapm_disable_pin(codec, "Headphone Jack");
if (n810_dmic_func)
snd_soc_dapm_enable_pin(codec, "DMic");
else
snd_soc_dapm_disable_pin(codec, "DMic");
snd_soc_dapm_sync(codec);
}
示例13: sdp3430_twl4030_init
static int sdp3430_twl4030_init(struct snd_soc_pcm_runtime *rtd)
{
struct snd_soc_codec *codec = rtd->codec;
struct snd_soc_dapm_context *dapm = &codec->dapm;
int ret;
/* */
snd_soc_dapm_enable_pin(dapm, "Ext Mic");
snd_soc_dapm_enable_pin(dapm, "Ext Spk");
snd_soc_dapm_disable_pin(dapm, "Headset Mic");
snd_soc_dapm_disable_pin(dapm, "Headset Stereophone");
/* */
snd_soc_dapm_nc_pin(dapm, "AUXL");
snd_soc_dapm_nc_pin(dapm, "AUXR");
snd_soc_dapm_nc_pin(dapm, "CARKITMIC");
snd_soc_dapm_nc_pin(dapm, "DIGIMIC0");
snd_soc_dapm_nc_pin(dapm, "DIGIMIC1");
snd_soc_dapm_nc_pin(dapm, "OUTL");
snd_soc_dapm_nc_pin(dapm, "OUTR");
snd_soc_dapm_nc_pin(dapm, "EARPIECE");
snd_soc_dapm_nc_pin(dapm, "PREDRIVEL");
snd_soc_dapm_nc_pin(dapm, "PREDRIVER");
snd_soc_dapm_nc_pin(dapm, "CARKITL");
snd_soc_dapm_nc_pin(dapm, "CARKITR");
/* */
ret = snd_soc_jack_new(codec, "Headset Jack",
SND_JACK_HEADSET, &hs_jack);
if (ret)
return ret;
ret = snd_soc_jack_add_pins(&hs_jack, ARRAY_SIZE(hs_jack_pins),
hs_jack_pins);
if (ret)
return ret;
ret = snd_soc_jack_add_gpios(&hs_jack, ARRAY_SIZE(hs_jack_gpios),
hs_jack_gpios);
return ret;
}
示例14: tab3_card_suspend_pre
static int tab3_card_suspend_pre(struct snd_soc_card *card)
{
#ifdef CONFIG_SEC_DEV_JACK
struct snd_soc_codec *codec = card->rtd->codec;
snd_soc_dapm_disable_pin(&codec->dapm, "AIF1CLK");
#endif
return 0;
}
示例15: cx81801_close
/* Line discipline .close() */
static void cx81801_close(struct tty_struct *tty)
{
struct snd_soc_codec *codec = tty->disc_data;
del_timer_sync(&cx81801_timer);
v253_ops.close(tty);
/* Prevent the hook switch from further changing the DAPM pins */
INIT_LIST_HEAD(&ams_delta_hook_switch.pins);
/* Revert back to default audio input/output constellation */
snd_soc_dapm_disable_pin(codec, "Mouthpiece");
snd_soc_dapm_enable_pin(codec, "Earpiece");
snd_soc_dapm_enable_pin(codec, "Microphone");
snd_soc_dapm_disable_pin(codec, "Speaker");
snd_soc_dapm_disable_pin(codec, "AGCIN");
snd_soc_dapm_sync(codec);
}