diff options
author | Barry Song <21cnbao@gmail.com> | 2009-08-11 23:34:25 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2009-08-13 05:47:22 -0400 |
commit | c4ff357ada4fc7a73d899a496b636c698519b958 (patch) | |
tree | 855e3c86eab4fb0ca6de5d9cf85f8805fb50f335 /sound/soc/codecs/ad1938.c | |
parent | d2a382143b35a486b8089861790d6b3ec4e46932 (diff) |
ASoC: add output/input widgets in ad1938 to make dac/adc dynamic PM work
According to the function dapm_dac_check_power() in
sound/soc/soc-dapm.c, dac power can't be on/off stand-alone without any
output widget as sink. And according to dapm_adc_check_power(), adc
power can't be on/off stand-alone without any input widget as source. So
we can't only define some stand-alone SND_SOC_DAPM_DAC/SND_SOC_DAPM_ADC
to hope their power can be managed dynamically.
Signed-off-by: Barry Song <21cnbao@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/codecs/ad1938.c')
-rw-r--r-- | sound/soc/codecs/ad1938.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/sound/soc/codecs/ad1938.c b/sound/soc/codecs/ad1938.c index 2ffb1af152b3..051f68cc9977 100644 --- a/sound/soc/codecs/ad1938.c +++ b/sound/soc/codecs/ad1938.c | |||
@@ -99,11 +99,23 @@ static const struct snd_soc_dapm_widget ad1938_dapm_widgets[] = { | |||
99 | SND_SOC_DAPM_DAC("DAC", "Playback", AD1938_DAC_CTRL0, 0, 1), | 99 | SND_SOC_DAPM_DAC("DAC", "Playback", AD1938_DAC_CTRL0, 0, 1), |
100 | SND_SOC_DAPM_ADC("ADC", "Capture", SND_SOC_NOPM, 0, 0), | 100 | SND_SOC_DAPM_ADC("ADC", "Capture", SND_SOC_NOPM, 0, 0), |
101 | SND_SOC_DAPM_SUPPLY("ADC_PWR", AD1938_ADC_CTRL0, 0, 1, NULL, 0), | 101 | SND_SOC_DAPM_SUPPLY("ADC_PWR", AD1938_ADC_CTRL0, 0, 1, NULL, 0), |
102 | SND_SOC_DAPM_OUTPUT("DAC1OUT"), | ||
103 | SND_SOC_DAPM_OUTPUT("DAC2OUT"), | ||
104 | SND_SOC_DAPM_OUTPUT("DAC3OUT"), | ||
105 | SND_SOC_DAPM_OUTPUT("DAC4OUT"), | ||
106 | SND_SOC_DAPM_INPUT("ADC1IN"), | ||
107 | SND_SOC_DAPM_INPUT("ADC2IN"), | ||
102 | }; | 108 | }; |
103 | 109 | ||
104 | static const struct snd_soc_dapm_route audio_paths[] = { | 110 | static const struct snd_soc_dapm_route audio_paths[] = { |
105 | { "DAC", NULL, "ADC_PWR" }, | 111 | { "DAC", NULL, "ADC_PWR" }, |
106 | { "ADC", NULL, "ADC_PWR" }, | 112 | { "ADC", NULL, "ADC_PWR" }, |
113 | { "DAC1OUT", "DAC1 Switch", "DAC" }, | ||
114 | { "DAC2OUT", "DAC2 Switch", "DAC" }, | ||
115 | { "DAC3OUT", "DAC3 Switch", "DAC" }, | ||
116 | { "DAC4OUT", "DAC4 Switch", "DAC" }, | ||
117 | { "ADC", "ADC1 Switch", "ADC1IN" }, | ||
118 | { "ADC", "ADC2 Switch", "ADC2IN" }, | ||
107 | }; | 119 | }; |
108 | 120 | ||
109 | /* | 121 | /* |