|
@@ -104,6 +104,38 @@ void imx_pcm_free(struct snd_pcm *pcm)
|
|
|
}
|
|
|
EXPORT_SYMBOL_GPL(imx_pcm_free);
|
|
|
|
|
|
+static int imx_pcm_probe(struct platform_device *pdev)
|
|
|
+{
|
|
|
+ if (strcmp(pdev->id_entry->name, "imx-fiq-pcm-audio") == 0)
|
|
|
+ return imx_pcm_fiq_init(pdev);
|
|
|
+
|
|
|
+ return imx_pcm_dma_init(pdev);
|
|
|
+}
|
|
|
+
|
|
|
+static int imx_pcm_remove(struct platform_device *pdev)
|
|
|
+{
|
|
|
+ snd_soc_unregister_platform(&pdev->dev);
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+
|
|
|
+static struct platform_device_id imx_pcm_devtype[] = {
|
|
|
+ { .name = "imx-pcm-audio", },
|
|
|
+ { .name = "imx-fiq-pcm-audio", },
|
|
|
+ { /* sentinel */ }
|
|
|
+};
|
|
|
+MODULE_DEVICE_TABLE(platform, imx_pcm_devtype);
|
|
|
+
|
|
|
+static struct platform_driver imx_pcm_driver = {
|
|
|
+ .driver = {
|
|
|
+ .name = "imx-pcm",
|
|
|
+ .owner = THIS_MODULE,
|
|
|
+ },
|
|
|
+ .id_table = imx_pcm_devtype,
|
|
|
+ .probe = imx_pcm_probe,
|
|
|
+ .remove = imx_pcm_remove,
|
|
|
+};
|
|
|
+module_platform_driver(imx_pcm_driver);
|
|
|
+
|
|
|
MODULE_DESCRIPTION("Freescale i.MX PCM driver");
|
|
|
MODULE_AUTHOR("Sascha Hauer <s.hauer@pengutronix.de>");
|
|
|
MODULE_LICENSE("GPL");
|