diff options
author | Stephen Warren <swarren@nvidia.com> | 2012-06-06 19:15:48 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-06-07 19:02:29 -0400 |
commit | 408dafc4235e393036708126057e4d643f579486 (patch) | |
tree | 792772116663f273892e1e825d4befd31d777106 /sound/soc/tegra | |
parent | 9515c1010c98347ec92d923bd3e23793fa6dc6fe (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')
-rw-r--r-- | sound/soc/tegra/tegra_wm8903.c | 22 | ||||
-rw-r--r-- | sound/soc/tegra/trimslice.c | 22 |
2 files changed, 6 insertions, 38 deletions
diff --git a/sound/soc/tegra/tegra_wm8903.c b/sound/soc/tegra/tegra_wm8903.c index 1fd71e5a9eb..087d3d8d6c0 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 | ||
245 | static struct snd_soc_card snd_soc_tegra_wm8903 = { | 229 | static struct snd_soc_card snd_soc_tegra_wm8903 = { |
diff --git a/sound/soc/tegra/trimslice.c b/sound/soc/tegra/trimslice.c index 5815430e852..62bb805022d 100644 --- a/sound/soc/tegra/trimslice.c +++ b/sound/soc/tegra/trimslice.c | |||
@@ -52,7 +52,6 @@ static int trimslice_asoc_hw_params(struct snd_pcm_substream *substream, | |||
52 | { | 52 | { |
53 | struct snd_soc_pcm_runtime *rtd = substream->private_data; | 53 | struct snd_soc_pcm_runtime *rtd = substream->private_data; |
54 | struct snd_soc_dai *codec_dai = rtd->codec_dai; | 54 | struct snd_soc_dai *codec_dai = rtd->codec_dai; |
55 | struct snd_soc_dai *cpu_dai = rtd->cpu_dai; | ||
56 | struct snd_soc_codec *codec = rtd->codec; | 55 | struct snd_soc_codec *codec = rtd->codec; |
57 | struct snd_soc_card *card = codec->card; | 56 | struct snd_soc_card *card = codec->card; |
58 | struct tegra_trimslice *trimslice = snd_soc_card_get_drvdata(card); | 57 | struct tegra_trimslice *trimslice = snd_soc_card_get_drvdata(card); |
@@ -68,24 +67,6 @@ static int trimslice_asoc_hw_params(struct snd_pcm_substream *substream, | |||
68 | return err; | 67 | return err; |
69 | } | 68 | } |
70 | 69 | ||
71 | err = snd_soc_dai_set_fmt(codec_dai, | ||
72 | SND_SOC_DAIFMT_I2S | | ||
73 | SND_SOC_DAIFMT_NB_NF | | ||
74 | SND_SOC_DAIFMT_CBS_CFS); | ||
75 | if (err < 0) { | ||
76 | dev_err(card->dev, "codec_dai fmt not set\n"); | ||
77 | return err; | ||
78 | } | ||
79 | |||
80 | err = snd_soc_dai_set_fmt(cpu_dai, | ||
81 | SND_SOC_DAIFMT_I2S | | ||
82 | SND_SOC_DAIFMT_NB_NF | | ||
83 | SND_SOC_DAIFMT_CBS_CFS); | ||
84 | if (err < 0) { | ||
85 | dev_err(card->dev, "cpu_dai fmt not set\n"); | ||
86 | return err; | ||
87 | } | ||
88 | |||
89 | err = snd_soc_dai_set_sysclk(codec_dai, 0, mclk, | 70 | err = snd_soc_dai_set_sysclk(codec_dai, 0, mclk, |
90 | SND_SOC_CLOCK_IN); | 71 | SND_SOC_CLOCK_IN); |
91 | if (err < 0) { | 72 | if (err < 0) { |
@@ -121,6 +102,9 @@ static struct snd_soc_dai_link trimslice_tlv320aic23_dai = { | |||
121 | .cpu_dai_name = "tegra20-i2s.0", | 102 | .cpu_dai_name = "tegra20-i2s.0", |
122 | .codec_dai_name = "tlv320aic23-hifi", | 103 | .codec_dai_name = "tlv320aic23-hifi", |
123 | .ops = &trimslice_asoc_ops, | 104 | .ops = &trimslice_asoc_ops, |
105 | .dai_fmt = SND_SOC_DAIFMT_I2S | | ||
106 | SND_SOC_DAIFMT_NB_NF | | ||
107 | SND_SOC_DAIFMT_CBS_CFS, | ||
124 | }; | 108 | }; |
125 | 109 | ||
126 | static struct snd_soc_card snd_soc_trimslice = { | 110 | static struct snd_soc_card snd_soc_trimslice = { |