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 3f37a5e8a1f..b938f9fc1dd 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 ee4fb1a9cb7..5de9ee28a50 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 4a963467b7e..973b87ca87f 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 63aaf076f61..b23dd1b106e 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 393c0f1ac11..a31d5b83e5f 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 379fde521d3..0606f2faaa5 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 13b7eaa45fd..ef2117d7391 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 da1a771a29e..574a9eef588 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 96ea1fe0ec9..1af823558c6 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 12748b6eaa7..62526ccf6b7 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 dba7384a87b..9abe95e806a 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 d9c99fcc1aa..f1f3bd37ecd 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 4cdb5bb7bbc..6bc8404bf67 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 03f654d55ef..7d27a241f98 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 5da4b4f38f4..c45f70cbbfb 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 386bab1f99a..cd6c7073c50 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 59ffd6c7ee3..01c1c5a2d32 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 b70964ea448..64529904a95 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 7d1ead77ef2..73d8c7c8a1e 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 c23c2ae91f5..d37ede58e0a 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 6e3257717c5..3870e9678b5 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 aaf57b7caeb..0aa0451823c 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 1578663a1fa..b5f6abd9d22 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 ee52c8a0077..0908bb05a5e 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 69c4a5934a4..9342fc270c2 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 6abf341c4a2..a71c31af4e0 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 321d51134e4..c7e965f80d2 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 45f4a752d2a..ecd50904877 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 21e12361a9c..a5826ea9cad 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 ac7701b3c5d..edf5f527c5a 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 0aae3a3883d..0022d51fd16 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 7ace6a87f41..befabe8979f 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 c42d5f00b0e..5552f82c92a 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 d731042e51b..333e1b7f06c 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 f2dcb424ea2..58ae3237ef6 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 720ba29bb7e..c390aad68cf 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 beaa9c15d69..a2f2363fe1c 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 ade2809cf39..7e2b710763b 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 fab5322e9f0..34239fe9afd 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 48dd4dd9ee0..dd0aa8cb1a9 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 77ecba93511..15f6b44e9de 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 55b2ca7f329..0d20e4ed27a 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 5f3b06d36e9..8606fc6cb37 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 c7e1c28528a..d7906a14419 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 9199649bf78..42e4c8e6b03 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, |
