Commit a08485d8fdf6f67ca5f173b68d8f873c574745f2

Authored by Padmavathi Venna
Committed by Mark Brown
1 parent 1974a042dd

ASoC: Samsung: Do not register samsung audio dma device as pdev

Previously, the ASoC 'platform' (PCM/DMA) object was instantiated via a
platform_device. This didn't represent the hardware well, since there
was no separate hardware associated with this platform_device; it was a
virtual device with sole purpose to call snd_soc_register_platform().

This change removes the platform_device completely. Each Samsung DAI now
registers the ASoC 'platform' itself. Machine drivers are adjusted for
the new 'platform' name.

Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

Showing 45 changed files with 105 additions and 72 deletions Side-by-side Diff

arch/arm/mach-exynos/mach-armlex4210.c
... ... @@ -147,7 +147,6 @@
147 147 &s3c_device_hsmmc3,
148 148 &s3c_device_rtc,
149 149 &s3c_device_wdt,
150   - &samsung_asoc_dma,
151 150 &armlex4210_smsc911x,
152 151 &exynos4_device_ahci,
153 152 };
arch/arm/mach-exynos/mach-smdkv310.c
... ... @@ -311,7 +311,6 @@
311 311 &s5p_device_mfc_l,
312 312 &s5p_device_mfc_r,
313 313 &exynos4_device_spdif,
314   - &samsung_asoc_dma,
315 314 &samsung_asoc_idma,
316 315 &s5p_device_fimd0,
317 316 &smdkv310_device_audio,
arch/arm/mach-s3c24xx/mach-gta02.c
... ... @@ -521,7 +521,6 @@
521 521 &gta02_nor_flash,
522 522 &s3c24xx_pwm_device,
523 523 &s3c_device_iis,
524   - &samsung_asoc_dma,
525 524 &s3c_device_i2c0,
526 525 &gta02_dfbmcs320_device,
527 526 &gta02_buttons_device,
arch/arm/mach-s3c24xx/mach-h1940.c
... ... @@ -632,7 +632,6 @@
632 632 &s3c_device_wdt,
633 633 &s3c_device_i2c0,
634 634 &s3c_device_iis,
635   - &samsung_asoc_dma,
636 635 &s3c_device_usbgadget,
637 636 &h1940_device_leds,
638 637 &h1940_device_bluetooth,
arch/arm/mach-s3c24xx/mach-mini2440.c
... ... @@ -519,7 +519,6 @@
519 519 &s3c_device_iis,
520 520 &uda1340_codec,
521 521 &mini2440_audio,
522   - &samsung_asoc_dma,
523 522 };
524 523  
525 524 static void __init mini2440_map_io(void)
arch/arm/mach-s3c24xx/mach-rx1950.c
... ... @@ -712,7 +712,6 @@
712 712 &s3c_device_wdt,
713 713 &s3c_device_i2c0,
714 714 &s3c_device_iis,
715   - &samsung_asoc_dma,
716 715 &s3c_device_usbgadget,
717 716 &s3c_device_rtc,
718 717 &s3c_device_nand,
arch/arm/mach-s3c64xx/mach-crag6410.c
... ... @@ -357,7 +357,6 @@
357 357 &s3c_device_timer[0],
358 358 &s3c64xx_device_iis0,
359 359 &s3c64xx_device_iis1,
360   - &samsung_asoc_dma,
361 360 &samsung_device_keypad,
362 361 &crag6410_gpio_keydev,
363 362 &crag6410_dm9k_device,
arch/arm/mach-s3c64xx/mach-smdk6410.c
... ... @@ -275,7 +275,6 @@
275 275 &s3c_device_fb,
276 276 &s3c_device_ohci,
277 277 &s3c_device_usb_hsotg,
278   - &samsung_asoc_dma,
279 278 &s3c64xx_device_iisv4,
280 279 &samsung_device_keypad,
281 280  
arch/arm/mach-s5p64x0/mach-smdk6440.c
... ... @@ -165,7 +165,6 @@
165 165 &s3c_device_i2c1,
166 166 &s3c_device_ts,
167 167 &s3c_device_wdt,
168   - &samsung_asoc_dma,
169 168 &s5p6440_device_iis,
170 169 &s3c_device_fb,
171 170 &smdk6440_lcd_lte480wv,
arch/arm/mach-s5p64x0/mach-smdk6450.c
... ... @@ -183,7 +183,6 @@
183 183 &s3c_device_i2c1,
184 184 &s3c_device_ts,
185 185 &s3c_device_wdt,
186   - &samsung_asoc_dma,
187 186 &s5p6450_device_iis0,
188 187 &s3c_device_fb,
189 188 &smdk6450_lcd_lte480wv,
arch/arm/mach-s5pc100/mach-smdkc100.c
... ... @@ -197,7 +197,6 @@
197 197 &s3c_device_ts,
198 198 &s3c_device_wdt,
199 199 &smdkc100_lcd_powerdev,
200   - &samsung_asoc_dma,
201 200 &s5pc100_device_iis0,
202 201 &samsung_device_keypad,
203 202 &s5pc100_device_ac97,
arch/arm/mach-s5pv210/mach-smdkc110.c
... ... @@ -85,7 +85,6 @@
85 85 };
86 86  
87 87 static struct platform_device *smdkc110_devices[] __initdata = {
88   - &samsung_asoc_dma,
89 88 &s5pv210_device_iis0,
90 89 &s5pv210_device_ac97,
91 90 &s5pv210_device_spdif,
arch/arm/mach-s5pv210/mach-smdkv210.c
... ... @@ -234,7 +234,6 @@
234 234 &s5pv210_device_ac97,
235 235 &s5pv210_device_iis0,
236 236 &s5pv210_device_spdif,
237   - &samsung_asoc_dma,
238 237 &samsung_asoc_idma,
239 238 &samsung_device_keypad,
240 239 &smdkv210_dm9000,
arch/arm/plat-samsung/devs.c
... ... @@ -146,15 +146,6 @@
146 146  
147 147 /* ASOC DMA */
148 148  
149   -struct platform_device samsung_asoc_dma = {
150   - .name = "samsung-audio",
151   - .id = -1,
152   - .dev = {
153   - .dma_mask = &samsung_device_dma_mask,
154   - .coherent_dma_mask = DMA_BIT_MASK(32),
155   - }
156   -};
157   -
158 149 struct platform_device samsung_asoc_idma = {
159 150 .name = "samsung-idma",
160 151 .id = -1,
arch/arm/plat-samsung/include/plat/devs.h
... ... @@ -135,7 +135,6 @@
135 135  
136 136 extern struct platform_device exynos_device_drm;
137 137  
138   -extern struct platform_device samsung_asoc_dma;
139 138 extern struct platform_device samsung_asoc_idma;
140 139 extern struct platform_device samsung_device_keypad;
141 140  
sound/soc/samsung/ac97.c
... ... @@ -462,8 +462,15 @@
462 462 if (ret)
463 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 474 err5:
468 475 free_irq(irq_res->start, NULL);
469 476 err4:
... ... @@ -482,6 +489,7 @@
482 489 {
483 490 struct resource *mem_res, *irq_res;
484 491  
  492 + asoc_dma_platform_unregister(&pdev->dev);
485 493 snd_soc_unregister_dais(&pdev->dev, ARRAY_SIZE(s3c_ac97_dai));
486 494  
487 495 irq_res = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
sound/soc/samsung/bells.c
... ... @@ -233,7 +233,7 @@
233 233 .stream_name = "CPU-DSP",
234 234 .cpu_dai_name = "samsung-i2s.0",
235 235 .codec_dai_name = "wm0010-sdi1",
236   - .platform_name = "samsung-audio",
  236 + .platform_name = "samsung-i2s.0",
237 237 .codec_name = "spi0.0",
238 238 .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF
239 239 | SND_SOC_DAIFMT_CBM_CFM,
... ... @@ -257,7 +257,7 @@
257 257 .stream_name = "CPU-DSP",
258 258 .cpu_dai_name = "samsung-i2s.0",
259 259 .codec_dai_name = "wm0010-sdi1",
260   - .platform_name = "samsung-audio",
  260 + .platform_name = "samsung-i2s.0",
261 261 .codec_name = "spi0.0",
262 262 .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF
263 263 | SND_SOC_DAIFMT_CBM_CFM,
... ... @@ -303,7 +303,7 @@
303 303 .stream_name = "CPU-DSP",
304 304 .cpu_dai_name = "samsung-i2s.0",
305 305 .codec_dai_name = "wm0010-sdi1",
306   - .platform_name = "samsung-audio",
  306 + .platform_name = "samsung-i2s.0",
307 307 .codec_name = "spi0.0",
308 308 .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF
309 309 | SND_SOC_DAIFMT_CBM_CFM,
sound/soc/samsung/dma.c
... ... @@ -432,31 +432,19 @@
432 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 __devinit 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 __devexit asoc_dma_platform_unregister(struct device *dev)
441 442 {
442   - snd_soc_unregister_platform(&pdev->dev);
443   - return 0;
  443 + snd_soc_unregister_platform(dev);
444 444 }
  445 +EXPORT_SYMBOL_GPL(asoc_dma_platform_unregister);
445 446  
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   -
458 447 MODULE_AUTHOR("Ben Dooks, <ben@simtec.co.uk>");
459 448 MODULE_DESCRIPTION("Samsung ASoC DMA Driver");
460 449 MODULE_LICENSE("GPL");
461   -MODULE_ALIAS("platform:samsung-audio");
sound/soc/samsung/dma.h
... ... @@ -21,5 +21,8 @@
21 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 27 #endif
sound/soc/samsung/goni_wm8994.c
... ... @@ -228,7 +228,7 @@
228 228 .stream_name = "WM8994 HiFi",
229 229 .cpu_dai_name = "samsung-i2s.0",
230 230 .codec_dai_name = "wm8994-aif1",
231   - .platform_name = "samsung-audio",
  231 + .platform_name = "samsung-i2s.0",
232 232 .codec_name = "wm8994-codec.0-001a",
233 233 .init = goni_wm8994_init,
234 234 .ops = &goni_hifi_ops,
sound/soc/samsung/h1940_uda1380.c
... ... @@ -207,7 +207,7 @@
207 207 .cpu_dai_name = "s3c24xx-iis",
208 208 .codec_dai_name = "uda1380-hifi",
209 209 .init = h1940_uda1380_init,
210   - .platform_name = "samsung-audio",
  210 + .platform_name = "s3c24xx-iis",
211 211 .codec_name = "uda1380-codec.0-001a",
212 212 .ops = &h1940_ops,
213 213 },
sound/soc/samsung/i2s.c
... ... @@ -1009,6 +1009,7 @@
1009 1009 sec_dai = dev_get_drvdata(&pdev->dev);
1010 1010 snd_soc_register_dai(&sec_dai->pdev->dev,
1011 1011 &sec_dai->i2s_dai_drv);
  1012 + asoc_dma_platform_register(&pdev->dev);
1012 1013 return 0;
1013 1014 }
1014 1015  
... ... @@ -1107,6 +1108,8 @@
1107 1108  
1108 1109 pm_runtime_enable(&pdev->dev);
1109 1110  
  1111 + asoc_dma_platform_register(&pdev->dev);
  1112 +
1110 1113 return 0;
1111 1114 err:
1112 1115 release_mem_region(regs_base, resource_size(res));
... ... @@ -1135,6 +1138,7 @@
1135 1138 i2s->pri_dai = NULL;
1136 1139 i2s->sec_dai = NULL;
1137 1140  
  1141 + asoc_dma_platform_unregister(&pdev->dev);
1138 1142 snd_soc_unregister_dai(&pdev->dev);
1139 1143  
1140 1144 return 0;
sound/soc/samsung/jive_wm8750.c
... ... @@ -118,7 +118,7 @@
118 118 .stream_name = "WM8750",
119 119 .cpu_dai_name = "s3c2412-i2s",
120 120 .codec_dai_name = "wm8750-hifi",
121   - .platform_name = "samsung-audio",
  121 + .platform_name = "s3c2412-i2s",
122 122 .codec_name = "wm8750.0-001a",
123 123 .init = jive_wm8750_init,
124 124 .ops = &jive_ops,
sound/soc/samsung/littlemill.c
... ... @@ -145,7 +145,7 @@
145 145 .stream_name = "CPU",
146 146 .cpu_dai_name = "samsung-i2s.0",
147 147 .codec_dai_name = "wm8994-aif1",
148   - .platform_name = "samsung-audio",
  148 + .platform_name = "samsung-i2s.0",
149 149 .codec_name = "wm8994-codec",
150 150 .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF
151 151 | SND_SOC_DAIFMT_CBM_CFM,
sound/soc/samsung/ln2440sbc_alc650.c
... ... @@ -28,7 +28,7 @@
28 28 .cpu_dai_name = "samsung-ac97",
29 29 .codec_dai_name = "ac97-hifi",
30 30 .codec_name = "ac97-codec",
31   - .platform_name = "samsung-audio",
  31 + .platform_name = "samsung-ac97",
32 32 },
33 33 };
34 34  
sound/soc/samsung/lowland.c
... ... @@ -99,7 +99,7 @@
99 99 .stream_name = "CPU",
100 100 .cpu_dai_name = "samsung-i2s.0",
101 101 .codec_dai_name = "wm5100-aif1",
102   - .platform_name = "samsung-audio",
  102 + .platform_name = "samsung-i2s.0",
