forked from luck/tmp_suning_uos_patched
ASoC: poodle: Automatically disconnect non-connected pins
The Zaurus SL-5600 seems to have a microphone input. Otherwise all DAPM input and output pins of the wm8731 are either used in the card's DAPM routing table or are marked as not connected. So add the microphone to the DAPM tables and set the fully_routed flag of the card instead of manually marking the unused inputs and outputs as not connected. This makes the code a bit shorter and cleaner. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
6b9aa50cd2
commit
9b44bacd58
|
@ -192,6 +192,7 @@ static int poodle_amp_event(struct snd_soc_dapm_widget *w,
|
|||
static const struct snd_soc_dapm_widget wm8731_dapm_widgets[] = {
|
||||
SND_SOC_DAPM_HP("Headphone Jack", NULL),
|
||||
SND_SOC_DAPM_SPK("Ext Spk", poodle_amp_event),
|
||||
SND_SOC_DAPM_MIC("Microphone", NULL),
|
||||
};
|
||||
|
||||
/* Corgi machine connections to the codec pins */
|
||||
|
@ -204,6 +205,8 @@ static const struct snd_soc_dapm_route poodle_audio_map[] = {
|
|||
/* speaker connected to LOUT, ROUT */
|
||||
{"Ext Spk", NULL, "ROUT"},
|
||||
{"Ext Spk", NULL, "LOUT"},
|
||||
|
||||
{"MICIN", NULL, "Microphone"},
|
||||
};
|
||||
|
||||
static const char *jack_function[] = {"Off", "Headphone"};
|
||||
|
@ -220,20 +223,6 @@ static const struct snd_kcontrol_new wm8731_poodle_controls[] = {
|
|||
poodle_set_spk),
|
||||
};
|
||||
|
||||
/*
|
||||
* Logic for a wm8731 as connected on a Sharp SL-C7x0 Device
|
||||
*/
|
||||
static int poodle_wm8731_init(struct snd_soc_pcm_runtime *rtd)
|
||||
{
|
||||
struct snd_soc_codec *codec = rtd->codec;
|
||||
struct snd_soc_dapm_context *dapm = &codec->dapm;
|
||||
|
||||
snd_soc_dapm_nc_pin(dapm, "LLINEIN");
|
||||
snd_soc_dapm_nc_pin(dapm, "RLINEIN");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* poodle digital audio interface glue - connects codec <--> CPU */
|
||||
static struct snd_soc_dai_link poodle_dai = {
|
||||
.name = "WM8731",
|
||||
|
@ -242,7 +231,6 @@ static struct snd_soc_dai_link poodle_dai = {
|
|||
.codec_dai_name = "wm8731-hifi",
|
||||
.platform_name = "pxa-pcm-audio",
|
||||
.codec_name = "wm8731.0-001b",
|
||||
.init = poodle_wm8731_init,
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF |
|
||||
SND_SOC_DAIFMT_CBS_CFS,
|
||||
.ops = &poodle_ops,
|
||||
|
@ -261,6 +249,7 @@ static struct snd_soc_card poodle = {
|
|||
.num_dapm_widgets = ARRAY_SIZE(wm8731_dapm_widgets),
|
||||
.dapm_routes = poodle_audio_map,
|
||||
.num_dapm_routes = ARRAY_SIZE(poodle_audio_map),
|
||||
.fully_routed = true,
|
||||
};
|
||||
|
||||
static int poodle_probe(struct platform_device *pdev)
|
||||
|
|
Loading…
Reference in New Issue
Block a user