aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/tegra/tegra_wm8903.c
diff options
context:
space:
mode:
authorStephen Warren <swarren@nvidia.com>2012-06-06 19:15:48 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-06-07 19:02:29 -0400
commit408dafc4235e393036708126057e4d643f579486 (patch)
tree792772116663f273892e1e825d4befd31d777106 /sound/soc/tegra/tegra_wm8903.c
parent9515c1010c98347ec92d923bd3e23793fa6dc6fe (diff)
ASoC: tegra: statically define DAI link format
Define the DAI format statically in the dai_link, rather than executing code to set it each time the hw params are set. Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/tegra/tegra_wm8903.c')
-rw-r--r--sound/soc/tegra/tegra_wm8903.c22
1 files changed, 3 insertions, 19 deletions
diff --git a/sound/soc/tegra/tegra_wm8903.c b/sound/soc/tegra/tegra_wm8903.c
index 1fd71e5a9eb9..087d3d8d6c06 100644
--- a/sound/soc/tegra/tegra_wm8903.c
+++ b/sound/soc/tegra/tegra_wm8903.c
@@ -58,7 +58,6 @@ static int tegra_wm8903_hw_params(struct snd_pcm_substream *substream,
58{ 58{
59 struct snd_soc_pcm_runtime *rtd = substream->private_data; 59 struct snd_soc_pcm_runtime *rtd = substream->private_data;
60 struct snd_soc_dai *codec_dai = rtd->codec_dai; 60 struct snd_soc_dai *codec_dai = rtd->codec_dai;
61 struct snd_soc_dai *cpu_dai = rtd->cpu_dai;
62 struct snd_soc_codec *codec = rtd->codec; 61 struct snd_soc_codec *codec = rtd->codec;
63 struct snd_soc_card *card = codec->card; 62 struct snd_soc_card *card = codec->card;
64 struct tegra_wm8903 *machine = snd_soc_card_get_drvdata(card); 63 struct tegra_wm8903 *machine = snd_soc_card_get_drvdata(card);
@@ -86,24 +85,6 @@ static int tegra_wm8903_hw_params(struct snd_pcm_substream *substream,
86 return err; 85 return err;
87 } 86 }
88 87
89 err = snd_soc_dai_set_fmt(codec_dai,
90 SND_SOC_DAIFMT_I2S |
91 SND_SOC_DAIFMT_NB_NF |
92 SND_SOC_DAIFMT_CBS_CFS);
93 if (err < 0) {
94 dev_err(card->dev, "codec_dai fmt not set\n");
95 return err;
96 }
97
98 err = snd_soc_dai_set_fmt(cpu_dai,
99 SND_SOC_DAIFMT_I2S |
100 SND_SOC_DAIFMT_NB_NF |
101 SND_SOC_DAIFMT_CBS_CFS);
102 if (err < 0) {
103 dev_err(card->dev, "cpu_dai fmt not set\n");
104 return err;
105 }
106
107 err = snd_soc_dai_set_sysclk(codec_dai, 0, mclk, 88 err = snd_soc_dai_set_sysclk(codec_dai, 0, mclk,
108 SND_SOC_CLOCK_IN); 89 SND_SOC_CLOCK_IN);
109 if (err < 0) { 90 if (err < 0) {
@@ -240,6 +221,9 @@ static struct snd_soc_dai_link tegra_wm8903_dai = {
240 .codec_dai_name = "wm8903-hifi", 221 .codec_dai_name = "wm8903-hifi",
241 .init = tegra_wm8903_init, 222 .init = tegra_wm8903_init,
242 .ops = &tegra_wm8903_ops, 223 .ops = &tegra_wm8903_ops,
224 .dai_fmt = SND_SOC_DAIFMT_I2S |
225 SND_SOC_DAIFMT_NB_NF |
226 SND_SOC_DAIFMT_CBS_CFS,
243}; 227};
244 228
245static struct snd_soc_card snd_soc_tegra_wm8903 = { 229static struct snd_soc_card snd_soc_tegra_wm8903 = {