diff options
author | Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> | 2019-06-06 00:08:38 -0400 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2019-06-06 16:26:05 -0400 |
commit | 1fcd25641d440495b26518c97fd6e3665a7df135 (patch) | |
tree | 989d7dfde4b66fdecce1a0b9878572b1f5298ed3 /sound/soc/mediatek | |
parent | 05ab66178cb27ee795aa458b43818d2caa2d3953 (diff) |
ASoC: mediatek: mt8173-rt5650-rt5514: use modern dai_link style
ASoC is now supporting modern style dai_link
(= snd_soc_dai_link_component) for CPU/Codec/Platform.
This patch switches to use it.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/mediatek')
-rw-r--r-- | sound/soc/mediatek/mt8173/mt8173-rt5650-rt5514.c | 51 |
1 files changed, 26 insertions, 25 deletions
diff --git a/sound/soc/mediatek/mt8173/mt8173-rt5650-rt5514.c b/sound/soc/mediatek/mt8173/mt8173-rt5650-rt5514.c index da5b58ce791b..8717e87bfe26 100644 --- a/sound/soc/mediatek/mt8173/mt8173-rt5650-rt5514.c +++ b/sound/soc/mediatek/mt8173/mt8173-rt5650-rt5514.c | |||
@@ -98,51 +98,51 @@ static int mt8173_rt5650_rt5514_init(struct snd_soc_pcm_runtime *runtime) | |||
98 | &mt8173_rt5650_rt5514_jack); | 98 | &mt8173_rt5650_rt5514_jack); |
99 | } | 99 | } |
100 | 100 | ||
101 | static struct snd_soc_dai_link_component mt8173_rt5650_rt5514_codecs[] = { | ||
102 | { | ||
103 | .dai_name = "rt5645-aif1", | ||
104 | }, | ||
105 | { | ||
106 | .dai_name = "rt5514-aif1", | ||
107 | }, | ||
108 | }; | ||
109 | |||
110 | enum { | 101 | enum { |
111 | DAI_LINK_PLAYBACK, | 102 | DAI_LINK_PLAYBACK, |
112 | DAI_LINK_CAPTURE, | 103 | DAI_LINK_CAPTURE, |
113 | DAI_LINK_CODEC_I2S, | 104 | DAI_LINK_CODEC_I2S, |
114 | }; | 105 | }; |
115 | 106 | ||
107 | SND_SOC_DAILINK_DEFS(playback, | ||
108 | DAILINK_COMP_ARRAY(COMP_CPU("DL1")), | ||
109 | DAILINK_COMP_ARRAY(COMP_DUMMY()), | ||
110 | DAILINK_COMP_ARRAY(COMP_EMPTY())); | ||
111 | |||
112 | SND_SOC_DAILINK_DEFS(capture, | ||
113 | DAILINK_COMP_ARRAY(COMP_CPU("VUL")), | ||
114 | DAILINK_COMP_ARRAY(COMP_DUMMY()), | ||
115 | DAILINK_COMP_ARRAY(COMP_EMPTY())); | ||
116 | |||
117 | SND_SOC_DAILINK_DEFS(codec, | ||
118 | DAILINK_COMP_ARRAY(COMP_CPU("I2S")), | ||
119 | DAILINK_COMP_ARRAY(COMP_CODEC(NULL, "rt5645-aif1"), | ||
120 | COMP_CODEC(NULL, "rt5514-aif1")), | ||
121 | DAILINK_COMP_ARRAY(COMP_EMPTY())); | ||
122 | |||
116 | /* Digital audio interface glue - connects codec <---> CPU */ | 123 | /* Digital audio interface glue - connects codec <---> CPU */ |
117 | static struct snd_soc_dai_link mt8173_rt5650_rt5514_dais[] = { | 124 | static struct snd_soc_dai_link mt8173_rt5650_rt5514_dais[] = { |
118 | /* Front End DAI links */ | 125 | /* Front End DAI links */ |
119 | [DAI_LINK_PLAYBACK] = { | 126 | [DAI_LINK_PLAYBACK] = { |
120 | .name = "rt5650_rt5514 Playback", | 127 | .name = "rt5650_rt5514 Playback", |
121 | .stream_name = "rt5650_rt5514 Playback", | 128 | .stream_name = "rt5650_rt5514 Playback", |
122 | .cpu_dai_name = "DL1", | ||
123 | .codec_name = "snd-soc-dummy", | ||
124 | .codec_dai_name = "snd-soc-dummy-dai", | ||
125 | .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, | 129 | .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, |
126 | .dynamic = 1, | 130 | .dynamic = 1, |
127 | .dpcm_playback = 1, | 131 | .dpcm_playback = 1, |
132 | SND_SOC_DAILINK_REG(playback), | ||
128 | }, | 133 | }, |
129 | [DAI_LINK_CAPTURE] = { | 134 | [DAI_LINK_CAPTURE] = { |
130 | .name = "rt5650_rt5514 Capture", | 135 | .name = "rt5650_rt5514 Capture", |
131 | .stream_name = "rt5650_rt5514 Capture", | 136 | .stream_name = "rt5650_rt5514 Capture", |
132 | .cpu_dai_name = "VUL", | ||
133 | .codec_name = "snd-soc-dummy", | ||
134 | .codec_dai_name = "snd-soc-dummy-dai", | ||
135 | .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, | 137 | .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, |
136 | .dynamic = 1, | 138 | .dynamic = 1, |
137 | .dpcm_capture = 1, | 139 | .dpcm_capture = 1, |
140 | SND_SOC_DAILINK_REG(capture), | ||
138 | }, | 141 | }, |
139 | /* Back End DAI links */ | 142 | /* Back End DAI links */ |
140 | [DAI_LINK_CODEC_I2S] = { | 143 | [DAI_LINK_CODEC_I2S] = { |
141 | .name = "Codec", | 144 | .name = "Codec", |
142 | .cpu_dai_name = "I2S", | ||
143 | .no_pcm = 1, | 145 | .no_pcm = 1, |
144 | .codecs = mt8173_rt5650_rt5514_codecs, | ||
145 | .num_codecs = 2, | ||
146 | .init = mt8173_rt5650_rt5514_init, | 146 | .init = mt8173_rt5650_rt5514_init, |
147 | .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | | 147 | .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | |
148 | SND_SOC_DAIFMT_CBS_CFS, | 148 | SND_SOC_DAIFMT_CBS_CFS, |
@@ -150,6 +150,7 @@ static struct snd_soc_dai_link mt8173_rt5650_rt5514_dais[] = { | |||
150 | .ignore_pmdown_time = 1, | 150 | .ignore_pmdown_time = 1, |
151 | .dpcm_playback = 1, | 151 | .dpcm_playback = 1, |
152 | .dpcm_capture = 1, | 152 | .dpcm_capture = 1, |
153 | SND_SOC_DAILINK_REG(codec), | ||
153 | }, | 154 | }, |
154 | }; | 155 | }; |
155 | 156 | ||
@@ -189,27 +190,27 @@ static int mt8173_rt5650_rt5514_dev_probe(struct platform_device *pdev) | |||
189 | } | 190 | } |
190 | 191 | ||
191 | for_each_card_prelinks(card, i, dai_link) { | 192 | for_each_card_prelinks(card, i, dai_link) { |
192 | if (dai_link->platform_name) | 193 | if (dai_link->platforms->name) |
193 | continue; | 194 | continue; |
194 | dai_link->platform_of_node = platform_node; | 195 | dai_link->platforms->of_node = platform_node; |
195 | } | 196 | } |
196 | 197 | ||
197 | mt8173_rt5650_rt5514_codecs[0].of_node = | 198 | mt8173_rt5650_rt5514_dais[DAI_LINK_CODEC_I2S].codecs[0].of_node = |
198 | of_parse_phandle(pdev->dev.of_node, "mediatek,audio-codec", 0); | 199 | of_parse_phandle(pdev->dev.of_node, "mediatek,audio-codec", 0); |
199 | if (!mt8173_rt5650_rt5514_codecs[0].of_node) { | 200 | if (!mt8173_rt5650_rt5514_dais[DAI_LINK_CODEC_I2S].codecs[0].of_node) { |
200 | dev_err(&pdev->dev, | 201 | dev_err(&pdev->dev, |
201 | "Property 'audio-codec' missing or invalid\n"); | 202 | "Property 'audio-codec' missing or invalid\n"); |
202 | return -EINVAL; | 203 | return -EINVAL; |
203 | } | 204 | } |
204 | mt8173_rt5650_rt5514_codecs[1].of_node = | 205 | mt8173_rt5650_rt5514_dais[DAI_LINK_CODEC_I2S].codecs[1].of_node = |
205 | of_parse_phandle(pdev->dev.of_node, "mediatek,audio-codec", 1); | 206 | of_parse_phandle(pdev->dev.of_node, "mediatek,audio-codec", 1); |
206 | if (!mt8173_rt5650_rt5514_codecs[1].of_node) { | 207 | if (!mt8173_rt5650_rt5514_dais[DAI_LINK_CODEC_I2S].codecs[1].of_node) { |
207 | dev_err(&pdev->dev, | 208 | dev_err(&pdev->dev, |
208 | "Property 'audio-codec' missing or invalid\n"); | 209 | "Property 'audio-codec' missing or invalid\n"); |
209 | return -EINVAL; | 210 | return -EINVAL; |
210 | } | 211 | } |
211 | mt8173_rt5650_rt5514_codec_conf[0].of_node = | 212 | mt8173_rt5650_rt5514_codec_conf[0].of_node = |
212 | mt8173_rt5650_rt5514_codecs[1].of_node; | 213 | mt8173_rt5650_rt5514_dais[DAI_LINK_CODEC_I2S].codecs[1].of_node; |
213 | 214 | ||
214 | card->dev = &pdev->dev; | 215 | card->dev = &pdev->dev; |
215 | 216 | ||