diff options
Diffstat (limited to 'sound/soc/nuc900/nuc900-pcm.c')
| -rw-r--r-- | sound/soc/nuc900/nuc900-pcm.c | 38 |
1 files changed, 28 insertions, 10 deletions
diff --git a/sound/soc/nuc900/nuc900-pcm.c b/sound/soc/nuc900/nuc900-pcm.c index e81e803b3a63..195d1ac94771 100644 --- a/sound/soc/nuc900/nuc900-pcm.c +++ b/sound/soc/nuc900/nuc900-pcm.c | |||
| @@ -328,26 +328,44 @@ static int nuc900_dma_new(struct snd_card *card, | |||
| 328 | return 0; | 328 | return 0; |
| 329 | } | 329 | } |
| 330 | 330 | ||
| 331 | struct snd_soc_platform nuc900_soc_platform = { | 331 | static struct snd_soc_platform_driver nuc900_soc_platform = { |
| 332 | .name = "nuc900-dma", | 332 | .ops = &nuc900_dma_ops, |
| 333 | .pcm_ops = &nuc900_dma_ops, | ||
| 334 | .pcm_new = nuc900_dma_new, | 333 | .pcm_new = nuc900_dma_new, |
| 335 | .pcm_free = nuc900_dma_free_dma_buffers, | 334 | .pcm_free = nuc900_dma_free_dma_buffers, |
| 336 | } | 335 | } |
| 337 | EXPORT_SYMBOL_GPL(nuc900_soc_platform); | ||
| 338 | 336 | ||
| 339 | static int __init nuc900_soc_platform_init(void) | 337 | static int __devinit nuc900_soc_platform_probe(struct platform_device *pdev) |
| 340 | { | 338 | { |
| 341 | return snd_soc_register_platform(&nuc900_soc_platform); | 339 | return snd_soc_register_platform(&pdev->dev, &nuc900_soc_platform); |
| 342 | } | 340 | } |
| 343 | 341 | ||
| 344 | static void __exit nuc900_soc_platform_exit(void) | 342 | static int __devexit nuc900_soc_platform_remove(struct platform_device *pdev) |
| 345 | { | 343 | { |
| 346 | snd_soc_unregister_platform(&nuc900_soc_platform); | 344 | snd_soc_unregister_platform(&pdev->dev); |
| 345 | return 0; | ||
| 347 | } | 346 | } |
| 348 | 347 | ||
| 349 | module_init(nuc900_soc_platform_init); | 348 | static struct platform_driver nuc900_pcm_driver = { |
| 350 | module_exit(nuc900_soc_platform_exit); | 349 | .driver = { |
| 350 | .name = "nuc900-pcm-audio", | ||
| 351 | .owner = THIS_MODULE, | ||
| 352 | }, | ||
| 353 | |||
| 354 | .probe = nuc900_soc_platform_probe, | ||
| 355 | .remove = __devexit_p(nuc900_soc_platform_remove), | ||
| 356 | }; | ||
| 357 | |||
| 358 | static int __init nuc900_pcm_init(void) | ||
| 359 | { | ||
| 360 | return platform_driver_register(&nuc900_pcm_driver); | ||
| 361 | } | ||
| 362 | module_init(nuc900_pcm_init); | ||
| 363 | |||
| 364 | static void __exit nuc900_pcm_exit(void) | ||
| 365 | { | ||
| 366 | platform_driver_unregister(&nuc900_pcm_driver); | ||
| 367 | } | ||
| 368 | module_exit(nuc900_pcm_exit); | ||
| 351 | 369 | ||
| 352 | MODULE_AUTHOR("Wan ZongShun, <mcuos.com@gmail.com>"); | 370 | MODULE_AUTHOR("Wan ZongShun, <mcuos.com@gmail.com>"); |
| 353 | MODULE_DESCRIPTION("nuc900 Audio DMA module"); | 371 | MODULE_DESCRIPTION("nuc900 Audio DMA module"); |