103 103 .codec_name = "wm5100.1-001a",
104 104 .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF |
105 105 SND_SOC_DAIFMT_CBM_CFM,
sound/soc/samsung/neo1973_wm8753.c
... ... @@ -364,7 +364,7 @@
364 364 { /* Hifi Playback - for similatious use with voice below */
365 365 .name = "WM8753",
366 366 .stream_name = "WM8753 HiFi",
367   - .platform_name = "samsung-audio",
  367 + .platform_name = "s3c24xx-iis",
368 368 .cpu_dai_name = "s3c24xx-iis",
369 369 .codec_dai_name = "wm8753-hifi",
370 370 .codec_name = "wm8753.0-001a",
sound/soc/samsung/pcm.c
... ... @@ -589,8 +589,16 @@
589 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 598 return 0;
593 599  
  600 +err6:
  601 + snd_soc_unregister_dai(&pdev->dev);
594 602 err5:
595 603 clk_disable_unprepare(pcm->pclk);
596 604 clk_put(pcm->pclk);
... ... @@ -610,6 +618,7 @@
610 618 struct s3c_pcm_info *pcm = &s3c_pcm[pdev->id];
611 619 struct resource *mem_res;
612 620  
  621 + asoc_dma_platform_unregister(&pdev->dev);
613 622 snd_soc_unregister_dai(&pdev->dev);
614 623  
615 624 pm_runtime_disable(&pdev->dev);
sound/soc/samsung/rx1950_uda1380.c
... ... @@ -85,7 +85,7 @@
85 85 .cpu_dai_name = "s3c24xx-iis",
86 86 .codec_dai_name = "uda1380-hifi",
87 87 .init = rx1950_uda1380_init,
88   - .platform_name = "samsung-audio",
  88 + .platform_name = "s3c24xx-iis",
89 89 .codec_name = "uda1380-codec.0-001a",
90 90 .ops = &rx1950_ops,
91 91 },
sound/soc/samsung/s3c2412-i2s.c
... ... @@ -162,11 +162,29 @@
162 162  
163 163 static __devinit 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 185 static __devexit int s3c2412_iis_dev_remove(struct platform_device *pdev)
169 186 {
  187 + asoc_dma_platform_unregister(&pdev->dev);
170 188 snd_soc_unregister_dai(&pdev->dev);
171 189 return 0;
172 190 }
sound/soc/samsung/s3c24xx-i2s.c
... ... @@ -467,11 +467,29 @@
467 467  
468 468 static __devinit 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 490 static __devexit int s3c24xx_iis_dev_remove(struct platform_device *pdev)
474 491 {
  492 + asoc_dma_platform_unregister(&pdev->dev);
475 493 snd_soc_unregister_dai(&pdev->dev);
476 494 return 0;
477 495 }
sound/soc/samsung/s3c24xx_simtec_hermes.c
... ... @@ -82,7 +82,7 @@
82 82 .codec_name = "tlv320aic3x-codec.0-001a",
83 83 .cpu_dai_name = "s3c24xx-iis",
84 84 .codec_dai_name = "tlv320aic3x-hifi",
85   - .platform_name = "samsung-audio",
  85 + .platform_name = "s3c24xx-iis",
