diff options
author | Padmavathi Venna <padma.v@samsung.com> | 2012-12-07 03:29:21 -0500 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-12-07 05:36:07 -0500 |
commit | a08485d8fdf6f67ca5f173b68d8f873c574745f2 (patch) | |
tree | fac9dbea634fef912a5e74434110ad769b8c963f | |
parent | 1974a042dd15f1f007a3a1a2dd7a23ca0e42c01d (diff) |
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>
45 files changed, 105 insertions, 72 deletions
diff --git a/arch/arm/mach-exynos/mach-armlex4210.c b/arch/arm/mach-exynos/mach-armlex4210.c index 3f37a5e8a1f4..b938f9fc1dd1 100644 --- a/arch/arm/mach-exynos/mach-armlex4210.c +++ b/arch/arm/mach-exynos/mach-armlex4210.c | |||
@@ -147,7 +147,6 @@ static struct platform_device *armlex4210_devices[] __initdata = { | |||
147 | &s3c_device_hsmmc3, | 147 | &s3c_device_hsmmc3, |
148 | &s3c_device_rtc, | 148 | &s3c_device_rtc, |
149 | &s3c_device_wdt, | 149 | &s3c_device_wdt, |
150 | &samsung_asoc_dma, | ||
151 | &armlex4210_smsc911x, | 150 | &armlex4210_smsc911x, |
152 | &exynos4_device_ahci, | 151 | &exynos4_device_ahci, |
153 | }; | 152 | }; |
diff --git a/arch/arm/mach-exynos/mach-smdkv310.c b/arch/arm/mach-exynos/mach-smdkv310.c index ee4fb1a9cb72..5de9ee28a508 100644 --- a/arch/arm/mach-exynos/mach-smdkv310.c +++ b/arch/arm/mach-exynos/mach-smdkv310.c | |||
@@ -311,7 +311,6 @@ static struct platform_device *smdkv310_devices[] __initdata = { | |||
311 | &s5p_device_mfc_l, | 311 | &s5p_device_mfc_l, |
312 | &s5p_device_mfc_r, | 312 | &s5p_device_mfc_r, |
313 | &exynos4_device_spdif, | 313 | &exynos4_device_spdif, |
314 | &samsung_asoc_dma, | ||
315 | &samsung_asoc_idma, | 314 | &samsung_asoc_idma, |
316 | &s5p_device_fimd0, | 315 | &s5p_device_fimd0, |
317 | &smdkv310_device_audio, | 316 | &smdkv310_device_audio, |
diff --git a/arch/arm/mach-s3c24xx/mach-gta02.c b/arch/arm/mach-s3c24xx/mach-gta02.c index 4a963467b7ee..973b87ca87f4 100644 --- a/arch/arm/mach-s3c24xx/mach-gta02.c +++ b/arch/arm/mach-s3c24xx/mach-gta02.c | |||
@@ -521,7 +521,6 @@ static struct platform_device *gta02_devices[] __initdata = { | |||
521 | >a02_nor_flash, | 521 | >a02_nor_flash, |
522 | &s3c24xx_pwm_device, | 522 | &s3c24xx_pwm_device, |
523 | &s3c_device_iis, | 523 | &s3c_device_iis, |
524 | &samsung_asoc_dma, | ||
525 | &s3c_device_i2c0, | 524 | &s3c_device_i2c0, |
526 | >a02_dfbmcs320_device, | 525 | >a02_dfbmcs320_device, |
527 | >a02_buttons_device, | 526 | >a02_buttons_device, |
diff --git a/arch/arm/mach-s3c24xx/mach-h1940.c b/arch/arm/mach-s3c24xx/mach-h1940.c index 63aaf076f611..b23dd1b106e8 100644 --- a/arch/arm/mach-s3c24xx/mach-h1940.c +++ b/arch/arm/mach-s3c24xx/mach-h1940.c | |||
@@ -632,7 +632,6 @@ static struct platform_device *h1940_devices[] __initdata = { | |||
632 | &s3c_device_wdt, | 632 | &s3c_device_wdt, |
633 | &s3c_device_i2c0, | 633 | &s3c_device_i2c0, |
634 | &s3c_device_iis, | 634 | &s3c_device_iis, |
635 | &samsung_asoc_dma, | ||
636 | &s3c_device_usbgadget, | 635 | &s3c_device_usbgadget, |
637 | &h1940_device_leds, | 636 | &h1940_device_leds, |
638 | &h1940_device_bluetooth, | 637 | &h1940_device_bluetooth, |
diff --git a/arch/arm/mach-s3c24xx/mach-mini2440.c b/arch/arm/mach-s3c24xx/mach-mini2440.c index 393c0f1ac11a..a31d5b83e5f7 100644 --- a/arch/arm/mach-s3c24xx/mach-mini2440.c +++ b/arch/arm/mach-s3c24xx/mach-mini2440.c | |||
@@ -519,7 +519,6 @@ static struct platform_device *mini2440_devices[] __initdata = { | |||
519 | &s3c_device_iis, | 519 | &s3c_device_iis, |
520 | &uda1340_codec, | 520 | &uda1340_codec, |
521 | &mini2440_audio, | 521 | &mini2440_audio, |
522 | &samsung_asoc_dma, | ||
523 | }; | 522 | }; |
524 | 523 | ||
525 | static void __init mini2440_map_io(void) | 524 | static void __init mini2440_map_io(void) |
diff --git a/arch/arm/mach-s3c24xx/mach-rx1950.c b/arch/arm/mach-s3c24xx/mach-rx1950.c index 379fde521d37..0606f2faaa5c 100644 --- a/arch/arm/mach-s3c24xx/mach-rx1950.c +++ b/arch/arm/mach-s3c24xx/mach-rx1950.c | |||
@@ -712,7 +712,6 @@ static struct platform_device *rx1950_devices[] __initdata = { | |||
712 | &s3c_device_wdt, | 712 | &s3c_device_wdt, |
713 | &s3c_device_i2c0, | 713 | &s3c_device_i2c0, |
714 | &s3c_device_iis, | 714 | &s3c_device_iis, |
715 | &samsung_asoc_dma, | ||
716 | &s3c_device_usbgadget, | 715 | &s3c_device_usbgadget, |
717 | &s3c_device_rtc, | 716 | &s3c_device_rtc, |
718 | &s3c_device_nand, | 717 | &s3c_device_nand, |
diff --git a/arch/arm/mach-s3c64xx/mach-crag6410.c b/arch/arm/mach-s3c64xx/mach-crag6410.c index 13b7eaa45fd0..ef2117d7391b 100644 --- a/arch/arm/mach-s3c64xx/mach-crag6410.c +++ b/arch/arm/mach-s3c64xx/mach-crag6410.c | |||
@@ -357,7 +357,6 @@ static struct platform_device *crag6410_devices[] __initdata = { | |||
357 | &s3c_device_timer[0], | 357 | &s3c_device_timer[0], |
358 | &s3c64xx_device_iis0, | 358 | &s3c64xx_device_iis0, |
359 | &s3c64xx_device_iis1, | 359 | &s3c64xx_device_iis1, |
360 | &samsung_asoc_dma, | ||
361 | &samsung_device_keypad, | 360 | &samsung_device_keypad, |
362 | &crag6410_gpio_keydev, | 361 | &crag6410_gpio_keydev, |
363 | &crag6410_dm9k_device, | 362 | &crag6410_dm9k_device, |
diff --git a/arch/arm/mach-s3c64xx/mach-smdk6410.c b/arch/arm/mach-s3c64xx/mach-smdk6410.c index da1a771a29e9..574a9eef588d 100644 --- a/arch/arm/mach-s3c64xx/mach-smdk6410.c +++ b/arch/arm/mach-s3c64xx/mach-smdk6410.c | |||
@@ -275,7 +275,6 @@ static struct platform_device *smdk6410_devices[] __initdata = { | |||
275 | &s3c_device_fb, | 275 | &s3c_device_fb, |
276 | &s3c_device_ohci, | 276 | &s3c_device_ohci, |
277 | &s3c_device_usb_hsotg, | 277 | &s3c_device_usb_hsotg, |
278 | &samsung_asoc_dma, | ||
279 | &s3c64xx_device_iisv4, | 278 | &s3c64xx_device_iisv4, |
280 | &samsung_device_keypad, | 279 | &samsung_device_keypad, |
281 | 280 | ||
diff --git a/arch/arm/mach-s5p64x0/mach-smdk6440.c b/arch/arm/mach-s5p64x0/mach-smdk6440.c index 96ea1fe0ec94..1af823558c60 100644 --- a/arch/arm/mach-s5p64x0/mach-smdk6440.c +++ b/arch/arm/mach-s5p64x0/mach-smdk6440.c | |||
@@ -165,7 +165,6 @@ static struct platform_device *smdk6440_devices[] __initdata = { | |||
165 | &s3c_device_i2c1, | 165 | &s3c_device_i2c1, |
166 | &s3c_device_ts, | 166 | &s3c_device_ts, |
167 | &s3c_device_wdt, | 167 | &s3c_device_wdt, |
168 | &samsung_asoc_dma, | ||
169 | &s5p6440_device_iis, | 168 | &s5p6440_device_iis, |
170 | &s3c_device_fb, | 169 | &s3c_device_fb, |
171 | &smdk6440_lcd_lte480wv, | 170 | &smdk6440_lcd_lte480wv, |
diff --git a/arch/arm/mach-s5p64x0/mach-smdk6450.c b/arch/arm/mach-s5p64x0/mach-smdk6450.c index 12748b6eaa7b..62526ccf6b70 100644 --- a/arch/arm/mach-s5p64x0/mach-smdk6450.c +++ b/arch/arm/mach-s5p64x0/mach-smdk6450.c | |||
@@ -183,7 +183,6 @@ static struct platform_device *smdk6450_devices[] __initdata = { | |||
183 | &s3c_device_i2c1, | 183 | &s3c_device_i2c1, |
184 | &s3c_device_ts, | 184 | &s3c_device_ts, |
185 | &s3c_device_wdt, | 185 | &s3c_device_wdt, |
186 | &samsung_asoc_dma, | ||
187 | &s5p6450_device_iis0, | 186 | &s5p6450_device_iis0, |
188 | &s3c_device_fb, | 187 | &s3c_device_fb, |
189 | &smdk6450_lcd_lte480wv, | 188 | &smdk6450_lcd_lte480wv, |
diff --git a/arch/arm/mach-s5pc100/mach-smdkc100.c b/arch/arm/mach-s5pc100/mach-smdkc100.c index dba7384a87bd..9abe95e806ab 100644 --- a/arch/arm/mach-s5pc100/mach-smdkc100.c +++ b/arch/arm/mach-s5pc100/mach-smdkc100.c | |||
@@ -197,7 +197,6 @@ static struct platform_device *smdkc100_devices[] __initdata = { | |||
197 | &s3c_device_ts, | 197 | &s3c_device_ts, |
198 | &s3c_device_wdt, | 198 | &s3c_device_wdt, |
199 | &smdkc100_lcd_powerdev, | 199 | &smdkc100_lcd_powerdev, |
200 | &samsung_asoc_dma, | ||
201 | &s5pc100_device_iis0, | 200 | &s5pc100_device_iis0, |
202 | &samsung_device_keypad, | 201 | &samsung_device_keypad, |
203 | &s5pc100_device_ac97, | 202 | &s5pc100_device_ac97, |
diff --git a/arch/arm/mach-s5pv210/mach-smdkc110.c b/arch/arm/mach-s5pv210/mach-smdkc110.c index d9c99fcc1aa7..f1f3bd37ecda 100644 --- a/arch/arm/mach-s5pv210/mach-smdkc110.c +++ b/arch/arm/mach-s5pv210/mach-smdkc110.c | |||
@@ -85,7 +85,6 @@ static struct s3c_ide_platdata smdkc110_ide_pdata __initdata = { | |||
85 | }; | 85 | }; |
86 | 86 | ||
87 | static struct platform_device *smdkc110_devices[] __initdata = { | 87 | static struct platform_device *smdkc110_devices[] __initdata = { |
88 | &samsung_asoc_dma, | ||
89 | &s5pv210_device_iis0, | 88 | &s5pv210_device_iis0, |
90 | &s5pv210_device_ac97, | 89 | &s5pv210_device_ac97, |
91 | &s5pv210_device_spdif, | 90 | &s5pv210_device_spdif, |
diff --git a/arch/arm/mach-s5pv210/mach-smdkv210.c b/arch/arm/mach-s5pv210/mach-smdkv210.c index 4cdb5bb7bbcf..6bc8404bf678 100644 --- a/arch/arm/mach-s5pv210/mach-smdkv210.c +++ b/arch/arm/mach-s5pv210/mach-smdkv210.c | |||
@@ -234,7 +234,6 @@ static struct platform_device *smdkv210_devices[] __initdata = { | |||
234 | &s5pv210_device_ac97, | 234 | &s5pv210_device_ac97, |
235 | &s5pv210_device_iis0, | 235 | &s5pv210_device_iis0, |
236 | &s5pv210_device_spdif, | 236 | &s5pv210_device_spdif, |
237 | &samsung_asoc_dma, | ||
238 | &samsung_asoc_idma, | 237 | &samsung_asoc_idma, |
239 | &samsung_device_keypad, | 238 | &samsung_device_keypad, |
240 | &smdkv210_dm9000, | 239 | &smdkv210_dm9000, |
diff --git a/arch/arm/plat-samsung/devs.c b/arch/arm/plat-samsung/devs.c index 03f654d55eff..7d27a241f984 100644 --- a/arch/arm/plat-samsung/devs.c +++ b/arch/arm/plat-samsung/devs.c | |||
@@ -146,15 +146,6 @@ struct platform_device s3c_device_camif = { | |||
146 | 146 | ||
147 | /* ASOC DMA */ | 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 | struct platform_device samsung_asoc_idma = { | 149 | struct platform_device samsung_asoc_idma = { |
159 | .name = "samsung-idma", | 150 | .name = "samsung-idma", |
160 | .id = -1, | 151 | .id = -1, |
diff --git a/arch/arm/plat-samsung/include/plat/devs.h b/arch/arm/plat-samsung/include/plat/devs.h index 5da4b4f38f40..c45f70cbbfb7 100644 --- a/arch/arm/plat-samsung/include/plat/devs.h +++ b/arch/arm/plat-samsung/include/plat/devs.h | |||
@@ -135,7 +135,6 @@ extern struct platform_device exynos4_device_spdif; | |||
135 | 135 | ||
136 | extern struct platform_device exynos_device_drm; | 136 | extern struct platform_device exynos_device_drm; |
137 | 137 | ||
138 | extern struct platform_device samsung_asoc_dma; | ||
139 | extern struct platform_device samsung_asoc_idma; | 138 | extern struct platform_device samsung_asoc_idma; |
140 | extern struct platform_device samsung_device_keypad; | 139 | extern struct platform_device samsung_device_keypad; |
141 | 140 | ||
diff --git a/sound/soc/samsung/ac97.c b/sound/soc/samsung/ac97.c index 386bab1f99ab..cd6c7073c50d 100644 --- a/sound/soc/samsung/ac97.c +++ b/sound/soc/samsung/ac97.c | |||
@@ -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: |
@@ -482,6 +489,7 @@ static __devexit 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); |
diff --git a/sound/soc/samsung/bells.c b/sound/soc/samsung/bells.c index 59ffd6c7ee30..01c1c5a2d321 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, |
diff --git a/sound/soc/samsung/dma.c b/sound/soc/samsung/dma.c index b70964ea448c..64529904a95f 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 __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 | 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..0aa0451823ce 100644 --- a/sound/soc/samsung/i2s.c +++ b/sound/soc/samsung/i2s.c | |||
@@ -1009,6 +1009,7 @@ static __devinit int samsung_i2s_probe(struct platform_device *pdev) | |||
1009 | sec_dai = dev_get_drvdata(&pdev->dev); | 1009 | sec_dai = dev_get_drvdata(&pdev->dev); |
1010 | snd_soc_register_dai(&sec_dai->pdev->dev, | 1010 | snd_soc_register_dai(&sec_dai->pdev->dev, |
1011 | &sec_dai->i2s_dai_drv); | 1011 | &sec_dai->i2s_dai_drv); |
1012 | asoc_dma_platform_register(&pdev->dev); | ||
1012 | return 0; | 1013 | return 0; |
1013 | } | 1014 | } |
1014 | 1015 | ||
@@ -1107,6 +1108,8 @@ static __devinit int samsung_i2s_probe(struct platform_device *pdev) | |||
1107 | 1108 | ||
1108 | pm_runtime_enable(&pdev->dev); | 1109 | pm_runtime_enable(&pdev->dev); |
1109 | 1110 | ||
1111 | asoc_dma_platform_register(&pdev->dev); | ||
1112 | |||
1110 | return 0; | 1113 | return 0; |
1111 | err: | 1114 | err: |
1112 | release_mem_region(regs_base, resource_size(res)); | 1115 | release_mem_region(regs_base, resource_size(res)); |
@@ -1135,6 +1138,7 @@ static __devexit int samsung_i2s_remove(struct platform_device *pdev) | |||
1135 | i2s->pri_dai = NULL; | 1138 | i2s->pri_dai = NULL; |
1136 | i2s->sec_dai = NULL; | 1139 | i2s->sec_dai = NULL; |
1137 | 1140 | ||
1141 | asoc_dma_platform_unregister(&pdev->dev); | ||
1138 | snd_soc_unregister_dai(&pdev->dev); | 1142 | snd_soc_unregister_dai(&pdev->dev); |
1139 | 1143 | ||
1140 | return 0; | 1144 | return 0; |
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..0908bb05a5e7 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, |
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..a71c31af4e0e 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, |
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..ecd509048771 100644 --- a/sound/soc/samsung/pcm.c +++ b/sound/soc/samsung/pcm.c | |||
@@ -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); |
@@ -610,6 +618,7 @@ static __devexit int s3c_pcm_dev_remove(struct platform_device *pdev) | |||
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); |
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..edf5f527c5a2 100644 --- a/sound/soc/samsung/s3c2412-i2s.c +++ b/sound/soc/samsung/s3c2412-i2s.c | |||
@@ -162,11 +162,29 @@ static struct snd_soc_dai_driver s3c2412_i2s_dai = { | |||
162 | 162 | ||
163 | static __devinit int s3c2412_iis_dev_probe(struct platform_device *pdev) | 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 | static __devexit int s3c2412_iis_dev_remove(struct platform_device *pdev) | 185 | static __devexit 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 | } |
diff --git a/sound/soc/samsung/s3c24xx-i2s.c b/sound/soc/samsung/s3c24xx-i2s.c index 0aae3a3883dc..0022d51fd160 100644 --- a/sound/soc/samsung/s3c24xx-i2s.c +++ b/sound/soc/samsung/s3c24xx-i2s.c | |||
@@ -467,11 +467,29 @@ static struct snd_soc_dai_driver s3c24xx_i2s_dai = { | |||
467 | 467 | ||
468 | static __devinit int s3c24xx_iis_dev_probe(struct platform_device *pdev) | 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 | static __devexit int s3c24xx_iis_dev_remove(struct platform_device *pdev) | 490 | static __devexit 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 | } |
diff --git a/sound/soc/samsung/s3c24xx_simtec_hermes.c b/sound/soc/samsung/s3c24xx_simtec_hermes.c index 7ace6a87f41b..befabe8979f7 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 | ||
diff --git a/sound/soc/samsung/s3c24xx_simtec_tlv320aic23.c b/sound/soc/samsung/s3c24xx_simtec_tlv320aic23.c index c42d5f00b0e1..5552f82c92a7 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 | ||
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..34239fe9afde 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 | }, |
diff --git a/sound/soc/samsung/smdk_wm8994.c b/sound/soc/samsung/smdk_wm8994.c index 48dd4dd9ee08..dd0aa8cb1a9e 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 | }, |
diff --git a/sound/soc/samsung/smdk_wm8994pcm.c b/sound/soc/samsung/smdk_wm8994pcm.c index 77ecba935119..15f6b44e9de3 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 | }, |
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..8606fc6cb37d 100644 --- a/sound/soc/samsung/spdif.c +++ b/sound/soc/samsung/spdif.c | |||
@@ -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: |
@@ -458,6 +465,7 @@ static __devexit int spdif_remove(struct platform_device *pdev) | |||
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); |
diff --git a/sound/soc/samsung/speyside.c b/sound/soc/samsung/speyside.c index c7e1c28528a4..d7906a144195 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 |
diff --git a/sound/soc/samsung/tobermory.c b/sound/soc/samsung/tobermory.c index 9199649bf786..42e4c8e6b03e 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, |