|
@@ -23,6 +23,8 @@
|
|
|
|
|
|
#include <linux/platform_data/dma-ep93xx.h>
|
|
#include <linux/platform_data/dma-ep93xx.h>
|
|
|
|
|
|
|
|
+#include "ep93xx-pcm.h"
|
|
|
|
+
|
|
static const struct snd_pcm_hardware ep93xx_pcm_hardware = {
|
|
static const struct snd_pcm_hardware ep93xx_pcm_hardware = {
|
|
.info = (SNDRV_PCM_INFO_MMAP |
|
|
.info = (SNDRV_PCM_INFO_MMAP |
|
|
SNDRV_PCM_INFO_MMAP_VALID |
|
|
SNDRV_PCM_INFO_MMAP_VALID |
|
|
@@ -76,27 +78,16 @@ static const struct snd_dmaengine_pcm_config ep93xx_dmaengine_pcm_config = {
|
|
.prealloc_buffer_size = 131072,
|
|
.prealloc_buffer_size = 131072,
|
|
};
|
|
};
|
|
|
|
|
|
-static int ep93xx_soc_platform_probe(struct platform_device *pdev)
|
|
|
|
|
|
+int devm_ep93xx_pcm_platform_register(struct device *dev)
|
|
{
|
|
{
|
|
- return devm_snd_dmaengine_pcm_register(&pdev->dev,
|
|
|
|
|
|
+ return devm_snd_dmaengine_pcm_register(dev,
|
|
&ep93xx_dmaengine_pcm_config,
|
|
&ep93xx_dmaengine_pcm_config,
|
|
SND_DMAENGINE_PCM_FLAG_NO_RESIDUE |
|
|
SND_DMAENGINE_PCM_FLAG_NO_RESIDUE |
|
|
SND_DMAENGINE_PCM_FLAG_NO_DT |
|
|
SND_DMAENGINE_PCM_FLAG_NO_DT |
|
|
SND_DMAENGINE_PCM_FLAG_COMPAT);
|
|
SND_DMAENGINE_PCM_FLAG_COMPAT);
|
|
}
|
|
}
|
|
-
|
|
|
|
-static struct platform_driver ep93xx_pcm_driver = {
|
|
|
|
- .driver = {
|
|
|
|
- .name = "ep93xx-pcm-audio",
|
|
|
|
- .owner = THIS_MODULE,
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
- .probe = ep93xx_soc_platform_probe,
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
-module_platform_driver(ep93xx_pcm_driver);
|
|
|
|
|
|
+EXPORT_SYMBOL_GPL(devm_ep93xx_pcm_platform_register);
|
|
|
|
|
|
MODULE_AUTHOR("Ryan Mallon");
|
|
MODULE_AUTHOR("Ryan Mallon");
|
|
MODULE_DESCRIPTION("EP93xx ALSA PCM interface");
|
|
MODULE_DESCRIPTION("EP93xx ALSA PCM interface");
|
|
MODULE_LICENSE("GPL");
|
|
MODULE_LICENSE("GPL");
|
|
-MODULE_ALIAS("platform:ep93xx-pcm-audio");
|
|
|