86 86 .init = simtec_hermes_init,
87 87 };
88 88  
sound/soc/samsung/s3c24xx_simtec_tlv320aic23.c
... ... @@ -71,7 +71,7 @@
71 71 .codec_name = "tlv320aic3x-codec.0-001a",
72 72 .cpu_dai_name = "s3c24xx-iis",
73 73 .codec_dai_name = "tlv320aic3x-hifi",
74   - .platform_name = "samsung-audio",
  74 + .platform_name = "s3c24xx-iis",
75 75 .init = simtec_tlv320aic23_init,
76 76 };
77 77  
sound/soc/samsung/s3c24xx_uda134x.c
... ... @@ -224,7 +224,7 @@
224 224 .codec_dai_name = "uda134x-hifi",
225 225 .cpu_dai_name = "s3c24xx-iis",
226 226 .ops = &s3c24xx_uda134x_ops,
227   - .platform_name = "samsung-audio",
  227 + .platform_name = "s3c24xx-iis",
228 228 };
229 229  
230 230 static struct snd_soc_card snd_soc_s3c24xx_uda134x = {
sound/soc/samsung/smartq_wm8987.c
... ... @@ -189,7 +189,7 @@
189 189 .stream_name = "SmartQ Hi-Fi",
190 190 .cpu_dai_name = "samsung-i2s.0",
191 191 .codec_dai_name = "wm8750-hifi",
192   - .platform_name = "samsung-audio",
  192 + .platform_name = "samsung-i2s.0",
193 193 .codec_name = "wm8750.0-0x1a",
194 194 .init = smartq_wm8987_init,
195 195 .ops = &smartq_hifi_ops,
sound/soc/samsung/smdk2443_wm9710.c
... ... @@ -24,7 +24,7 @@
24 24 .cpu_dai_name = "samsung-ac97",
25 25 .codec_dai_name = "ac97-hifi",
26 26 .codec_name = "ac97-codec",
27   - .platform_name = "samsung-audio",
  27 + .platform_name = "samsung-ac97",
28 28 },
29 29 };
30 30  
sound/soc/samsung/smdk_spdif.c
... ... @@ -151,7 +151,7 @@
151 151 static struct snd_soc_dai_link smdk_dai = {
152 152 .name = "S/PDIF",
153 153 .stream_name = "S/PDIF PCM Playback",
154   - .platform_name = "samsung-audio",
  154 + .platform_name = "samsung-spdif",
155 155 .cpu_dai_name = "samsung-spdif",
156 156 .codec_dai_name = "dit-hifi",
157 157 .codec_name = "spdif-dit",
sound/soc/samsung/smdk_wm8580.c
... ... @@ -176,7 +176,7 @@
176 176 .stream_name = "Playback",
177 177 .cpu_dai_name = "samsung-i2s.0",
178 178 .codec_dai_name = "wm8580-hifi-playback",
179   - .platform_name = "samsung-audio",
  179 + .platform_name = "samsung-i2s.0",
180 180 .codec_name = "wm8580.0-001b",
181 181 .ops = &smdk_ops,
182 182 },
... ... @@ -185,7 +185,7 @@
185 185 .stream_name = "Capture",
186 186 .cpu_dai_name = "samsung-i2s.0",
187 187 .codec_dai_name = "wm8580-hifi-capture",
188   - .platform_name = "samsung-audio",
  188 + .platform_name = "samsung-i2s.0",
