diff options
Diffstat (limited to 'sound/soc/blackfin/bf5xx-i2s.c')
-rw-r--r-- | sound/soc/blackfin/bf5xx-i2s.c | 31 |
1 files changed, 21 insertions, 10 deletions
diff --git a/sound/soc/blackfin/bf5xx-i2s.c b/sound/soc/blackfin/bf5xx-i2s.c index e020c160ee44..d1d95d2393fe 100644 --- a/sound/soc/blackfin/bf5xx-i2s.c +++ b/sound/soc/blackfin/bf5xx-i2s.c | |||
@@ -132,7 +132,8 @@ static int bf5xx_i2s_set_dai_fmt(struct snd_soc_dai *cpu_dai, | |||
132 | return ret; | 132 | return ret; |
133 | } | 133 | } |
134 | 134 | ||
135 | static int bf5xx_i2s_startup(struct snd_pcm_substream *substream) | 135 | static int bf5xx_i2s_startup(struct snd_pcm_substream *substream, |
136 | struct snd_soc_dai *dai) | ||
136 | { | 137 | { |
137 | pr_debug("%s enter\n", __func__); | 138 | pr_debug("%s enter\n", __func__); |
138 | 139 | ||
@@ -142,7 +143,8 @@ static int bf5xx_i2s_startup(struct snd_pcm_substream *substream) | |||
142 | } | 143 | } |
143 | 144 | ||
144 | static int bf5xx_i2s_hw_params(struct snd_pcm_substream *substream, | 145 | static int bf5xx_i2s_hw_params(struct snd_pcm_substream *substream, |
145 | struct snd_pcm_hw_params *params) | 146 | struct snd_pcm_hw_params *params, |
147 | struct snd_soc_dai *dai) | ||
146 | { | 148 | { |
147 | int ret = 0; | 149 | int ret = 0; |
148 | 150 | ||
@@ -193,7 +195,8 @@ static int bf5xx_i2s_hw_params(struct snd_pcm_substream *substream, | |||
193 | return 0; | 195 | return 0; |
194 | } | 196 | } |
195 | 197 | ||
196 | static void bf5xx_i2s_shutdown(struct snd_pcm_substream *substream) | 198 | static void bf5xx_i2s_shutdown(struct snd_pcm_substream *substream, |
199 | struct snd_soc_dai *dai) | ||
197 | { | 200 | { |
198 | pr_debug("%s enter\n", __func__); | 201 | pr_debug("%s enter\n", __func__); |
199 | bf5xx_i2s.counter--; | 202 | bf5xx_i2s.counter--; |
@@ -219,16 +222,14 @@ static int bf5xx_i2s_probe(struct platform_device *pdev, | |||
219 | return 0; | 222 | return 0; |
220 | } | 223 | } |
221 | 224 | ||
222 | static void bf5xx_i2s_remove(struct platform_device *pdev, | 225 | static void bf5xx_i2s_remove(struct snd_soc_dai *dai) |
223 | struct snd_soc_dai *dai) | ||
224 | { | 226 | { |
225 | pr_debug("%s enter\n", __func__); | 227 | pr_debug("%s enter\n", __func__); |
226 | peripheral_free_list(&sport_req[sport_num][0]); | 228 | peripheral_free_list(&sport_req[sport_num][0]); |
227 | } | 229 | } |
228 | 230 | ||
229 | #ifdef CONFIG_PM | 231 | #ifdef CONFIG_PM |
230 | static int bf5xx_i2s_suspend(struct platform_device *dev, | 232 | static int bf5xx_i2s_suspend(struct snd_soc_dai *dai) |
231 | struct snd_soc_dai *dai) | ||
232 | { | 233 | { |
233 | struct sport_device *sport = | 234 | struct sport_device *sport = |
234 | (struct sport_device *)dai->private_data; | 235 | (struct sport_device *)dai->private_data; |
@@ -289,7 +290,6 @@ static int bf5xx_i2s_resume(struct platform_device *pdev, | |||
289 | struct snd_soc_dai bf5xx_i2s_dai = { | 290 | struct snd_soc_dai bf5xx_i2s_dai = { |
290 | .name = "bf5xx-i2s", | 291 | .name = "bf5xx-i2s", |
291 | .id = 0, | 292 | .id = 0, |
292 | .type = SND_SOC_DAI_I2S, | ||
293 | .probe = bf5xx_i2s_probe, | 293 | .probe = bf5xx_i2s_probe, |
294 | .remove = bf5xx_i2s_remove, | 294 | .remove = bf5xx_i2s_remove, |
295 | .suspend = bf5xx_i2s_suspend, | 295 | .suspend = bf5xx_i2s_suspend, |
@@ -307,13 +307,24 @@ struct snd_soc_dai bf5xx_i2s_dai = { | |||
307 | .ops = { | 307 | .ops = { |
308 | .startup = bf5xx_i2s_startup, | 308 | .startup = bf5xx_i2s_startup, |
309 | .shutdown = bf5xx_i2s_shutdown, | 309 | .shutdown = bf5xx_i2s_shutdown, |
310 | .hw_params = bf5xx_i2s_hw_params,}, | 310 | .hw_params = bf5xx_i2s_hw_params, |
311 | .dai_ops = { | ||
312 | .set_fmt = bf5xx_i2s_set_dai_fmt, | 311 | .set_fmt = bf5xx_i2s_set_dai_fmt, |
313 | }, | 312 | }, |
314 | }; | 313 | }; |
315 | EXPORT_SYMBOL_GPL(bf5xx_i2s_dai); | 314 | EXPORT_SYMBOL_GPL(bf5xx_i2s_dai); |
316 | 315 | ||
316 | static int __init bfin_i2s_init(void) | ||
317 | { | ||
318 | return snd_soc_register_dai(&bf5xx_i2s_dai); | ||
319 | } | ||
320 | module_init(bfin_i2s_init); | ||
321 | |||
322 | static void __exit bfin_i2s_exit(void) | ||
323 | { | ||
324 | snd_soc_unregister_dai(&bf5xx_i2s_dai); | ||
325 | } | ||
326 | module_exit(bfin_i2s_exit); | ||
327 | |||
317 | /* Module information */ | 328 | /* Module information */ |
318 | MODULE_AUTHOR("Cliff Cai"); | 329 | MODULE_AUTHOR("Cliff Cai"); |
319 | MODULE_DESCRIPTION("I2S driver for ADI Blackfin"); | 330 | MODULE_DESCRIPTION("I2S driver for ADI Blackfin"); |