[alsa-devel] [PATCH] ASoC: ad1980: Provide stub DAPM support

Lars-Peter Clausen lars at metafoo.de
Wed Aug 7 09:53:02 CEST 2013


On 08/07/2013 12:51 AM, Mark Brown wrote:
> From: Mark Brown <broonie at linaro.org>
> 
> Since non-DAPM devices are not going to be supported provide DAPM input
> and output widgets and hook them up to the DAIs.
> 
> Signed-off-by: Mark Brown <broonie at linaro.org>

I unfortunately can't test this at the moment, but looks good, thanks.

Acked-by: Lars-Peter Clausen <lars at metafoo.de>

> ---
>  sound/soc/codecs/ad1980.c | 43 +++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 43 insertions(+)
> 
> diff --git a/sound/soc/codecs/ad1980.c b/sound/soc/codecs/ad1980.c
> index 89fcf7d..7257a88 100644
> --- a/sound/soc/codecs/ad1980.c
> +++ b/sound/soc/codecs/ad1980.c
> @@ -96,6 +96,44 @@ SOC_ENUM("Capture Source", ad1980_cap_src),
>  SOC_SINGLE("Mic Boost Switch", AC97_MIC, 6, 1, 0),
>  };
>  
> +static const struct snd_soc_dapm_widget ad1980_dapm_widgets[] = {
> +SND_SOC_DAPM_INPUT("MIC1"),
> +SND_SOC_DAPM_INPUT("MIC2"),
> +SND_SOC_DAPM_INPUT("CD_L"),
> +SND_SOC_DAPM_INPUT("CD_R"),
> +SND_SOC_DAPM_INPUT("AUX_L"),
> +SND_SOC_DAPM_INPUT("AUX_R"),
> +SND_SOC_DAPM_INPUT("LINE_IN_L"),
> +SND_SOC_DAPM_INPUT("LINE_IN_R"),
> +
> +SND_SOC_DAPM_OUTPUT("LFE_OUT"),
> +SND_SOC_DAPM_OUTPUT("CENTER_OUT"),
> +SND_SOC_DAPM_OUTPUT("LINE_OUT_L"),
> +SND_SOC_DAPM_OUTPUT("LINE_OUT_R"),
> +SND_SOC_DAPM_OUTPUT("MONO_OUT"),
> +SND_SOC_DAPM_OUTPUT("HP_OUT_L"),
> +SND_SOC_DAPM_OUTPUT("HP_OUT_R"),
> +};
> +
> +static const struct snd_soc_dapm_route ad1980_dapm_routes[] = {
> +	{ "Capture", NULL, "MIC1" },
> +	{ "Capture", NULL, "MIC2" },
> +	{ "Capture", NULL, "CD_L" },
> +	{ "Capture", NULL, "CD_R" },
> +	{ "Capture", NULL, "AUX_L" },
> +	{ "Capture", NULL, "AUX_R" },
> +	{ "Capture", NULL, "LINE_IN_L" },
> +	{ "Capture", NULL, "LINE_IN_R" },
> +
> +	{ "LFE_OUT", NULL, "Playback" },
> +	{ "CENTER_OUT", NULL, "Playback" },
> +	{ "LINE_OUT_L", NULL, "Playback" },
> +	{ "LINE_OUT_R", NULL, "Playback" },
> +	{ "MONO_OUT", NULL, "Playback" },
> +	{ "HP_OUT_L", NULL, "Playback" },
> +	{ "HP_OUT_R", NULL, "Playback" },
> +};
> +
>  static unsigned int ac97_read(struct snd_soc_codec *codec,
>  	unsigned int reg)
>  {
> @@ -253,6 +291,11 @@ static struct snd_soc_codec_driver soc_codec_dev_ad1980 = {
>  	.reg_cache_step = 2,
>  	.write = ac97_write,
>  	.read = ac97_read,
> +
> +	.dapm_widgets = ad1980_dapm_widgets,
> +	.num_dapm_widgets = ARRAY_SIZE(ad1980_dapm_widgets),
> +	.dapm_routes = ad1980_dapm_routes,
> +	.num_dapm_routes = ARRAY_SIZE(ad1980_dapm_routes),
>  };
>  
>  static int ad1980_probe(struct platform_device *pdev)
> 



More information about the Alsa-devel mailing list