189 189 .codec_name = "wm8580.0-001b",
190 190 .init = smdk_wm8580_init_paiftx,
191 191 .ops = &smdk_ops,
... ... @@ -195,7 +195,7 @@
195 195 .stream_name = "Playback",
196 196 .cpu_dai_name = "samsung-i2s.x",
197 197 .codec_dai_name = "wm8580-hifi-playback",
198   - .platform_name = "samsung-audio",
  198 + .platform_name = "samsung-i2s.x",
199 199 .codec_name = "wm8580.0-001b",
200 200 .ops = &smdk_ops,
201 201 },
sound/soc/samsung/smdk_wm8580pcm.c
... ... @@ -135,7 +135,7 @@
135 135 .stream_name = "Capture",
136 136 .cpu_dai_name = "samsung-pcm.0",
137 137 .codec_dai_name = "wm8580-hifi-capture",
138   - .platform_name = "samsung-audio",
  138 + .platform_name = "samsung-pcm.0",
139 139 .codec_name = "wm8580.0-001b",
140 140 .ops = &smdk_wm8580_pcm_ops,
141 141 },
sound/soc/samsung/smdk_wm8994.c
... ... @@ -127,7 +127,7 @@
127 127 .stream_name = "Pri_Dai",
128 128 .cpu_dai_name = "samsung-i2s.0",
129 129 .codec_dai_name = "wm8994-aif1",
130   - .platform_name = "samsung-audio",
  130 + .platform_name = "samsung-i2s.0",
