Title: [7463] trunk/sound/soc/codecs/adau1371.c: task[#5443]add dapm widgets
Revision
7463
Author
cliff
Date
2009-09-25 05:59:38 -0400 (Fri, 25 Sep 2009)

Log Message

task[#5443]add dapm widgets

Modified Paths

Diff

Modified: trunk/sound/soc/codecs/adau1371.c (7462 => 7463)


--- trunk/sound/soc/codecs/adau1371.c	2009-09-25 09:08:31 UTC (rev 7462)
+++ trunk/sound/soc/codecs/adau1371.c	2009-09-25 09:59:38 UTC (rev 7463)
@@ -583,6 +583,40 @@
 	}
 };
 
+static const struct snd_soc_dapm_widget adau1371_dapm_widgets[] = {
+	SND_SOC_DAPM_DAC("DAC", "Playback", SND_SOC_NOPM, 0, 0),
+	SND_SOC_DAPM_ADC("ADC", "Capture", SND_SOC_NOPM, 0, 0),
+	SND_SOC_DAPM_OUTPUT("LINE OUT"),
+	SND_SOC_DAPM_OUTPUT("CLASS D"),
+	SND_SOC_DAPM_OUTPUT("HEADPHONE"),
+	SND_SOC_DAPM_INPUT("INPA"),
+	SND_SOC_DAPM_INPUT("INPB"),
+	SND_SOC_DAPM_INPUT("INPC"),
+	SND_SOC_DAPM_INPUT("INPD"),
+};
+
+static const struct snd_soc_dapm_route audio_conn[] = {
+	{"Output Mixer", "Playback Switch", "DAC"},
+	{ "LINE OUT", NULL, "Output Mixer"},
+	{ "CLASS D", NULL, "Output Mixer"},
+	{ "HEADPHONE", NULL, "Output Mixer"},
+	{ "ADC", "Input Source", "INPA" },
+	{ "ADC", "Input Source", "INPB" },
+	{ "ADC", "Input Source", "INPC" },
+	{ "ADC", "Input Source", "INPD" },
+};
+
+static int adau1371_add_widgets(struct snd_soc_codec *codec)
+{
+	snd_soc_dapm_new_controls(codec, adau1371_dapm_widgets,
+				  ARRAY_SIZE(adau1371_dapm_widgets));
+
+	snd_soc_dapm_add_routes(codec, audio_conn, ARRAY_SIZE(audio_conn));
+
+	snd_soc_dapm_new_widgets(codec);
+	return 0;
+}
+
 #define adau1371_reset(c) adau1371_write(c, ADAU1371_RESET, 0)
 
 static inline int get_coeff(int mclk, int rate)
@@ -955,6 +989,7 @@
 
 	snd_soc_add_controls(codec, adau1371_snd_controls,
 				ARRAY_SIZE(adau1371_snd_controls));
+	adau1371_add_widgets(codec);
 	ret = snd_soc_init_card(socdev);
 	if (ret < 0) {
 		dev_err(socdev->dev, "failed to register card\n");
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits

Reply via email to