diff options
Diffstat (limited to 'sound/soc/samsung')
32 files changed, 159 insertions, 104 deletions
diff --git a/sound/soc/samsung/ac97.c b/sound/soc/samsung/ac97.c index 386bab1f99ab..0df3c5644cfa 100644 --- a/sound/soc/samsung/ac97.c +++ b/sound/soc/samsung/ac97.c | |||
@@ -370,7 +370,7 @@ static struct snd_soc_dai_driver s3c_ac97_dai[] = { | |||
370 | }, | 370 | }, |
371 | }; | 371 | }; |
372 | 372 | ||
373 | static __devinit int s3c_ac97_probe(struct platform_device *pdev) | 373 | static int s3c_ac97_probe(struct platform_device *pdev) |
374 | { | 374 | { |
375 | struct resource *mem_res, *dmatx_res, *dmarx_res, *dmamic_res, *irq_res; | 375 | struct resource *mem_res, *dmatx_res, *dmarx_res, *dmamic_res, *irq_res; |
376 | struct s3c_audio_pdata *ac97_pdata; | 376 | struct s3c_audio_pdata *ac97_pdata; |
@@ -462,8 +462,15 @@ static __devinit int s3c_ac97_probe(struct platform_device *pdev) | |||
462 | if (ret) | 462 | if (ret) |
463 | goto err5; | 463 | goto err5; |
464 | 464 | ||
465 | return 0; | 465 | ret = asoc_dma_platform_register(&pdev->dev); |
466 | if (ret) { | ||
467 | dev_err(&pdev->dev, "failed to get register DMA: %d\n", ret); | ||
468 | goto err6; | ||
469 | } | ||
466 | 470 | ||
471 | return 0; | ||
472 | err6: | ||
473 | snd_soc_unregister_dais(&pdev->dev, ARRAY_SIZE(s3c_ac97_dai)); | ||
467 | err5: | 474 | err5: |
468 | free_irq(irq_res->start, NULL); | 475 | free_irq(irq_res->start, NULL); |
469 | err4: | 476 | err4: |
@@ -478,10 +485,11 @@ err1: | |||
478 | return ret; | 485 | return ret; |
479 | } | 486 | } |
480 | 487 | ||
481 | static __devexit int s3c_ac97_remove(struct platform_device *pdev) | 488 | static int s3c_ac97_remove(struct platform_device *pdev) |
482 | { | 489 | { |
483 | struct resource *mem_res, *irq_res; | 490 | struct resource *mem_res, *irq_res; |
484 | 491 | ||
492 | asoc_dma_platform_unregister(&pdev->dev); | ||
485 | snd_soc_unregister_dais(&pdev->dev, ARRAY_SIZE(s3c_ac97_dai)); | 493 | snd_soc_unregister_dais(&pdev->dev, ARRAY_SIZE(s3c_ac97_dai)); |
486 | 494 | ||
487 | irq_res = platform_get_resource(pdev, IORESOURCE_IRQ, 0); | 495 | irq_res = platform_get_resource(pdev, IORESOURCE_IRQ, 0); |
@@ -502,7 +510,7 @@ static __devexit int s3c_ac97_remove(struct platform_device *pdev) | |||
502 | 510 | ||
503 | static struct platform_driver s3c_ac97_driver = { | 511 | static struct platform_driver s3c_ac97_driver = { |
504 | .probe = s3c_ac97_probe, | 512 | .probe = s3c_ac97_probe, |
505 | .remove = __devexit_p(s3c_ac97_remove), | 513 | .remove = s3c_ac97_remove, |
506 | .driver = { | 514 | .driver = { |
507 | .name = "samsung-ac97", | 515 | .name = "samsung-ac97", |
508 | .owner = THIS_MODULE, | 516 | .owner = THIS_MODULE, |
diff --git a/sound/soc/samsung/bells.c b/sound/soc/samsung/bells.c index 59ffd6c7ee30..ceed466af9ff 100644 --- a/sound/soc/samsung/bells.c +++ b/sound/soc/samsung/bells.c | |||
@@ -233,7 +233,7 @@ static struct snd_soc_dai_link bells_dai_wm2200[] = { | |||
233 | .stream_name = "CPU-DSP", | 233 | .stream_name = "CPU-DSP", |
234 | .cpu_dai_name = "samsung-i2s.0", | 234 | .cpu_dai_name = "samsung-i2s.0", |
235 | .codec_dai_name = "wm0010-sdi1", | 235 | .codec_dai_name = "wm0010-sdi1", |
236 | .platform_name = "samsung-audio", | 236 | .platform_name = "samsung-i2s.0", |
237 | .codec_name = "spi0.0", | 237 | .codec_name = "spi0.0", |
238 | .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | 238 | .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF |
239 | | SND_SOC_DAIFMT_CBM_CFM, | 239 | | SND_SOC_DAIFMT_CBM_CFM, |
@@ -257,7 +257,7 @@ static struct snd_soc_dai_link bells_dai_wm5102[] = { | |||
257 | .stream_name = "CPU-DSP", | 257 | .stream_name = "CPU-DSP", |
258 | .cpu_dai_name = "samsung-i2s.0", | 258 | .cpu_dai_name = "samsung-i2s.0", |
259 | .codec_dai_name = "wm0010-sdi1", | 259 | .codec_dai_name = "wm0010-sdi1", |
260 | .platform_name = "samsung-audio", | 260 | .platform_name = "samsung-i2s.0", |
261 | .codec_name = "spi0.0", | 261 | .codec_name = "spi0.0", |
262 | .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | 262 | .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF |
263 | | SND_SOC_DAIFMT_CBM_CFM, | 263 | | SND_SOC_DAIFMT_CBM_CFM, |
@@ -303,7 +303,7 @@ static struct snd_soc_dai_link bells_dai_wm5110[] = { | |||
303 | .stream_name = "CPU-DSP", | 303 | .stream_name = "CPU-DSP", |
304 | .cpu_dai_name = "samsung-i2s.0", | 304 | .cpu_dai_name = "samsung-i2s.0", |
305 | .codec_dai_name = "wm0010-sdi1", | 305 | .codec_dai_name = "wm0010-sdi1", |
306 | .platform_name = "samsung-audio", | 306 | .platform_name = "samsung-i2s.0", |
307 | .codec_name = "spi0.0", | 307 | .codec_name = "spi0.0", |
308 | .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | 308 | .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF |
309 | | SND_SOC_DAIFMT_CBM_CFM, | 309 | | SND_SOC_DAIFMT_CBM_CFM, |
@@ -412,7 +412,7 @@ static struct snd_soc_card bells_cards[] = { | |||
412 | }; | 412 | }; |
413 | 413 | ||
414 | 414 | ||
415 | static __devinit int bells_probe(struct platform_device *pdev) | 415 | static int bells_probe(struct platform_device *pdev) |
416 | { | 416 | { |
417 | int ret; | 417 | int ret; |
418 | 418 | ||
@@ -429,7 +429,7 @@ static __devinit int bells_probe(struct platform_device *pdev) | |||
429 | return 0; | 429 | return 0; |
430 | } | 430 | } |
431 | 431 | ||
432 | static int __devexit bells_remove(struct platform_device *pdev) | 432 | static int bells_remove(struct platform_device *pdev) |
433 | { | 433 | { |
434 | snd_soc_unregister_card(&bells_cards[pdev->id]); | 434 | snd_soc_unregister_card(&bells_cards[pdev->id]); |
435 | 435 | ||
@@ -443,7 +443,7 @@ static struct platform_driver bells_driver = { | |||
443 | .pm = &snd_soc_pm_ops, | 443 | .pm = &snd_soc_pm_ops, |
444 | }, | 444 | }, |
445 | .probe = bells_probe, | 445 | .probe = bells_probe, |
446 | .remove = __devexit_p(bells_remove), | 446 | .remove = bells_remove, |
447 | }; | 447 | }; |
448 | 448 | ||
449 | module_platform_driver(bells_driver); | 449 | module_platform_driver(bells_driver); |
diff --git a/sound/soc/samsung/dma.c b/sound/soc/samsung/dma.c index b70964ea448c..db87628d7630 100644 --- a/sound/soc/samsung/dma.c +++ b/sound/soc/samsung/dma.c | |||
@@ -432,30 +432,18 @@ static struct snd_soc_platform_driver samsung_asoc_platform = { | |||
432 | .pcm_free = dma_free_dma_buffers, | 432 | .pcm_free = dma_free_dma_buffers, |
433 | }; | 433 | }; |
434 | 434 | ||
435 | static int __devinit samsung_asoc_platform_probe(struct platform_device *pdev) | 435 | int asoc_dma_platform_register(struct device *dev) |
436 | { | 436 | { |
437 | return snd_soc_register_platform(&pdev->dev, &samsung_asoc_platform); | 437 | return snd_soc_register_platform(dev, &samsung_asoc_platform); |
438 | } | 438 | } |
439 | EXPORT_SYMBOL_GPL(asoc_dma_platform_register); | ||
439 | 440 | ||
440 | static int __devexit samsung_asoc_platform_remove(struct platform_device *pdev) | 441 | void asoc_dma_platform_unregister(struct device *dev) |
441 | { | 442 | { |
442 | snd_soc_unregister_platform(&pdev->dev); | 443 | snd_soc_unregister_platform(dev); |
443 | return 0; | ||
444 | } | 444 | } |
445 | 445 | EXPORT_SYMBOL_GPL(asoc_dma_platform_unregister); | |
446 | static struct platform_driver asoc_dma_driver = { | ||
447 | .driver = { | ||
448 | .name = "samsung-audio", | ||
449 | .owner = THIS_MODULE, | ||
450 | }, | ||
451 | |||
452 | .probe = samsung_asoc_platform_probe, | ||
453 | .remove = __devexit_p(samsung_asoc_platform_remove), | ||
454 | }; | ||
455 | |||
456 | module_platform_driver(asoc_dma_driver); | ||
457 | 446 | ||
458 | MODULE_AUTHOR("Ben Dooks, <ben@simtec.co.uk>"); | 447 | MODULE_AUTHOR("Ben Dooks, <ben@simtec.co.uk>"); |
459 | MODULE_DESCRIPTION("Samsung ASoC DMA Driver"); | 448 | MODULE_DESCRIPTION("Samsung ASoC DMA Driver"); |
460 | MODULE_LICENSE("GPL"); | 449 | MODULE_LICENSE("GPL"); |
461 | MODULE_ALIAS("platform:samsung-audio"); | ||
diff --git a/sound/soc/samsung/dma.h b/sound/soc/samsung/dma.h index 7d1ead77ef21..73d8c7c8a1e8 100644 --- a/sound/soc/samsung/dma.h +++ b/sound/soc/samsung/dma.h | |||
@@ -21,4 +21,7 @@ struct s3c_dma_params { | |||
21 | struct samsung_dma_ops *ops; | 21 | struct samsung_dma_ops *ops; |
22 | }; | 22 | }; |
23 | 23 | ||
24 | int asoc_dma_platform_register(struct device *dev); | ||
25 | void asoc_dma_platform_unregister(struct device *dev); | ||
26 | |||
24 | #endif | 27 | #endif |
diff --git a/sound/soc/samsung/goni_wm8994.c b/sound/soc/samsung/goni_wm8994.c index c23c2ae91f58..d37ede58e0a8 100644 --- a/sound/soc/samsung/goni_wm8994.c +++ b/sound/soc/samsung/goni_wm8994.c | |||
@@ -228,7 +228,7 @@ static struct snd_soc_dai_link goni_dai[] = { | |||
228 | .stream_name = "WM8994 HiFi", | 228 | .stream_name = "WM8994 HiFi", |
229 | .cpu_dai_name = "samsung-i2s.0", | 229 | .cpu_dai_name = "samsung-i2s.0", |
230 | .codec_dai_name = "wm8994-aif1", | 230 | .codec_dai_name = "wm8994-aif1", |
231 | .platform_name = "samsung-audio", | 231 | .platform_name = "samsung-i2s.0", |
232 | .codec_name = "wm8994-codec.0-001a", | 232 | .codec_name = "wm8994-codec.0-001a", |
233 | .init = goni_wm8994_init, | 233 | .init = goni_wm8994_init, |
234 | .ops = &goni_hifi_ops, | 234 | .ops = &goni_hifi_ops, |
diff --git a/sound/soc/samsung/h1940_uda1380.c b/sound/soc/samsung/h1940_uda1380.c index 6e3257717c54..3870e9678b5d 100644 --- a/sound/soc/samsung/h1940_uda1380.c +++ b/sound/soc/samsung/h1940_uda1380.c | |||
@@ -207,7 +207,7 @@ static struct snd_soc_dai_link h1940_uda1380_dai[] = { | |||
207 | .cpu_dai_name = "s3c24xx-iis", | 207 | .cpu_dai_name = "s3c24xx-iis", |
208 | .codec_dai_name = "uda1380-hifi", | 208 | .codec_dai_name = "uda1380-hifi", |
209 | .init = h1940_uda1380_init, | 209 | .init = h1940_uda1380_init, |
210 | .platform_name = "samsung-audio", | 210 | .platform_name = "s3c24xx-iis", |
211 | .codec_name = "uda1380-codec.0-001a", | 211 | .codec_name = "uda1380-codec.0-001a", |
212 | .ops = &h1940_ops, | 212 | .ops = &h1940_ops, |
213 | }, | 213 | }, |
diff --git a/sound/soc/samsung/i2s.c b/sound/soc/samsung/i2s.c index aaf57b7caebb..d2d124f1dd1b 100644 --- a/sound/soc/samsung/i2s.c +++ b/sound/soc/samsung/i2s.c | |||
@@ -952,8 +952,7 @@ static const struct snd_soc_dai_ops samsung_i2s_dai_ops = { | |||
952 | SNDRV_PCM_FMTBIT_S16_LE | \ | 952 | SNDRV_PCM_FMTBIT_S16_LE | \ |
953 | SNDRV_PCM_FMTBIT_S24_LE) | 953 | SNDRV_PCM_FMTBIT_S24_LE) |
954 | 954 | ||
955 | static __devinit | 955 | static struct i2s_dai *i2s_alloc_dai(struct platform_device *pdev, bool sec) |
956 | struct i2s_dai *i2s_alloc_dai(struct platform_device *pdev, bool sec) | ||
957 | { | 956 | { |
958 | struct i2s_dai *i2s; | 957 | struct i2s_dai *i2s; |
959 | 958 | ||
@@ -994,7 +993,7 @@ struct i2s_dai *i2s_alloc_dai(struct platform_device *pdev, bool sec) | |||
994 | return i2s; | 993 | return i2s; |
995 | } | 994 | } |
996 | 995 | ||
997 | static __devinit int samsung_i2s_probe(struct platform_device *pdev) | 996 | static int samsung_i2s_probe(struct platform_device *pdev) |
998 | { | 997 | { |
999 | u32 dma_pl_chan, dma_cp_chan, dma_pl_sec_chan; | 998 | u32 dma_pl_chan, dma_cp_chan, dma_pl_sec_chan; |
1000 | struct i2s_dai *pri_dai, *sec_dai = NULL; | 999 | struct i2s_dai *pri_dai, *sec_dai = NULL; |
@@ -1009,6 +1008,7 @@ static __devinit int samsung_i2s_probe(struct platform_device *pdev) | |||
1009 | sec_dai = dev_get_drvdata(&pdev->dev); | 1008 | sec_dai = dev_get_drvdata(&pdev->dev); |
1010 | snd_soc_register_dai(&sec_dai->pdev->dev, | 1009 | snd_soc_register_dai(&sec_dai->pdev->dev, |
1011 | &sec_dai->i2s_dai_drv); | 1010 | &sec_dai->i2s_dai_drv); |
1011 | asoc_dma_platform_register(&pdev->dev); | ||
1012 | return 0; | 1012 | return 0; |
1013 | } | 1013 | } |
1014 | 1014 | ||
@@ -1107,6 +1107,8 @@ static __devinit int samsung_i2s_probe(struct platform_device *pdev) | |||
1107 | 1107 | ||
1108 | pm_runtime_enable(&pdev->dev); | 1108 | pm_runtime_enable(&pdev->dev); |
1109 | 1109 | ||
1110 | asoc_dma_platform_register(&pdev->dev); | ||
1111 | |||
1110 | return 0; | 1112 | return 0; |
1111 | err: | 1113 | err: |
1112 | release_mem_region(regs_base, resource_size(res)); | 1114 | release_mem_region(regs_base, resource_size(res)); |
@@ -1114,7 +1116,7 @@ err: | |||
1114 | return ret; | 1116 | return ret; |
1115 | } | 1117 | } |
1116 | 1118 | ||
1117 | static __devexit int samsung_i2s_remove(struct platform_device *pdev) | 1119 | static int samsung_i2s_remove(struct platform_device *pdev) |
1118 | { | 1120 | { |
1119 | struct i2s_dai *i2s, *other; | 1121 | struct i2s_dai *i2s, *other; |
1120 | struct resource *res; | 1122 | struct resource *res; |
@@ -1135,6 +1137,7 @@ static __devexit int samsung_i2s_remove(struct platform_device *pdev) | |||
1135 | i2s->pri_dai = NULL; | 1137 | i2s->pri_dai = NULL; |
1136 | i2s->sec_dai = NULL; | 1138 | i2s->sec_dai = NULL; |
1137 | 1139 | ||
1140 | asoc_dma_platform_unregister(&pdev->dev); | ||
1138 | snd_soc_unregister_dai(&pdev->dev); | 1141 | snd_soc_unregister_dai(&pdev->dev); |
1139 | 1142 | ||
1140 | return 0; | 1143 | return 0; |
@@ -1142,7 +1145,7 @@ static __devexit int samsung_i2s_remove(struct platform_device *pdev) | |||
1142 | 1145 | ||
1143 | static struct platform_driver samsung_i2s_driver = { | 1146 | static struct platform_driver samsung_i2s_driver = { |
1144 | .probe = samsung_i2s_probe, | 1147 | .probe = samsung_i2s_probe, |
1145 | .remove = __devexit_p(samsung_i2s_remove), | 1148 | .remove = samsung_i2s_remove, |
1146 | .driver = { | 1149 | .driver = { |
1147 | .name = "samsung-i2s", | 1150 | .name = "samsung-i2s", |
1148 | .owner = THIS_MODULE, | 1151 | .owner = THIS_MODULE, |
diff --git a/sound/soc/samsung/idma.c b/sound/soc/samsung/idma.c index c227c3163cae..a07950b0c8ce 100644 --- a/sound/soc/samsung/idma.c +++ b/sound/soc/samsung/idma.c | |||
@@ -416,12 +416,12 @@ static struct snd_soc_platform_driver asoc_idma_platform = { | |||
416 | .pcm_free = idma_free, | 416 | .pcm_free = idma_free, |
417 | }; | 417 | }; |
418 | 418 | ||
419 | static int __devinit asoc_idma_platform_probe(struct platform_device *pdev) | 419 | static int asoc_idma_platform_probe(struct platform_device *pdev) |
420 | { | 420 | { |
421 | return snd_soc_register_platform(&pdev->dev, &asoc_idma_platform); | 421 | return snd_soc_register_platform(&pdev->dev, &asoc_idma_platform); |
422 | } | 422 | } |
423 | 423 | ||
424 | static int __devexit asoc_idma_platform_remove(struct platform_device *pdev) | 424 | static int asoc_idma_platform_remove(struct platform_device *pdev) |
425 | { | 425 | { |
426 | snd_soc_unregister_platform(&pdev->dev); | 426 | snd_soc_unregister_platform(&pdev->dev); |
427 | return 0; | 427 | return 0; |
@@ -434,7 +434,7 @@ static struct platform_driver asoc_idma_driver = { | |||
434 | }, | 434 | }, |
435 | 435 | ||
436 | .probe = asoc_idma_platform_probe, | 436 | .probe = asoc_idma_platform_probe, |
437 | .remove = __devexit_p(asoc_idma_platform_remove), | 437 | .remove = asoc_idma_platform_remove, |
438 | }; | 438 | }; |
439 | 439 | ||
440 | module_platform_driver(asoc_idma_driver); | 440 | module_platform_driver(asoc_idma_driver); |
diff --git a/sound/soc/samsung/jive_wm8750.c b/sound/soc/samsung/jive_wm8750.c index 1578663a1faa..b5f6abd9d221 100644 --- a/sound/soc/samsung/jive_wm8750.c +++ b/sound/soc/samsung/jive_wm8750.c | |||
@@ -118,7 +118,7 @@ static struct snd_soc_dai_link jive_dai = { | |||
118 | .stream_name = "WM8750", | 118 | .stream_name = "WM8750", |
119 | .cpu_dai_name = "s3c2412-i2s", | 119 | .cpu_dai_name = "s3c2412-i2s", |
120 | .codec_dai_name = "wm8750-hifi", | 120 | .codec_dai_name = "wm8750-hifi", |
121 | .platform_name = "samsung-audio", | 121 | .platform_name = "s3c2412-i2s", |
122 | .codec_name = "wm8750.0-001a", | 122 | .codec_name = "wm8750.0-001a", |
123 | .init = jive_wm8750_init, | 123 | .init = jive_wm8750_init, |
124 | .ops = &jive_ops, | 124 | .ops = &jive_ops, |
diff --git a/sound/soc/samsung/littlemill.c b/sound/soc/samsung/littlemill.c index ee52c8a00779..bfb91f34a22a 100644 --- a/sound/soc/samsung/littlemill.c +++ b/sound/soc/samsung/littlemill.c | |||
@@ -145,7 +145,7 @@ static struct snd_soc_dai_link littlemill_dai[] = { | |||
145 | .stream_name = "CPU", | 145 | .stream_name = "CPU", |
146 | .cpu_dai_name = "samsung-i2s.0", | 146 | .cpu_dai_name = "samsung-i2s.0", |
147 | .codec_dai_name = "wm8994-aif1", | 147 | .codec_dai_name = "wm8994-aif1", |
148 | .platform_name = "samsung-audio", | 148 | .platform_name = "samsung-i2s.0", |
149 | .codec_name = "wm8994-codec", | 149 | .codec_name = "wm8994-codec", |
150 | .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | 150 | .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF |
151 | | SND_SOC_DAIFMT_CBM_CFM, | 151 | | SND_SOC_DAIFMT_CBM_CFM, |
@@ -270,7 +270,7 @@ static int littlemill_late_probe(struct snd_soc_card *card) | |||
270 | return ret; | 270 | return ret; |
271 | 271 | ||
272 | /* This will check device compatibility itself */ | 272 | /* This will check device compatibility itself */ |
273 | wm8958_mic_detect(codec, &littlemill_headset, NULL, NULL); | 273 | wm8958_mic_detect(codec, &littlemill_headset, NULL, NULL, NULL, NULL); |
274 | 274 | ||
275 | /* As will this */ | 275 | /* As will this */ |
276 | wm8994_mic_detect(codec, &littlemill_headset, 1); | 276 | wm8994_mic_detect(codec, &littlemill_headset, 1); |
@@ -297,7 +297,7 @@ static struct snd_soc_card littlemill = { | |||
297 | .late_probe = littlemill_late_probe, | 297 | .late_probe = littlemill_late_probe, |
298 | }; | 298 | }; |
299 | 299 | ||
300 | static __devinit int littlemill_probe(struct platform_device *pdev) | 300 | static int littlemill_probe(struct platform_device *pdev) |
301 | { | 301 | { |
302 | struct snd_soc_card *card = &littlemill; | 302 | struct snd_soc_card *card = &littlemill; |
303 | int ret; | 303 | int ret; |
@@ -314,7 +314,7 @@ static __devinit int littlemill_probe(struct platform_device *pdev) | |||
314 | return 0; | 314 | return 0; |
315 | } | 315 | } |
316 | 316 | ||
317 | static int __devexit littlemill_remove(struct platform_device *pdev) | 317 | static int littlemill_remove(struct platform_device *pdev) |
318 | { | 318 | { |
319 | struct snd_soc_card *card = platform_get_drvdata(pdev); | 319 | struct snd_soc_card *card = platform_get_drvdata(pdev); |
320 | 320 | ||
@@ -330,7 +330,7 @@ static struct platform_driver littlemill_driver = { | |||
330 | .pm = &snd_soc_pm_ops, | 330 | .pm = &snd_soc_pm_ops, |
331 | }, | 331 | }, |
332 | .probe = littlemill_probe, | 332 | .probe = littlemill_probe, |
333 | .remove = __devexit_p(littlemill_remove), | 333 | .remove = littlemill_remove, |
334 | }; | 334 | }; |
335 | 335 | ||
336 | module_platform_driver(littlemill_driver); | 336 | module_platform_driver(littlemill_driver); |
diff --git a/sound/soc/samsung/ln2440sbc_alc650.c b/sound/soc/samsung/ln2440sbc_alc650.c index 69c4a5934a4d..9342fc270c2b 100644 --- a/sound/soc/samsung/ln2440sbc_alc650.c +++ b/sound/soc/samsung/ln2440sbc_alc650.c | |||
@@ -28,7 +28,7 @@ static struct snd_soc_dai_link ln2440sbc_dai[] = { | |||
28 | .cpu_dai_name = "samsung-ac97", | 28 | .cpu_dai_name = "samsung-ac97", |
29 | .codec_dai_name = "ac97-hifi", | 29 | .codec_dai_name = "ac97-hifi", |
30 | .codec_name = "ac97-codec", | 30 | .codec_name = "ac97-codec", |
31 | .platform_name = "samsung-audio", | 31 | .platform_name = "samsung-ac97", |
32 | }, | 32 | }, |
33 | }; | 33 | }; |
34 | 34 | ||
diff --git a/sound/soc/samsung/lowland.c b/sound/soc/samsung/lowland.c index 6abf341c4a2a..570cf5229508 100644 --- a/sound/soc/samsung/lowland.c +++ b/sound/soc/samsung/lowland.c | |||
@@ -99,7 +99,7 @@ static struct snd_soc_dai_link lowland_dai[] = { | |||
99 | .stream_name = "CPU", | 99 | .stream_name = "CPU", |
100 | .cpu_dai_name = "samsung-i2s.0", | 100 | .cpu_dai_name = "samsung-i2s.0", |
101 | .codec_dai_name = "wm5100-aif1", | 101 | .codec_dai_name = "wm5100-aif1", |
102 | .platform_name = "samsung-audio", | 102 | .platform_name = "samsung-i2s.0", |
103 | .codec_name = "wm5100.1-001a", | 103 | .codec_name = "wm5100.1-001a", |
104 | .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | | 104 | .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | |
105 | SND_SOC_DAIFMT_CBM_CFM, | 105 | SND_SOC_DAIFMT_CBM_CFM, |
@@ -180,7 +180,7 @@ static struct snd_soc_card lowland = { | |||
180 | .num_dapm_routes = ARRAY_SIZE(audio_paths), | 180 | .num_dapm_routes = ARRAY_SIZE(audio_paths), |
181 | }; | 181 | }; |
182 | 182 | ||
183 | static __devinit int lowland_probe(struct platform_device *pdev) | 183 | static int lowland_probe(struct platform_device *pdev) |
184 | { | 184 | { |
185 | struct snd_soc_card *card = &lowland; | 185 | struct snd_soc_card *card = &lowland; |
186 | int ret; | 186 | int ret; |
@@ -197,7 +197,7 @@ static __devinit int lowland_probe(struct platform_device *pdev) | |||
197 | return 0; | 197 | return 0; |
198 | } | 198 | } |
199 | 199 | ||
200 | static int __devexit lowland_remove(struct platform_device *pdev) | 200 | static int lowland_remove(struct platform_device *pdev) |
201 | { | 201 | { |
202 | struct snd_soc_card *card = platform_get_drvdata(pdev); | 202 | struct snd_soc_card *card = platform_get_drvdata(pdev); |
203 | 203 | ||
@@ -213,7 +213,7 @@ static struct platform_driver lowland_driver = { | |||
213 | .pm = &snd_soc_pm_ops, | 213 | .pm = &snd_soc_pm_ops, |
214 | }, | 214 | }, |
215 | .probe = lowland_probe, | 215 | .probe = lowland_probe, |
216 | .remove = __devexit_p(lowland_remove), | 216 | .remove = lowland_remove, |
217 | }; | 217 | }; |
218 | 218 | ||
219 | module_platform_driver(lowland_driver); | 219 | module_platform_driver(lowland_driver); |
diff --git a/sound/soc/samsung/neo1973_wm8753.c b/sound/soc/samsung/neo1973_wm8753.c index 321d51134e47..c7e965f80d2e 100644 --- a/sound/soc/samsung/neo1973_wm8753.c +++ b/sound/soc/samsung/neo1973_wm8753.c | |||
@@ -364,7 +364,7 @@ static struct snd_soc_dai_link neo1973_dai[] = { | |||
364 | { /* Hifi Playback - for similatious use with voice below */ | 364 | { /* Hifi Playback - for similatious use with voice below */ |
365 | .name = "WM8753", | 365 | .name = "WM8753", |
366 | .stream_name = "WM8753 HiFi", | 366 | .stream_name = "WM8753 HiFi", |
367 | .platform_name = "samsung-audio", | 367 | .platform_name = "s3c24xx-iis", |
368 | .cpu_dai_name = "s3c24xx-iis", | 368 | .cpu_dai_name = "s3c24xx-iis", |
369 | .codec_dai_name = "wm8753-hifi", | 369 | .codec_dai_name = "wm8753-hifi", |
370 | .codec_name = "wm8753.0-001a", | 370 | .codec_name = "wm8753.0-001a", |
diff --git a/sound/soc/samsung/pcm.c b/sound/soc/samsung/pcm.c index 45f4a752d2a0..13bab79ad93d 100644 --- a/sound/soc/samsung/pcm.c +++ b/sound/soc/samsung/pcm.c | |||
@@ -490,7 +490,7 @@ static struct snd_soc_dai_driver s3c_pcm_dai[] = { | |||
490 | }, | 490 | }, |
491 | }; | 491 | }; |
492 | 492 | ||
493 | static __devinit int s3c_pcm_dev_probe(struct platform_device *pdev) | 493 | static int s3c_pcm_dev_probe(struct platform_device *pdev) |
494 | { | 494 | { |
495 | struct s3c_pcm_info *pcm; | 495 | struct s3c_pcm_info *pcm; |
496 | struct resource *mem_res, *dmatx_res, *dmarx_res; | 496 | struct resource *mem_res, *dmatx_res, *dmarx_res; |
@@ -589,8 +589,16 @@ static __devinit int s3c_pcm_dev_probe(struct platform_device *pdev) | |||
589 | goto err5; | 589 | goto err5; |
590 | } | 590 | } |
591 | 591 | ||
592 | ret = asoc_dma_platform_register(&pdev->dev); | ||
593 | if (ret) { | ||
594 | dev_err(&pdev->dev, "failed to get register DMA: %d\n", ret); | ||
595 | goto err6; | ||
596 | } | ||
597 | |||
592 | return 0; | 598 | return 0; |
593 | 599 | ||
600 | err6: | ||
601 | snd_soc_unregister_dai(&pdev->dev); | ||
594 | err5: | 602 | err5: |
595 | clk_disable_unprepare(pcm->pclk); | 603 | clk_disable_unprepare(pcm->pclk); |
596 | clk_put(pcm->pclk); | 604 | clk_put(pcm->pclk); |
@@ -605,11 +613,12 @@ err1: | |||
605 | return ret; | 613 | return ret; |
606 | } | 614 | } |
607 | 615 | ||
608 | static __devexit int s3c_pcm_dev_remove(struct platform_device *pdev) | 616 | static int s3c_pcm_dev_remove(struct platform_device *pdev) |
609 | { | 617 | { |
610 | struct s3c_pcm_info *pcm = &s3c_pcm[pdev->id]; | 618 | struct s3c_pcm_info *pcm = &s3c_pcm[pdev->id]; |
611 | struct resource *mem_res; | 619 | struct resource *mem_res; |
612 | 620 | ||
621 | asoc_dma_platform_unregister(&pdev->dev); | ||
613 | snd_soc_unregister_dai(&pdev->dev); | 622 | snd_soc_unregister_dai(&pdev->dev); |
614 | 623 | ||
615 | pm_runtime_disable(&pdev->dev); | 624 | pm_runtime_disable(&pdev->dev); |
@@ -629,7 +638,7 @@ static __devexit int s3c_pcm_dev_remove(struct platform_device *pdev) | |||
629 | 638 | ||
630 | static struct platform_driver s3c_pcm_driver = { | 639 | static struct platform_driver s3c_pcm_driver = { |
631 | .probe = s3c_pcm_dev_probe, | 640 | .probe = s3c_pcm_dev_probe, |
632 | .remove = __devexit_p(s3c_pcm_dev_remove), | 641 | .remove = s3c_pcm_dev_remove, |
633 | .driver = { | 642 | .driver = { |
634 | .name = "samsung-pcm", | 643 | .name = "samsung-pcm", |
635 | .owner = THIS_MODULE, | 644 | .owner = THIS_MODULE, |
diff --git a/sound/soc/samsung/rx1950_uda1380.c b/sound/soc/samsung/rx1950_uda1380.c index 21e12361a9cd..a5826ea9cad6 100644 --- a/sound/soc/samsung/rx1950_uda1380.c +++ b/sound/soc/samsung/rx1950_uda1380.c | |||
@@ -85,7 +85,7 @@ static struct snd_soc_dai_link rx1950_uda1380_dai[] = { | |||
85 | .cpu_dai_name = "s3c24xx-iis", | 85 | .cpu_dai_name = "s3c24xx-iis", |
86 | .codec_dai_name = "uda1380-hifi", | 86 | .codec_dai_name = "uda1380-hifi", |
87 | .init = rx1950_uda1380_init, | 87 | .init = rx1950_uda1380_init, |
88 | .platform_name = "samsung-audio", | 88 | .platform_name = "s3c24xx-iis", |
89 | .codec_name = "uda1380-codec.0-001a", | 89 | .codec_name = "uda1380-codec.0-001a", |
90 | .ops = &rx1950_ops, | 90 | .ops = &rx1950_ops, |
91 | }, | 91 | }, |
diff --git a/sound/soc/samsung/s3c2412-i2s.c b/sound/soc/samsung/s3c2412-i2s.c index ac7701b3c5dc..221337716393 100644 --- a/sound/soc/samsung/s3c2412-i2s.c +++ b/sound/soc/samsung/s3c2412-i2s.c | |||
@@ -160,20 +160,38 @@ static struct snd_soc_dai_driver s3c2412_i2s_dai = { | |||
160 | .ops = &s3c2412_i2s_dai_ops, | 160 | .ops = &s3c2412_i2s_dai_ops, |
161 | }; | 161 | }; |
162 | 162 | ||
163 | static __devinit int s3c2412_iis_dev_probe(struct platform_device *pdev) | 163 | static int s3c2412_iis_dev_probe(struct platform_device *pdev) |
164 | { | 164 | { |
165 | return s3c_i2sv2_register_dai(&pdev->dev, -1, &s3c2412_i2s_dai); | 165 | int ret = 0; |
166 | |||
167 | ret = s3c_i2sv2_register_dai(&pdev->dev, -1, &s3c2412_i2s_dai); | ||
168 | if (ret) { | ||
169 | pr_err("failed to register the dai\n"); | ||
170 | return ret; | ||
171 | } | ||
172 | |||
173 | ret = asoc_dma_platform_register(&pdev->dev); | ||
174 | if (ret) { | ||
175 | pr_err("failed to register the DMA: %d\n", ret); | ||
176 | goto err; | ||
177 | } | ||
178 | |||
179 | return 0; | ||
180 | err: | ||
181 | snd_soc_unregister_dai(&pdev->dev); | ||
182 | return ret; | ||
166 | } | 183 | } |
167 | 184 | ||
168 | static __devexit int s3c2412_iis_dev_remove(struct platform_device *pdev) | 185 | static int s3c2412_iis_dev_remove(struct platform_device *pdev) |
169 | { | 186 | { |
187 | asoc_dma_platform_unregister(&pdev->dev); | ||
170 | snd_soc_unregister_dai(&pdev->dev); | 188 | snd_soc_unregister_dai(&pdev->dev); |
171 | return 0; | 189 | return 0; |
172 | } | 190 | } |
173 | 191 | ||
174 | static struct platform_driver s3c2412_iis_driver = { | 192 | static struct platform_driver s3c2412_iis_driver = { |
175 | .probe = s3c2412_iis_dev_probe, | 193 | .probe = s3c2412_iis_dev_probe, |
176 | .remove = __devexit_p(s3c2412_iis_dev_remove), | 194 | .remove = s3c2412_iis_dev_remove, |
177 | .driver = { | 195 | .driver = { |
178 | .name = "s3c2412-iis", | 196 | .name = "s3c2412-iis", |
179 | .owner = THIS_MODULE, | 197 | .owner = THIS_MODULE, |
diff --git a/sound/soc/samsung/s3c24xx-i2s.c b/sound/soc/samsung/s3c24xx-i2s.c index 0aae3a3883dc..ee10e8704e97 100644 --- a/sound/soc/samsung/s3c24xx-i2s.c +++ b/sound/soc/samsung/s3c24xx-i2s.c | |||
@@ -465,20 +465,38 @@ static struct snd_soc_dai_driver s3c24xx_i2s_dai = { | |||
465 | .ops = &s3c24xx_i2s_dai_ops, | 465 | .ops = &s3c24xx_i2s_dai_ops, |
466 | }; | 466 | }; |
467 | 467 | ||
468 | static __devinit int s3c24xx_iis_dev_probe(struct platform_device *pdev) | 468 | static int s3c24xx_iis_dev_probe(struct platform_device *pdev) |
469 | { | 469 | { |
470 | return snd_soc_register_dai(&pdev->dev, &s3c24xx_i2s_dai); | 470 | int ret = 0; |
471 | |||
472 | ret = s3c_i2sv2_register_dai(&pdev->dev, -1, &s3c2412_i2s_dai); | ||
473 | if (ret) { | ||
474 | pr_err("failed to register the dai\n"); | ||
475 | return ret; | ||
476 | } | ||
477 | |||
478 | ret = asoc_dma_platform_register(&pdev->dev); | ||
479 | if (ret) { | ||
480 | pr_err("failed to register the dma: %d\n", ret); | ||
481 | goto err; | ||
482 | } | ||
483 | |||
484 | return 0; | ||
485 | err: | ||
486 | snd_soc_unregister_dai(&pdev->dev); | ||
487 | return ret; | ||
471 | } | 488 | } |
472 | 489 | ||
473 | static __devexit int s3c24xx_iis_dev_remove(struct platform_device *pdev) | 490 | static int s3c24xx_iis_dev_remove(struct platform_device *pdev) |
474 | { | 491 | { |
492 | asoc_dma_platform_unregister(&pdev->dev); | ||
475 | snd_soc_unregister_dai(&pdev->dev); | 493 | snd_soc_unregister_dai(&pdev->dev); |
476 | return 0; | 494 | return 0; |
477 | } | 495 | } |
478 | 496 | ||
479 | static struct platform_driver s3c24xx_iis_driver = { | 497 | static struct platform_driver s3c24xx_iis_driver = { |
480 | .probe = s3c24xx_iis_dev_probe, | 498 | .probe = s3c24xx_iis_dev_probe, |
481 | .remove = __devexit_p(s3c24xx_iis_dev_remove), | 499 | .remove = s3c24xx_iis_dev_remove, |
482 | .driver = { | 500 | .driver = { |
483 | .name = "s3c24xx-iis", | 501 | .name = "s3c24xx-iis", |
484 | .owner = THIS_MODULE, | 502 | .owner = THIS_MODULE, |
diff --git a/sound/soc/samsung/s3c24xx_simtec.c b/sound/soc/samsung/s3c24xx_simtec.c index 335a7d8a4a8d..2c015f62ead6 100644 --- a/sound/soc/samsung/s3c24xx_simtec.c +++ b/sound/soc/samsung/s3c24xx_simtec.c | |||
@@ -313,8 +313,8 @@ const struct dev_pm_ops simtec_audio_pmops = { | |||
313 | EXPORT_SYMBOL_GPL(simtec_audio_pmops); | 313 | EXPORT_SYMBOL_GPL(simtec_audio_pmops); |
314 | #endif | 314 | #endif |
315 | 315 | ||
316 | int __devinit simtec_audio_core_probe(struct platform_device *pdev, | 316 | int simtec_audio_core_probe(struct platform_device *pdev, |
317 | struct snd_soc_card *card) | 317 | struct snd_soc_card *card) |
318 | { | 318 | { |
319 | struct platform_device *snd_dev; | 319 | struct platform_device *snd_dev; |
320 | int ret; | 320 | int ret; |
@@ -371,7 +371,7 @@ err_clk: | |||
371 | } | 371 | } |
372 | EXPORT_SYMBOL_GPL(simtec_audio_core_probe); | 372 | EXPORT_SYMBOL_GPL(simtec_audio_core_probe); |
373 | 373 | ||
374 | int __devexit simtec_audio_remove(struct platform_device *pdev) | 374 | int simtec_audio_remove(struct platform_device *pdev) |
375 | { | 375 | { |
376 | struct platform_device *snd_dev = platform_get_drvdata(pdev); | 376 | struct platform_device *snd_dev = platform_get_drvdata(pdev); |
377 | 377 | ||
diff --git a/sound/soc/samsung/s3c24xx_simtec_hermes.c b/sound/soc/samsung/s3c24xx_simtec_hermes.c index 7ace6a87f41b..d8a0543cae5e 100644 --- a/sound/soc/samsung/s3c24xx_simtec_hermes.c +++ b/sound/soc/samsung/s3c24xx_simtec_hermes.c | |||
@@ -82,7 +82,7 @@ static struct snd_soc_dai_link simtec_dai_aic33 = { | |||
82 | .codec_name = "tlv320aic3x-codec.0-001a", | 82 | .codec_name = "tlv320aic3x-codec.0-001a", |
83 | .cpu_dai_name = "s3c24xx-iis", | 83 | .cpu_dai_name = "s3c24xx-iis", |
84 | .codec_dai_name = "tlv320aic3x-hifi", | 84 | .codec_dai_name = "tlv320aic3x-hifi", |
85 | .platform_name = "samsung-audio", | 85 | .platform_name = "s3c24xx-iis", |
86 | .init = simtec_hermes_init, | 86 | .init = simtec_hermes_init, |
87 | }; | 87 | }; |
88 | 88 | ||
@@ -99,7 +99,7 @@ static struct snd_soc_card snd_soc_machine_simtec_aic33 = { | |||
99 | .num_dapm_routes = ARRAY_SIZE(base_map), | 99 | .num_dapm_routes = ARRAY_SIZE(base_map), |
100 | }; | 100 | }; |
101 | 101 | ||
102 | static int __devinit simtec_audio_hermes_probe(struct platform_device *pd) | 102 | static int simtec_audio_hermes_probe(struct platform_device *pd) |
103 | { | 103 | { |
104 | dev_info(&pd->dev, "probing....\n"); | 104 | dev_info(&pd->dev, "probing....\n"); |
105 | return simtec_audio_core_probe(pd, &snd_soc_machine_simtec_aic33); | 105 | return simtec_audio_core_probe(pd, &snd_soc_machine_simtec_aic33); |
@@ -112,7 +112,7 @@ static struct platform_driver simtec_audio_hermes_platdrv = { | |||
112 | .pm = simtec_audio_pm, | 112 | .pm = simtec_audio_pm, |
113 | }, | 113 | }, |
114 | .probe = simtec_audio_hermes_probe, | 114 | .probe = simtec_audio_hermes_probe, |
115 | .remove = __devexit_p(simtec_audio_remove), | 115 | .remove = simtec_audio_remove, |
116 | }; | 116 | }; |
117 | 117 | ||
118 | module_platform_driver(simtec_audio_hermes_platdrv); | 118 | module_platform_driver(simtec_audio_hermes_platdrv); |
diff --git a/sound/soc/samsung/s3c24xx_simtec_tlv320aic23.c b/sound/soc/samsung/s3c24xx_simtec_tlv320aic23.c index c42d5f00b0e1..1ac0d7a63a3a 100644 --- a/sound/soc/samsung/s3c24xx_simtec_tlv320aic23.c +++ b/sound/soc/samsung/s3c24xx_simtec_tlv320aic23.c | |||
@@ -71,7 +71,7 @@ static struct snd_soc_dai_link simtec_dai_aic23 = { | |||
71 | .codec_name = "tlv320aic3x-codec.0-001a", | 71 | .codec_name = "tlv320aic3x-codec.0-001a", |
72 | .cpu_dai_name = "s3c24xx-iis", | 72 | .cpu_dai_name = "s3c24xx-iis", |
73 | .codec_dai_name = "tlv320aic3x-hifi", | 73 | .codec_dai_name = "tlv320aic3x-hifi", |
74 | .platform_name = "samsung-audio", | 74 | .platform_name = "s3c24xx-iis", |
75 | .init = simtec_tlv320aic23_init, | 75 | .init = simtec_tlv320aic23_init, |
76 | }; | 76 | }; |
77 | 77 | ||
@@ -88,7 +88,7 @@ static struct snd_soc_card snd_soc_machine_simtec_aic23 = { | |||
88 | .num_dapm_routes = ARRAY_SIZE(base_map), | 88 | .num_dapm_routes = ARRAY_SIZE(base_map), |
89 | }; | 89 | }; |
90 | 90 | ||
91 | static int __devinit simtec_audio_tlv320aic23_probe(struct platform_device *pd) | 91 | static int simtec_audio_tlv320aic23_probe(struct platform_device *pd) |
92 | { | 92 | { |
93 | return simtec_audio_core_probe(pd, &snd_soc_machine_simtec_aic23); | 93 | return simtec_audio_core_probe(pd, &snd_soc_machine_simtec_aic23); |
94 | } | 94 | } |
@@ -100,7 +100,7 @@ static struct platform_driver simtec_audio_tlv320aic23_driver = { | |||
100 | .pm = simtec_audio_pm, | 100 | .pm = simtec_audio_pm, |
101 | }, | 101 | }, |
102 | .probe = simtec_audio_tlv320aic23_probe, | 102 | .probe = simtec_audio_tlv320aic23_probe, |
103 | .remove = __devexit_p(simtec_audio_remove), | 103 | .remove = simtec_audio_remove, |
104 | }; | 104 | }; |
105 | 105 | ||
106 | module_platform_driver(simtec_audio_tlv320aic23_driver); | 106 | module_platform_driver(simtec_audio_tlv320aic23_driver); |
diff --git a/sound/soc/samsung/s3c24xx_uda134x.c b/sound/soc/samsung/s3c24xx_uda134x.c index d731042e51b0..333e1b7f06c7 100644 --- a/sound/soc/samsung/s3c24xx_uda134x.c +++ b/sound/soc/samsung/s3c24xx_uda134x.c | |||
@@ -224,7 +224,7 @@ static struct snd_soc_dai_link s3c24xx_uda134x_dai_link = { | |||
224 | .codec_dai_name = "uda134x-hifi", | 224 | .codec_dai_name = "uda134x-hifi", |
225 | .cpu_dai_name = "s3c24xx-iis", | 225 | .cpu_dai_name = "s3c24xx-iis", |
226 | .ops = &s3c24xx_uda134x_ops, | 226 | .ops = &s3c24xx_uda134x_ops, |
227 | .platform_name = "samsung-audio", | 227 | .platform_name = "s3c24xx-iis", |
228 | }; | 228 | }; |
229 | 229 | ||
230 | static struct snd_soc_card snd_soc_s3c24xx_uda134x = { | 230 | static struct snd_soc_card snd_soc_s3c24xx_uda134x = { |
diff --git a/sound/soc/samsung/smartq_wm8987.c b/sound/soc/samsung/smartq_wm8987.c index f2dcb424ea25..58ae3237ef69 100644 --- a/sound/soc/samsung/smartq_wm8987.c +++ b/sound/soc/samsung/smartq_wm8987.c | |||
@@ -189,7 +189,7 @@ static struct snd_soc_dai_link smartq_dai[] = { | |||
189 | .stream_name = "SmartQ Hi-Fi", | 189 | .stream_name = "SmartQ Hi-Fi", |
190 | .cpu_dai_name = "samsung-i2s.0", | 190 | .cpu_dai_name = "samsung-i2s.0", |
191 | .codec_dai_name = "wm8750-hifi", | 191 | .codec_dai_name = "wm8750-hifi", |
192 | .platform_name = "samsung-audio", | 192 | .platform_name = "samsung-i2s.0", |
193 | .codec_name = "wm8750.0-0x1a", | 193 | .codec_name = "wm8750.0-0x1a", |
194 | .init = smartq_wm8987_init, | 194 | .init = smartq_wm8987_init, |
195 | .ops = &smartq_hifi_ops, | 195 | .ops = &smartq_hifi_ops, |
diff --git a/sound/soc/samsung/smdk2443_wm9710.c b/sound/soc/samsung/smdk2443_wm9710.c index 720ba29bb7e4..c390aad68cfb 100644 --- a/sound/soc/samsung/smdk2443_wm9710.c +++ b/sound/soc/samsung/smdk2443_wm9710.c | |||
@@ -24,7 +24,7 @@ static struct snd_soc_dai_link smdk2443_dai[] = { | |||
24 | .cpu_dai_name = "samsung-ac97", | 24 | .cpu_dai_name = "samsung-ac97", |
25 | .codec_dai_name = "ac97-hifi", | 25 | .codec_dai_name = "ac97-hifi", |
26 | .codec_name = "ac97-codec", | 26 | .codec_name = "ac97-codec", |
27 | .platform_name = "samsung-audio", | 27 | .platform_name = "samsung-ac97", |
28 | }, | 28 | }, |
29 | }; | 29 | }; |
30 | 30 | ||
diff --git a/sound/soc/samsung/smdk_spdif.c b/sound/soc/samsung/smdk_spdif.c index beaa9c15d697..a2f2363fe1c2 100644 --- a/sound/soc/samsung/smdk_spdif.c +++ b/sound/soc/samsung/smdk_spdif.c | |||
@@ -151,7 +151,7 @@ static struct snd_soc_ops smdk_spdif_ops = { | |||
151 | static struct snd_soc_dai_link smdk_dai = { | 151 | static struct snd_soc_dai_link smdk_dai = { |
152 | .name = "S/PDIF", | 152 | .name = "S/PDIF", |
153 | .stream_name = "S/PDIF PCM Playback", | 153 | .stream_name = "S/PDIF PCM Playback", |
154 | .platform_name = "samsung-audio", | 154 | .platform_name = "samsung-spdif", |
155 | .cpu_dai_name = "samsung-spdif", | 155 | .cpu_dai_name = "samsung-spdif", |
156 | .codec_dai_name = "dit-hifi", | 156 | .codec_dai_name = "dit-hifi", |
157 | .codec_name = "spdif-dit", | 157 | .codec_name = "spdif-dit", |
diff --git a/sound/soc/samsung/smdk_wm8580.c b/sound/soc/samsung/smdk_wm8580.c index ade2809cf393..7e2b710763be 100644 --- a/sound/soc/samsung/smdk_wm8580.c +++ b/sound/soc/samsung/smdk_wm8580.c | |||
@@ -176,7 +176,7 @@ static struct snd_soc_dai_link smdk_dai[] = { | |||
176 | .stream_name = "Playback", | 176 | .stream_name = "Playback", |
177 | .cpu_dai_name = "samsung-i2s.0", | 177 | .cpu_dai_name = "samsung-i2s.0", |
178 | .codec_dai_name = "wm8580-hifi-playback", | 178 | .codec_dai_name = "wm8580-hifi-playback", |
179 | .platform_name = "samsung-audio", | 179 | .platform_name = "samsung-i2s.0", |
180 | .codec_name = "wm8580.0-001b", | 180 | .codec_name = "wm8580.0-001b", |
181 | .ops = &smdk_ops, | 181 | .ops = &smdk_ops, |
182 | }, | 182 | }, |
@@ -185,7 +185,7 @@ static struct snd_soc_dai_link smdk_dai[] = { | |||
185 | .stream_name = "Capture", | 185 | .stream_name = "Capture", |
186 | .cpu_dai_name = "samsung-i2s.0", | 186 | .cpu_dai_name = "samsung-i2s.0", |
187 | .codec_dai_name = "wm8580-hifi-capture", | 187 | .codec_dai_name = "wm8580-hifi-capture", |
188 | .platform_name = "samsung-audio", | 188 | .platform_name = "samsung-i2s.0", |
189 | .codec_name = "wm8580.0-001b", | 189 | .codec_name = "wm8580.0-001b", |
190 | .init = smdk_wm8580_init_paiftx, | 190 | .init = smdk_wm8580_init_paiftx, |
191 | .ops = &smdk_ops, | 191 | .ops = &smdk_ops, |
@@ -195,7 +195,7 @@ static struct snd_soc_dai_link smdk_dai[] = { | |||
195 | .stream_name = "Playback", | 195 | .stream_name = "Playback", |
196 | .cpu_dai_name = "samsung-i2s.x", | 196 | .cpu_dai_name = "samsung-i2s.x", |
197 | .codec_dai_name = "wm8580-hifi-playback", | 197 | .codec_dai_name = "wm8580-hifi-playback", |
198 | .platform_name = "samsung-audio", | 198 | .platform_name = "samsung-i2s.x", |
199 | .codec_name = "wm8580.0-001b", | 199 | .codec_name = "wm8580.0-001b", |
200 | .ops = &smdk_ops, | 200 | .ops = &smdk_ops, |
201 | }, | 201 | }, |
diff --git a/sound/soc/samsung/smdk_wm8580pcm.c b/sound/soc/samsung/smdk_wm8580pcm.c index fab5322e9f05..e43bd4294f99 100644 --- a/sound/soc/samsung/smdk_wm8580pcm.c +++ b/sound/soc/samsung/smdk_wm8580pcm.c | |||
@@ -135,7 +135,7 @@ static struct snd_soc_dai_link smdk_dai[] = { | |||
135 | .stream_name = "Capture", | 135 | .stream_name = "Capture", |
136 | .cpu_dai_name = "samsung-pcm.0", | 136 | .cpu_dai_name = "samsung-pcm.0", |
137 | .codec_dai_name = "wm8580-hifi-capture", | 137 | .codec_dai_name = "wm8580-hifi-capture", |
138 | .platform_name = "samsung-audio", | 138 | .platform_name = "samsung-pcm.0", |
139 | .codec_name = "wm8580.0-001b", | 139 | .codec_name = "wm8580.0-001b", |
140 | .ops = &smdk_wm8580_pcm_ops, | 140 | .ops = &smdk_wm8580_pcm_ops, |
141 | }, | 141 | }, |
@@ -153,7 +153,7 @@ static struct snd_soc_card smdk_pcm = { | |||
153 | * is absent (or not connected), so we connect EXT_VOICE_CLK(OSC4), | 153 | * is absent (or not connected), so we connect EXT_VOICE_CLK(OSC4), |
154 | * 2.0484Mhz, directly with MCLK both Codec and SoC. | 154 | * 2.0484Mhz, directly with MCLK both Codec and SoC. |
155 | */ | 155 | */ |
156 | static int __devinit snd_smdk_probe(struct platform_device *pdev) | 156 | static int snd_smdk_probe(struct platform_device *pdev) |
157 | { | 157 | { |
158 | int ret = 0; | 158 | int ret = 0; |
159 | 159 | ||
@@ -173,7 +173,7 @@ static int __devinit snd_smdk_probe(struct platform_device *pdev) | |||
173 | return 0; | 173 | return 0; |
174 | } | 174 | } |
175 | 175 | ||
176 | static int __devexit snd_smdk_remove(struct platform_device *pdev) | 176 | static int snd_smdk_remove(struct platform_device *pdev) |
177 | { | 177 | { |
178 | snd_soc_unregister_card(&smdk_pcm); | 178 | snd_soc_unregister_card(&smdk_pcm); |
179 | platform_set_drvdata(pdev, NULL); | 179 | platform_set_drvdata(pdev, NULL); |
@@ -186,7 +186,7 @@ static struct platform_driver snd_smdk_driver = { | |||
186 | .name = "samsung-smdk-pcm", | 186 | .name = "samsung-smdk-pcm", |
187 | }, | 187 | }, |
188 | .probe = snd_smdk_probe, | 188 | .probe = snd_smdk_probe, |
189 | .remove = __devexit_p(snd_smdk_remove), | 189 | .remove = snd_smdk_remove, |
190 | }; | 190 | }; |
191 | 191 | ||
192 | module_platform_driver(snd_smdk_driver); | 192 | module_platform_driver(snd_smdk_driver); |
diff --git a/sound/soc/samsung/smdk_wm8994.c b/sound/soc/samsung/smdk_wm8994.c index 48dd4dd9ee08..b0d0ab8bff5a 100644 --- a/sound/soc/samsung/smdk_wm8994.c +++ b/sound/soc/samsung/smdk_wm8994.c | |||
@@ -127,7 +127,7 @@ static struct snd_soc_dai_link smdk_dai[] = { | |||
127 | .stream_name = "Pri_Dai", | 127 | .stream_name = "Pri_Dai", |
128 | .cpu_dai_name = "samsung-i2s.0", | 128 | .cpu_dai_name = "samsung-i2s.0", |
129 | .codec_dai_name = "wm8994-aif1", | 129 | .codec_dai_name = "wm8994-aif1", |
130 | .platform_name = "samsung-audio", | 130 | .platform_name = "samsung-i2s.0", |
131 | .codec_name = "wm8994-codec", | 131 | .codec_name = "wm8994-codec", |
132 | .init = smdk_wm8994_init_paiftx, | 132 | .init = smdk_wm8994_init_paiftx, |
133 | .ops = &smdk_ops, | 133 | .ops = &smdk_ops, |
@@ -136,7 +136,7 @@ static struct snd_soc_dai_link smdk_dai[] = { | |||
136 | .stream_name = "Sec_Dai", | 136 | .stream_name = "Sec_Dai", |
137 | .cpu_dai_name = "samsung-i2s.4", | 137 | .cpu_dai_name = "samsung-i2s.4", |
138 | .codec_dai_name = "wm8994-aif1", | 138 | .codec_dai_name = "wm8994-aif1", |
139 | .platform_name = "samsung-audio", | 139 | .platform_name = "samsung-i2s.4", |
140 | .codec_name = "wm8994-codec", | 140 | .codec_name = "wm8994-codec", |
141 | .ops = &smdk_ops, | 141 | .ops = &smdk_ops, |
142 | }, | 142 | }, |
@@ -150,7 +150,7 @@ static struct snd_soc_card smdk = { | |||
150 | }; | 150 | }; |
151 | 151 | ||
152 | 152 | ||
153 | static int __devinit smdk_audio_probe(struct platform_device *pdev) | 153 | static int smdk_audio_probe(struct platform_device *pdev) |
154 | { | 154 | { |
155 | int ret; | 155 | int ret; |
156 | struct snd_soc_card *card = &smdk; | 156 | struct snd_soc_card *card = &smdk; |
@@ -164,7 +164,7 @@ static int __devinit smdk_audio_probe(struct platform_device *pdev) | |||
164 | return ret; | 164 | return ret; |
165 | } | 165 | } |
166 | 166 | ||
167 | static int __devexit smdk_audio_remove(struct platform_device *pdev) | 167 | static int smdk_audio_remove(struct platform_device *pdev) |
168 | { | 168 | { |
169 | struct snd_soc_card *card = platform_get_drvdata(pdev); | 169 | struct snd_soc_card *card = platform_get_drvdata(pdev); |
170 | 170 | ||
@@ -179,7 +179,7 @@ static struct platform_driver smdk_audio_driver = { | |||
179 | .owner = THIS_MODULE, | 179 | .owner = THIS_MODULE, |
180 | }, | 180 | }, |
181 | .probe = smdk_audio_probe, | 181 | .probe = smdk_audio_probe, |
182 | .remove = __devexit_p(smdk_audio_remove), | 182 | .remove = smdk_audio_remove, |
183 | }; | 183 | }; |
184 | 184 | ||
185 | module_platform_driver(smdk_audio_driver); | 185 | module_platform_driver(smdk_audio_driver); |
diff --git a/sound/soc/samsung/smdk_wm8994pcm.c b/sound/soc/samsung/smdk_wm8994pcm.c index 77ecba935119..3688a32000a2 100644 --- a/sound/soc/samsung/smdk_wm8994pcm.c +++ b/sound/soc/samsung/smdk_wm8994pcm.c | |||
@@ -116,7 +116,7 @@ static struct snd_soc_dai_link smdk_dai[] = { | |||
116 | .stream_name = "Primary PCM", | 116 | .stream_name = "Primary PCM", |
117 | .cpu_dai_name = "samsung-pcm.0", | 117 | .cpu_dai_name = "samsung-pcm.0", |
118 | .codec_dai_name = "wm8994-aif1", | 118 | .codec_dai_name = "wm8994-aif1", |
119 | .platform_name = "samsung-audio", | 119 | .platform_name = "samsung-pcm.0", |
120 | .codec_name = "wm8994-codec", | 120 | .codec_name = "wm8994-codec", |
121 | .ops = &smdk_wm8994_pcm_ops, | 121 | .ops = &smdk_wm8994_pcm_ops, |
122 | }, | 122 | }, |
@@ -129,7 +129,7 @@ static struct snd_soc_card smdk_pcm = { | |||
129 | .num_links = 1, | 129 | .num_links = 1, |
130 | }; | 130 | }; |
131 | 131 | ||
132 | static int __devinit snd_smdk_probe(struct platform_device *pdev) | 132 | static int snd_smdk_probe(struct platform_device *pdev) |
133 | { | 133 | { |
134 | int ret = 0; | 134 | int ret = 0; |
135 | 135 | ||
@@ -143,7 +143,7 @@ static int __devinit snd_smdk_probe(struct platform_device *pdev) | |||
143 | return 0; | 143 | return 0; |
144 | } | 144 | } |
145 | 145 | ||
146 | static int __devexit snd_smdk_remove(struct platform_device *pdev) | 146 | static int snd_smdk_remove(struct platform_device *pdev) |
147 | { | 147 | { |
148 | snd_soc_unregister_card(&smdk_pcm); | 148 | snd_soc_unregister_card(&smdk_pcm); |
149 | platform_set_drvdata(pdev, NULL); | 149 | platform_set_drvdata(pdev, NULL); |
@@ -156,7 +156,7 @@ static struct platform_driver snd_smdk_driver = { | |||
156 | .name = "samsung-smdk-pcm", | 156 | .name = "samsung-smdk-pcm", |
157 | }, | 157 | }, |
158 | .probe = snd_smdk_probe, | 158 | .probe = snd_smdk_probe, |
159 | .remove = __devexit_p(snd_smdk_remove), | 159 | .remove = snd_smdk_remove, |
160 | }; | 160 | }; |
161 | 161 | ||
162 | module_platform_driver(snd_smdk_driver); | 162 | module_platform_driver(snd_smdk_driver); |
diff --git a/sound/soc/samsung/smdk_wm9713.c b/sound/soc/samsung/smdk_wm9713.c index 55b2ca7f3290..0d20e4ed27aa 100644 --- a/sound/soc/samsung/smdk_wm9713.c +++ b/sound/soc/samsung/smdk_wm9713.c | |||
@@ -42,7 +42,7 @@ static struct snd_soc_card smdk; | |||
42 | static struct snd_soc_dai_link smdk_dai = { | 42 | static struct snd_soc_dai_link smdk_dai = { |
43 | .name = "AC97", | 43 | .name = "AC97", |
44 | .stream_name = "AC97 PCM", | 44 | .stream_name = "AC97 PCM", |
45 | .platform_name = "samsung-audio", | 45 | .platform_name = "samsung-ac97", |
46 | .cpu_dai_name = "samsung-ac97", | 46 | .cpu_dai_name = "samsung-ac97", |
47 | .codec_dai_name = "wm9713-hifi", | 47 | .codec_dai_name = "wm9713-hifi", |
48 | .codec_name = "wm9713-codec", | 48 | .codec_name = "wm9713-codec", |
diff --git a/sound/soc/samsung/spdif.c b/sound/soc/samsung/spdif.c index 5f3b06d36e9c..5008e5bd6ed8 100644 --- a/sound/soc/samsung/spdif.c +++ b/sound/soc/samsung/spdif.c | |||
@@ -357,7 +357,7 @@ static struct snd_soc_dai_driver samsung_spdif_dai = { | |||
357 | .resume = spdif_resume, | 357 | .resume = spdif_resume, |
358 | }; | 358 | }; |
359 | 359 | ||
360 | static __devinit int spdif_probe(struct platform_device *pdev) | 360 | static int spdif_probe(struct platform_device *pdev) |
361 | { | 361 | { |
362 | struct s3c_audio_pdata *spdif_pdata; | 362 | struct s3c_audio_pdata *spdif_pdata; |
363 | struct resource *mem_res, *dma_res; | 363 | struct resource *mem_res, *dma_res; |
@@ -437,8 +437,15 @@ static __devinit int spdif_probe(struct platform_device *pdev) | |||
437 | 437 | ||
438 | spdif->dma_playback = &spdif_stereo_out; | 438 | spdif->dma_playback = &spdif_stereo_out; |
439 | 439 | ||
440 | return 0; | 440 | ret = asoc_dma_platform_register(&pdev->dev); |
441 | if (ret) { | ||
442 | dev_err(&pdev->dev, "failed to register DMA: %d\n", ret); | ||
443 | goto err5; | ||
444 | } | ||
441 | 445 | ||
446 | return 0; | ||
447 | err5: | ||
448 | snd_soc_unregister_dai(&pdev->dev); | ||
442 | err4: | 449 | err4: |
443 | iounmap(spdif->regs); | 450 | iounmap(spdif->regs); |
444 | err3: | 451 | err3: |
@@ -453,11 +460,12 @@ err0: | |||
453 | return ret; | 460 | return ret; |
454 | } | 461 | } |
455 | 462 | ||
456 | static __devexit int spdif_remove(struct platform_device *pdev) | 463 | static int spdif_remove(struct platform_device *pdev) |
457 | { | 464 | { |
458 | struct samsung_spdif_info *spdif = &spdif_info; | 465 | struct samsung_spdif_info *spdif = &spdif_info; |
459 | struct resource *mem_res; | 466 | struct resource *mem_res; |
460 | 467 | ||
468 | asoc_dma_platform_unregister(&pdev->dev); | ||
461 | snd_soc_unregister_dai(&pdev->dev); | 469 | snd_soc_unregister_dai(&pdev->dev); |
462 | 470 | ||
463 | iounmap(spdif->regs); | 471 | iounmap(spdif->regs); |
@@ -476,7 +484,7 @@ static __devexit int spdif_remove(struct platform_device *pdev) | |||
476 | 484 | ||
477 | static struct platform_driver samsung_spdif_driver = { | 485 | static struct platform_driver samsung_spdif_driver = { |
478 | .probe = spdif_probe, | 486 | .probe = spdif_probe, |
479 | .remove = __devexit_p(spdif_remove), | 487 | .remove = spdif_remove, |
480 | .driver = { | 488 | .driver = { |
481 | .name = "samsung-spdif", | 489 | .name = "samsung-spdif", |
482 | .owner = THIS_MODULE, | 490 | .owner = THIS_MODULE, |
diff --git a/sound/soc/samsung/speyside.c b/sound/soc/samsung/speyside.c index c7e1c28528a4..57df90d6b7c1 100644 --- a/sound/soc/samsung/speyside.c +++ b/sound/soc/samsung/speyside.c | |||
@@ -198,7 +198,7 @@ static struct snd_soc_dai_link speyside_dai[] = { | |||
198 | .stream_name = "CPU-DSP", | 198 | .stream_name = "CPU-DSP", |
199 | .cpu_dai_name = "samsung-i2s.0", | 199 | .cpu_dai_name = "samsung-i2s.0", |
200 | .codec_dai_name = "wm0010-sdi1", | 200 | .codec_dai_name = "wm0010-sdi1", |
201 | .platform_name = "samsung-audio", | 201 | .platform_name = "samsung-i2s.0", |
202 | .codec_name = "spi0.0", | 202 | .codec_name = "spi0.0", |
203 | .init = speyside_wm0010_init, | 203 | .init = speyside_wm0010_init, |
204 | .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | 204 | .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF |
@@ -320,7 +320,7 @@ static struct snd_soc_card speyside = { | |||
320 | .late_probe = speyside_late_probe, | 320 | .late_probe = speyside_late_probe, |
321 | }; | 321 | }; |
322 | 322 | ||
323 | static __devinit int speyside_probe(struct platform_device *pdev) | 323 | static int speyside_probe(struct platform_device *pdev) |
324 | { | 324 | { |
325 | struct snd_soc_card *card = &speyside; | 325 | struct snd_soc_card *card = &speyside; |
326 | int ret; | 326 | int ret; |
@@ -337,7 +337,7 @@ static __devinit int speyside_probe(struct platform_device *pdev) | |||
337 | return 0; | 337 | return 0; |
338 | } | 338 | } |
339 | 339 | ||
340 | static int __devexit speyside_remove(struct platform_device *pdev) | 340 | static int speyside_remove(struct platform_device *pdev) |
341 | { | 341 | { |
342 | struct snd_soc_card *card = platform_get_drvdata(pdev); | 342 | struct snd_soc_card *card = platform_get_drvdata(pdev); |
343 | 343 | ||
@@ -353,7 +353,7 @@ static struct platform_driver speyside_driver = { | |||
353 | .pm = &snd_soc_pm_ops, | 353 | .pm = &snd_soc_pm_ops, |
354 | }, | 354 | }, |
355 | .probe = speyside_probe, | 355 | .probe = speyside_probe, |
356 | .remove = __devexit_p(speyside_remove), | 356 | .remove = speyside_remove, |
357 | }; | 357 | }; |
358 | 358 | ||
359 | module_platform_driver(speyside_driver); | 359 | module_platform_driver(speyside_driver); |
diff --git a/sound/soc/samsung/tobermory.c b/sound/soc/samsung/tobermory.c index 9199649bf786..f21ff608a819 100644 --- a/sound/soc/samsung/tobermory.c +++ b/sound/soc/samsung/tobermory.c | |||
@@ -110,7 +110,7 @@ static struct snd_soc_dai_link tobermory_dai[] = { | |||
110 | .stream_name = "CPU", | 110 | .stream_name = "CPU", |
111 | .cpu_dai_name = "samsung-i2s.0", | 111 | .cpu_dai_name = "samsung-i2s.0", |
112 | .codec_dai_name = "wm8962", | 112 | .codec_dai_name = "wm8962", |
113 | .platform_name = "samsung-audio", | 113 | .platform_name = "samsung-i2s.0", |
114 | .codec_name = "wm8962.1-001a", | 114 | .codec_name = "wm8962.1-001a", |
115 | .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | 115 | .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF |
116 | | SND_SOC_DAIFMT_CBM_CFM, | 116 | | SND_SOC_DAIFMT_CBM_CFM, |
@@ -214,7 +214,7 @@ static struct snd_soc_card tobermory = { | |||
214 | .late_probe = tobermory_late_probe, | 214 | .late_probe = tobermory_late_probe, |
215 | }; | 215 | }; |
216 | 216 | ||
217 | static __devinit int tobermory_probe(struct platform_device *pdev) | 217 | static int tobermory_probe(struct platform_device *pdev) |
218 | { | 218 | { |
219 | struct snd_soc_card *card = &tobermory; | 219 | struct snd_soc_card *card = &tobermory; |
220 | int ret; | 220 | int ret; |
@@ -231,7 +231,7 @@ static __devinit int tobermory_probe(struct platform_device *pdev) | |||
231 | return 0; | 231 | return 0; |
232 | } | 232 | } |
233 | 233 | ||
234 | static int __devexit tobermory_remove(struct platform_device *pdev) | 234 | static int tobermory_remove(struct platform_device *pdev) |
235 | { | 235 | { |
236 | struct snd_soc_card *card = platform_get_drvdata(pdev); | 236 | struct snd_soc_card *card = platform_get_drvdata(pdev); |
237 | 237 | ||
@@ -247,7 +247,7 @@ static struct platform_driver tobermory_driver = { | |||
247 | .pm = &snd_soc_pm_ops, | 247 | .pm = &snd_soc_pm_ops, |
248 | }, | 248 | }, |
249 | .probe = tobermory_probe, | 249 | .probe = tobermory_probe, |
250 | .remove = __devexit_p(tobermory_remove), | 250 | .remove = tobermory_remove, |
251 | }; | 251 | }; |
252 | 252 | ||
253 | module_platform_driver(tobermory_driver); | 253 | module_platform_driver(tobermory_driver); |