131 131 .codec_name = "wm8994-codec",
132 132 .init = smdk_wm8994_init_paiftx,
133 133 .ops = &smdk_ops,
... ... @@ -136,7 +136,7 @@
136 136 .stream_name = "Sec_Dai",
137 137 .cpu_dai_name = "samsung-i2s.4",
138 138 .codec_dai_name = "wm8994-aif1",
139   - .platform_name = "samsung-audio",
  139 + .platform_name = "samsung-i2s.4",
140 140 .codec_name = "wm8994-codec",
141 141 .ops = &smdk_ops,
142 142 },
sound/soc/samsung/smdk_wm8994pcm.c
... ... @@ -116,7 +116,7 @@
116 116 .stream_name = "Primary PCM",
117 117 .cpu_dai_name = "samsung-pcm.0",
118 118 .codec_dai_name = "wm8994-aif1",
119   - .platform_name = "samsung-audio",
  119 + .platform_name = "samsung-pcm.0",
120 120 .codec_name = "wm8994-codec",
121 121 .ops = &smdk_wm8994_pcm_ops,
122 122 },
sound/soc/samsung/smdk_wm9713.c
... ... @@ -42,7 +42,7 @@
42 42 static struct snd_soc_dai_link smdk_dai = {
43 43 .name = "AC97",
44 44 .stream_name = "AC97 PCM",
45   - .platform_name = "samsung-audio",
  45 + .platform_name = "samsung-ac97",
46 46 .cpu_dai_name = "samsung-ac97",
47 47 .codec_dai_name = "wm9713-hifi",
48 48 .codec_name = "wm9713-codec",
sound/soc/samsung/spdif.c
... ... @@ -437,8 +437,15 @@
437 437  
438 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 449 err4:
443 450 iounmap(spdif->regs);
444 451 err3:
... ... @@ -458,6 +465,7 @@
458 465 struct samsung_spdif_info *spdif = &spdif_info;
459 466 struct resource *mem_res;
460 467  
  468 + asoc_dma_platform_unregister(&pdev->dev);
461 469 snd_soc_unregister_dai(&pdev->dev);
462 470  
463 471 iounmap(spdif->regs);
sound/soc/samsung/speyside.c
... ... @@ -198,7 +198,7 @@
198 198 .stream_name = "CPU-DSP",
199 199 .cpu_dai_name = "samsung-i2s.0",
200 200 .codec_dai_name = "wm0010-sdi1",
201   - .platform_name = "samsung-audio",
  201 + .platform_name = "samsung-i2s.0",
202 202 .codec_name = "spi0.0",
203 203 .init = speyside_wm0010_init,
204 204 .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF
sound/soc/samsung/tobermory.c
... ... @@ -110,7 +110,7 @@
110 110 .stream_name = "CPU",
111 111 .cpu_dai_name = "samsung-i2s.0",
112 112 .codec_dai_name = "wm8962",
113   - .platform_name = "samsung-audio",
  113 + .platform_name = "samsung-i2s.0",
114 114 .codec_name = "wm8962.1-001a",
115 115 .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF
116 116 | SND_SOC_DAIFMT_CBM_CFM,