diff options
author | Mark Brown <broonie@linaro.org> | 2013-08-13 13:25:41 -0400 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2013-08-15 06:35:09 -0400 |
commit | b9281f99e30f795f28f6ea216289900b6e870d01 (patch) | |
tree | 6ab801f0d750ec3867e0f9680157fab2ad52e8b0 | |
parent | 16695971bec3b8b2398f7ab8dfa4c5a22bfcf95d (diff) |
ASoC: pcm1681: Add DAPM support
Provide DAPM for the device, ensuring operation with DAPM required by the
core and making it easier to hook up external hardware to it.
Signed-off-by: Mark Brown <broonie@linaro.org>
-rw-r--r-- | sound/soc/codecs/pcm1681.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/sound/soc/codecs/pcm1681.c b/sound/soc/codecs/pcm1681.c index 51b18662e6aa..651ce0923675 100644 --- a/sound/soc/codecs/pcm1681.c +++ b/sound/soc/codecs/pcm1681.c | |||
@@ -206,6 +206,28 @@ static const struct snd_soc_dai_ops pcm1681_dai_ops = { | |||
206 | .digital_mute = pcm1681_digital_mute, | 206 | .digital_mute = pcm1681_digital_mute, |
207 | }; | 207 | }; |
208 | 208 | ||
209 | static const struct snd_soc_dapm_widget pcm1681_dapm_widgets[] = { | ||
210 | SND_SOC_DAPM_OUTPUT("VOUT1"), | ||
211 | SND_SOC_DAPM_OUTPUT("VOUT2"), | ||
212 | SND_SOC_DAPM_OUTPUT("VOUT3"), | ||
213 | SND_SOC_DAPM_OUTPUT("VOUT4"), | ||
214 | SND_SOC_DAPM_OUTPUT("VOUT5"), | ||
215 | SND_SOC_DAPM_OUTPUT("VOUT6"), | ||
216 | SND_SOC_DAPM_OUTPUT("VOUT7"), | ||
217 | SND_SOC_DAPM_OUTPUT("VOUT8"), | ||
218 | }; | ||
219 | |||
220 | static const struct snd_soc_dapm_route pcm1681_dapm_routes[] = { | ||
221 | { "VOUT1", NULL, "Playback" }, | ||
222 | { "VOUT2", NULL, "Playback" }, | ||
223 | { "VOUT3", NULL, "Playback" }, | ||
224 | { "VOUT4", NULL, "Playback" }, | ||
225 | { "VOUT5", NULL, "Playback" }, | ||
226 | { "VOUT6", NULL, "Playback" }, | ||
227 | { "VOUT7", NULL, "Playback" }, | ||
228 | { "VOUT8", NULL, "Playback" }, | ||
229 | }; | ||
230 | |||
209 | static const DECLARE_TLV_DB_SCALE(pcm1681_dac_tlv, -6350, 50, 1); | 231 | static const DECLARE_TLV_DB_SCALE(pcm1681_dac_tlv, -6350, 50, 1); |
210 | 232 | ||
211 | static const struct snd_kcontrol_new pcm1681_controls[] = { | 233 | static const struct snd_kcontrol_new pcm1681_controls[] = { |
@@ -258,6 +280,10 @@ static const struct regmap_config pcm1681_regmap = { | |||
258 | static struct snd_soc_codec_driver soc_codec_dev_pcm1681 = { | 280 | static struct snd_soc_codec_driver soc_codec_dev_pcm1681 = { |
259 | .controls = pcm1681_controls, | 281 | .controls = pcm1681_controls, |
260 | .num_controls = ARRAY_SIZE(pcm1681_controls), | 282 | .num_controls = ARRAY_SIZE(pcm1681_controls), |
283 | .dapm_widgets = pcm1681_dapm_widgets, | ||
284 | .num_dapm_widgets = ARRAY_SIZE(pcm1681_dapm_widgets), | ||
285 | .dapm_routes = pcm1681_dapm_routes, | ||
286 | .num_dapm_routes = ARRAY_SIZE(pcm1681_dapm_routes), | ||
261 | }; | 287 | }; |
262 | 288 | ||
263 | static const struct i2c_device_id pcm1681_i2c_id[] = { | 289 | static const struct i2c_device_id pcm1681_i2c_id[] = { |