mirror of
https://github.com/torvalds/linux
synced 2024-09-22 12:26:27 +00:00
ASoC: omap: rx51: Convert to table based control and DAPM setup
Use table based setup to register the controls and DAPM widgets and routes. This on one hand makes the code a bit shorter and cleaner and on the other hand the board level DAPM elements get registered in the card's DAPM context rather than in the CODEC's DAPM context. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
This commit is contained in:
parent
74a1672068
commit
81fc5dd4d1
|
@ -237,9 +237,6 @@ static const struct snd_soc_dapm_widget aic34_dapm_widgets[] = {
|
||||||
SND_SOC_DAPM_HP("Headphone Jack", rx51_hp_event),
|
SND_SOC_DAPM_HP("Headphone Jack", rx51_hp_event),
|
||||||
SND_SOC_DAPM_MIC("HS Mic", NULL),
|
SND_SOC_DAPM_MIC("HS Mic", NULL),
|
||||||
SND_SOC_DAPM_LINE("FM Transmitter", NULL),
|
SND_SOC_DAPM_LINE("FM Transmitter", NULL),
|
||||||
};
|
|
||||||
|
|
||||||
static const struct snd_soc_dapm_widget aic34_dapm_widgetsb[] = {
|
|
||||||
SND_SOC_DAPM_SPK("Earphone", NULL),
|
SND_SOC_DAPM_SPK("Earphone", NULL),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -253,9 +250,7 @@ static const struct snd_soc_dapm_route audio_map[] = {
|
||||||
|
|
||||||
{"DMic Rate 64", NULL, "Mic Bias"},
|
{"DMic Rate 64", NULL, "Mic Bias"},
|
||||||
{"Mic Bias", NULL, "DMic"},
|
{"Mic Bias", NULL, "DMic"},
|
||||||
};
|
|
||||||
|
|
||||||
static const struct snd_soc_dapm_route audio_mapb[] = {
|
|
||||||
{"b LINE2R", NULL, "MONO_LOUT"},
|
{"b LINE2R", NULL, "MONO_LOUT"},
|
||||||
{"Earphone", NULL, "b HPLOUT"},
|
{"Earphone", NULL, "b HPLOUT"},
|
||||||
|
|
||||||
|
@ -281,9 +276,6 @@ static const struct snd_kcontrol_new aic34_rx51_controls[] = {
|
||||||
SOC_ENUM_EXT("Jack Function", rx51_enum[2],
|
SOC_ENUM_EXT("Jack Function", rx51_enum[2],
|
||||||
rx51_get_jack, rx51_set_jack),
|
rx51_get_jack, rx51_set_jack),
|
||||||
SOC_DAPM_PIN_SWITCH("FM Transmitter"),
|
SOC_DAPM_PIN_SWITCH("FM Transmitter"),
|
||||||
};
|
|
||||||
|
|
||||||
static const struct snd_kcontrol_new aic34_rx51_controlsb[] = {
|
|
||||||
SOC_DAPM_PIN_SWITCH("Earphone"),
|
SOC_DAPM_PIN_SWITCH("Earphone"),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -298,19 +290,6 @@ static int rx51_aic34_init(struct snd_soc_pcm_runtime *rtd)
|
||||||
snd_soc_dapm_nc_pin(dapm, "MIC3R");
|
snd_soc_dapm_nc_pin(dapm, "MIC3R");
|
||||||
snd_soc_dapm_nc_pin(dapm, "LINE1R");
|
snd_soc_dapm_nc_pin(dapm, "LINE1R");
|
||||||
|
|
||||||
/* Add RX-51 specific controls */
|
|
||||||
err = snd_soc_add_card_controls(rtd->card, aic34_rx51_controls,
|
|
||||||
ARRAY_SIZE(aic34_rx51_controls));
|
|
||||||
if (err < 0)
|
|
||||||
return err;
|
|
||||||
|
|
||||||
/* Add RX-51 specific widgets */
|
|
||||||
snd_soc_dapm_new_controls(dapm, aic34_dapm_widgets,
|
|
||||||
ARRAY_SIZE(aic34_dapm_widgets));
|
|
||||||
|
|
||||||
/* Set up RX-51 specific audio path audio_map */
|
|
||||||
snd_soc_dapm_add_routes(dapm, audio_map, ARRAY_SIZE(audio_map));
|
|
||||||
|
|
||||||
err = tpa6130a2_add_controls(codec);
|
err = tpa6130a2_add_controls(codec);
|
||||||
if (err < 0)
|
if (err < 0)
|
||||||
return err;
|
return err;
|
||||||
|
@ -333,24 +312,6 @@ static int rx51_aic34_init(struct snd_soc_pcm_runtime *rtd)
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int rx51_aic34b_init(struct snd_soc_dapm_context *dapm)
|
|
||||||
{
|
|
||||||
int err;
|
|
||||||
|
|
||||||
err = snd_soc_add_card_controls(dapm->card, aic34_rx51_controlsb,
|
|
||||||
ARRAY_SIZE(aic34_rx51_controlsb));
|
|
||||||
if (err < 0)
|
|
||||||
return err;
|
|
||||||
|
|
||||||
err = snd_soc_dapm_new_controls(dapm, aic34_dapm_widgetsb,
|
|
||||||
ARRAY_SIZE(aic34_dapm_widgetsb));
|
|
||||||
if (err < 0)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
return snd_soc_dapm_add_routes(dapm, audio_mapb,
|
|
||||||
ARRAY_SIZE(audio_mapb));
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Digital audio interface glue - connects codec <--> CPU */
|
/* Digital audio interface glue - connects codec <--> CPU */
|
||||||
static struct snd_soc_dai_link rx51_dai[] = {
|
static struct snd_soc_dai_link rx51_dai[] = {
|
||||||
{
|
{
|
||||||
|
@ -371,7 +332,6 @@ static struct snd_soc_aux_dev rx51_aux_dev[] = {
|
||||||
{
|
{
|
||||||
.name = "TLV320AIC34b",
|
.name = "TLV320AIC34b",
|
||||||
.codec_name = "tlv320aic3x-codec.2-0019",
|
.codec_name = "tlv320aic3x-codec.2-0019",
|
||||||
.init = rx51_aic34b_init,
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -392,6 +352,13 @@ static struct snd_soc_card rx51_sound_card = {
|
||||||
.num_aux_devs = ARRAY_SIZE(rx51_aux_dev),
|
.num_aux_devs = ARRAY_SIZE(rx51_aux_dev),
|
||||||
.codec_conf = rx51_codec_conf,
|
.codec_conf = rx51_codec_conf,
|
||||||
.num_configs = ARRAY_SIZE(rx51_codec_conf),
|
.num_configs = ARRAY_SIZE(rx51_codec_conf),
|
||||||
|
|
||||||
|
.controls = aic34_rx51_controls,
|
||||||
|
.num_controls = ARRAY_SIZE(aic34_rx51_controls),
|
||||||
|
.dapm_widgets = aic34_dapm_widgets,
|
||||||
|
.num_dapm_widgets = ARRAY_SIZE(aic34_dapm_widgets),
|
||||||
|
.dapm_routes = audio_map,
|
||||||
|
.num_dapm_routes = ARRAY_SIZE(audio_map),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device *rx51_snd_device;
|
static struct platform_device *rx51_snd_device;
|
||||||
|
|
Loading…
Reference in a new issue