diff options
Diffstat (limited to 'sound/soc/sh')
-rw-r--r-- | sound/soc/sh/dma-sh7760.c | 12 | ||||
-rw-r--r-- | sound/soc/sh/hac.c | 19 | ||||
-rw-r--r-- | sound/soc/sh/sh7760-ac97.c | 6 | ||||
-rw-r--r-- | sound/soc/sh/ssi.c | 30 |
4 files changed, 51 insertions, 16 deletions
diff --git a/sound/soc/sh/dma-sh7760.c b/sound/soc/sh/dma-sh7760.c index 9faa12622d09..0dad3a0bb920 100644 --- a/sound/soc/sh/dma-sh7760.c +++ b/sound/soc/sh/dma-sh7760.c | |||
@@ -348,6 +348,18 @@ struct snd_soc_platform sh7760_soc_platform = { | |||
348 | }; | 348 | }; |
349 | EXPORT_SYMBOL_GPL(sh7760_soc_platform); | 349 | EXPORT_SYMBOL_GPL(sh7760_soc_platform); |
350 | 350 | ||
351 | static int __init sh7760_soc_platform_init(void) | ||
352 | { | ||
353 | return snd_soc_register_platform(&sh7760_soc_platform); | ||
354 | } | ||
355 | module_init(sh7760_soc_platform_init); | ||
356 | |||
357 | static void __exit sh7760_soc_platform_exit(void) | ||
358 | { | ||
359 | snd_soc_unregister_platform(&sh7760_soc_platform); | ||
360 | } | ||
361 | module_exit(sh7760_soc_platform_exit); | ||
362 | |||
351 | MODULE_LICENSE("GPL"); | 363 | MODULE_LICENSE("GPL"); |
352 | MODULE_DESCRIPTION("SH7760 Audio DMA (DMABRG) driver"); | 364 | MODULE_DESCRIPTION("SH7760 Audio DMA (DMABRG) driver"); |
353 | MODULE_AUTHOR("Manuel Lauss <mano@roarinelk.homelinux.net>"); | 365 | MODULE_AUTHOR("Manuel Lauss <mano@roarinelk.homelinux.net>"); |
diff --git a/sound/soc/sh/hac.c b/sound/soc/sh/hac.c index df7bc345c320..eab31838badf 100644 --- a/sound/soc/sh/hac.c +++ b/sound/soc/sh/hac.c | |||
@@ -236,7 +236,8 @@ struct snd_ac97_bus_ops soc_ac97_ops = { | |||
236 | EXPORT_SYMBOL_GPL(soc_ac97_ops); | 236 | EXPORT_SYMBOL_GPL(soc_ac97_ops); |
237 | 237 | ||
238 | static int hac_hw_params(struct snd_pcm_substream *substream, | 238 | static int hac_hw_params(struct snd_pcm_substream *substream, |
239 | struct snd_pcm_hw_params *params) | 239 | struct snd_pcm_hw_params *params, |
240 | struct snd_soc_dai *dai) | ||
240 | { | 241 | { |
241 | struct snd_soc_pcm_runtime *rtd = substream->private_data; | 242 | struct snd_soc_pcm_runtime *rtd = substream->private_data; |
242 | struct hac_priv *hac = &hac_cpu_data[rtd->dai->cpu_dai->id]; | 243 | struct hac_priv *hac = &hac_cpu_data[rtd->dai->cpu_dai->id]; |
@@ -270,7 +271,7 @@ struct snd_soc_dai sh4_hac_dai[] = { | |||
270 | { | 271 | { |
271 | .name = "HAC0", | 272 | .name = "HAC0", |
272 | .id = 0, | 273 | .id = 0, |
273 | .type = SND_SOC_DAI_AC97, | 274 | .ac97_control = 1, |
274 | .playback = { | 275 | .playback = { |
275 | .rates = AC97_RATES, | 276 | .rates = AC97_RATES, |
276 | .formats = AC97_FMTS, | 277 | .formats = AC97_FMTS, |
@@ -290,8 +291,8 @@ struct snd_soc_dai sh4_hac_dai[] = { | |||
290 | #ifdef CONFIG_CPU_SUBTYPE_SH7760 | 291 | #ifdef CONFIG_CPU_SUBTYPE_SH7760 |
291 | { | 292 | { |
292 | .name = "HAC1", | 293 | .name = "HAC1", |
294 | .ac97_control = 1, | ||
293 | .id = 1, | 295 | .id = 1, |
294 | .type = SND_SOC_DAI_AC97, | ||
295 | .playback = { | 296 | .playback = { |
296 | .rates = AC97_RATES, | 297 | .rates = AC97_RATES, |
297 | .formats = AC97_FMTS, | 298 | .formats = AC97_FMTS, |
@@ -313,6 +314,18 @@ struct snd_soc_dai sh4_hac_dai[] = { | |||
313 | }; | 314 | }; |
314 | EXPORT_SYMBOL_GPL(sh4_hac_dai); | 315 | EXPORT_SYMBOL_GPL(sh4_hac_dai); |
315 | 316 | ||
317 | static int __init sh4_hac_init(void) | ||
318 | { | ||
319 | return snd_soc_register_dais(sh4_hac_dai, ARRAY_SIZE(sh4_hac_dai)); | ||
320 | } | ||
321 | module_init(sh4_hac_init); | ||
322 | |||
323 | static void __exit sh4_hac_exit(void) | ||
324 | { | ||
325 | snd_soc_unregister_dais(sh4_hac_dai, ARRAY_SIZE(sh4_hac_dai)); | ||
326 | } | ||
327 | module_exit(sh4_hac_exit); | ||
328 | |||
316 | MODULE_LICENSE("GPL"); | 329 | MODULE_LICENSE("GPL"); |
317 | MODULE_DESCRIPTION("SuperH onchip HAC (AC97) audio driver"); | 330 | MODULE_DESCRIPTION("SuperH onchip HAC (AC97) audio driver"); |
318 | MODULE_AUTHOR("Manuel Lauss <mano@roarinelk.homelinux.net>"); | 331 | MODULE_AUTHOR("Manuel Lauss <mano@roarinelk.homelinux.net>"); |
diff --git a/sound/soc/sh/sh7760-ac97.c b/sound/soc/sh/sh7760-ac97.c index 92bfaf4774a7..ce7f95b59de3 100644 --- a/sound/soc/sh/sh7760-ac97.c +++ b/sound/soc/sh/sh7760-ac97.c | |||
@@ -38,15 +38,15 @@ static struct snd_soc_dai_link sh7760_ac97_dai = { | |||
38 | .ops = NULL, | 38 | .ops = NULL, |
39 | }; | 39 | }; |
40 | 40 | ||
41 | static struct snd_soc_machine sh7760_ac97_soc_machine = { | 41 | static struct snd_soc_card sh7760_ac97_soc_machine = { |
42 | .name = "SH7760 AC97", | 42 | .name = "SH7760 AC97", |
43 | .platform = &sh7760_soc_platform, | ||
43 | .dai_link = &sh7760_ac97_dai, | 44 | .dai_link = &sh7760_ac97_dai, |
44 | .num_links = 1, | 45 | .num_links = 1, |
45 | }; | 46 | }; |
46 | 47 | ||
47 | static struct snd_soc_device sh7760_ac97_snd_devdata = { | 48 | static struct snd_soc_device sh7760_ac97_snd_devdata = { |
48 | .machine = &sh7760_ac97_soc_machine, | 49 | .card = &sh7760_ac97_soc_machine, |
49 | .platform = &sh7760_soc_platform, | ||
50 | .codec_dev = &soc_codec_dev_ac97, | 50 | .codec_dev = &soc_codec_dev_ac97, |
51 | }; | 51 | }; |
52 | 52 | ||
diff --git a/sound/soc/sh/ssi.c b/sound/soc/sh/ssi.c index 55c3464163ab..d1e5390fddeb 100644 --- a/sound/soc/sh/ssi.c +++ b/sound/soc/sh/ssi.c | |||
@@ -89,7 +89,8 @@ struct ssi_priv { | |||
89 | * track usage of the SSI; it is simplex-only so prevent attempts of | 89 | * track usage of the SSI; it is simplex-only so prevent attempts of |
90 | * concurrent playback + capture. FIXME: any locking required? | 90 | * concurrent playback + capture. FIXME: any locking required? |
91 | */ | 91 | */ |
92 | static int ssi_startup(struct snd_pcm_substream *substream) | 92 | static int ssi_startup(struct snd_pcm_substream *substream, |
93 | struct snd_soc_dai *dai) | ||
93 | { | 94 | { |
94 | struct snd_soc_pcm_runtime *rtd = substream->private_data; | 95 | struct snd_soc_pcm_runtime *rtd = substream->private_data; |
95 | struct ssi_priv *ssi = &ssi_cpu_data[rtd->dai->cpu_dai->id]; | 96 | struct ssi_priv *ssi = &ssi_cpu_data[rtd->dai->cpu_dai->id]; |
@@ -101,7 +102,8 @@ static int ssi_startup(struct snd_pcm_substream *substream) | |||
101 | return 0; | 102 | return 0; |
102 | } | 103 | } |
103 | 104 | ||
104 | static void ssi_shutdown(struct snd_pcm_substream *substream) | 105 | static void ssi_shutdown(struct snd_pcm_substream *substream, |
106 | struct snd_soc_dai *dai) | ||
105 | { | 107 | { |
106 | struct snd_soc_pcm_runtime *rtd = substream->private_data; | 108 | struct snd_soc_pcm_runtime *rtd = substream->private_data; |
107 | struct ssi_priv *ssi = &ssi_cpu_data[rtd->dai->cpu_dai->id]; | 109 | struct ssi_priv *ssi = &ssi_cpu_data[rtd->dai->cpu_dai->id]; |
@@ -109,7 +111,8 @@ static void ssi_shutdown(struct snd_pcm_substream *substream) | |||
109 | ssi->inuse = 0; | 111 | ssi->inuse = 0; |
110 | } | 112 | } |
111 | 113 | ||
112 | static int ssi_trigger(struct snd_pcm_substream *substream, int cmd) | 114 | static int ssi_trigger(struct snd_pcm_substream *substream, int cmd, |
115 | struct snd_soc_dai *dai) | ||
113 | { | 116 | { |
114 | struct snd_soc_pcm_runtime *rtd = substream->private_data; | 117 | struct snd_soc_pcm_runtime *rtd = substream->private_data; |
115 | struct ssi_priv *ssi = &ssi_cpu_data[rtd->dai->cpu_dai->id]; | 118 | struct ssi_priv *ssi = &ssi_cpu_data[rtd->dai->cpu_dai->id]; |
@@ -129,7 +132,8 @@ static int ssi_trigger(struct snd_pcm_substream *substream, int cmd) | |||
129 | } | 132 | } |
130 | 133 | ||
131 | static int ssi_hw_params(struct snd_pcm_substream *substream, | 134 | static int ssi_hw_params(struct snd_pcm_substream *substream, |
132 | struct snd_pcm_hw_params *params) | 135 | struct snd_pcm_hw_params *params, |
136 | struct snd_soc_dai *dai) | ||
133 | { | 137 | { |
134 | struct snd_soc_pcm_runtime *rtd = substream->private_data; | 138 | struct snd_soc_pcm_runtime *rtd = substream->private_data; |
135 | struct ssi_priv *ssi = &ssi_cpu_data[rtd->dai->cpu_dai->id]; | 139 | struct ssi_priv *ssi = &ssi_cpu_data[rtd->dai->cpu_dai->id]; |
@@ -336,7 +340,6 @@ struct snd_soc_dai sh4_ssi_dai[] = { | |||
336 | { | 340 | { |
337 | .name = "SSI0", | 341 | .name = "SSI0", |
338 | .id = 0, | 342 | .id = 0, |
339 | .type = SND_SOC_DAI_I2S, | ||
340 | .playback = { | 343 | .playback = { |
341 | .rates = SSI_RATES, | 344 | .rates = SSI_RATES, |
342 | .formats = SSI_FMTS, | 345 | .formats = SSI_FMTS, |
@@ -354,8 +357,6 @@ struct snd_soc_dai sh4_ssi_dai[] = { | |||
354 | .shutdown = ssi_shutdown, | 357 | .shutdown = ssi_shutdown, |
355 | .trigger = ssi_trigger, | 358 | .trigger = ssi_trigger, |
356 | .hw_params = ssi_hw_params, | 359 | .hw_params = ssi_hw_params, |
357 | }, | ||
358 | .dai_ops = { | ||
359 | .set_sysclk = ssi_set_sysclk, | 360 | .set_sysclk = ssi_set_sysclk, |
360 | .set_clkdiv = ssi_set_clkdiv, | 361 | .set_clkdiv = ssi_set_clkdiv, |
361 | .set_fmt = ssi_set_fmt, | 362 | .set_fmt = ssi_set_fmt, |
@@ -365,7 +366,6 @@ struct snd_soc_dai sh4_ssi_dai[] = { | |||
365 | { | 366 | { |
366 | .name = "SSI1", | 367 | .name = "SSI1", |
367 | .id = 1, | 368 | .id = 1, |
368 | .type = SND_SOC_DAI_I2S, | ||
369 | .playback = { | 369 | .playback = { |
370 | .rates = SSI_RATES, | 370 | .rates = SSI_RATES, |
371 | .formats = SSI_FMTS, | 371 | .formats = SSI_FMTS, |
@@ -383,8 +383,6 @@ struct snd_soc_dai sh4_ssi_dai[] = { | |||
383 | .shutdown = ssi_shutdown, | 383 | .shutdown = ssi_shutdown, |
384 | .trigger = ssi_trigger, | 384 | .trigger = ssi_trigger, |
385 | .hw_params = ssi_hw_params, | 385 | .hw_params = ssi_hw_params, |
386 | }, | ||
387 | .dai_ops = { | ||
388 | .set_sysclk = ssi_set_sysclk, | 386 | .set_sysclk = ssi_set_sysclk, |
389 | .set_clkdiv = ssi_set_clkdiv, | 387 | .set_clkdiv = ssi_set_clkdiv, |
390 | .set_fmt = ssi_set_fmt, | 388 | .set_fmt = ssi_set_fmt, |
@@ -394,6 +392,18 @@ struct snd_soc_dai sh4_ssi_dai[] = { | |||
394 | }; | 392 | }; |
395 | EXPORT_SYMBOL_GPL(sh4_ssi_dai); | 393 | EXPORT_SYMBOL_GPL(sh4_ssi_dai); |
396 | 394 | ||
395 | static int __init sh4_ssi_init(void) | ||
396 | { | ||
397 | return snd_soc_register_dais(sh4_ssi_dai, ARRAY_SIZE(sh4_ssi_dai)); | ||
398 | } | ||
399 | module_init(sh4_ssi_init); | ||
400 | |||
401 | static void __exit sh4_ssi_exit(void) | ||
402 | { | ||
403 | snd_soc_unregister_dais(sh4_ssi_dai, ARRAY_SIZE(sh4_ssi_dai)); | ||
404 | } | ||
405 | module_exit(sh4_ssi_exit); | ||
406 | |||
397 | MODULE_LICENSE("GPL"); | 407 | MODULE_LICENSE("GPL"); |
398 | MODULE_DESCRIPTION("SuperH onchip SSI (I2S) audio driver"); | 408 | MODULE_DESCRIPTION("SuperH onchip SSI (I2S) audio driver"); |
399 | MODULE_AUTHOR("Manuel Lauss <mano@roarinelk.homelinux.net>"); | 409 | MODULE_AUTHOR("Manuel Lauss <mano@roarinelk.homelinux.net>"); |