ASoC: omap-pcm: Support for binding the platform driver to dai devices
authorPeter Ujfalusi <peter.ujfalusi@ti.com>
Wed, 16 Apr 2014 12:46:12 +0000 (15:46 +0300)
committerMark Brown <broonie@linaro.org>
Fri, 18 Apr 2014 17:00:35 +0000 (18:00 +0100)
With the new calls it is going to be possible to bind the platform driver
to a dai device which makes it easier for us in a long run to handle DT
boots, and opens the possibility to move machine driver to generic simple
card.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
sound/soc/omap/omap-pcm.c
sound/soc/omap/omap-pcm.h [new file with mode: 0644]

index 07b8b7bc9d20f4e3cceebcb3dbb16492f51ddc46..c3711b582d5f74597b31417750995ca5626d71e2 100644 (file)
@@ -232,6 +232,12 @@ static struct snd_soc_platform_driver omap_soc_platform = {
        .pcm_free       = omap_pcm_free_dma_buffers,
 };
 
+int omap_pcm_platform_register(struct device *dev)
+{
+       return devm_snd_soc_register_platform(dev, &omap_soc_platform);
+}
+EXPORT_SYMBOL_GPL(omap_pcm_platform_register);
+
 static int omap_pcm_probe(struct platform_device *pdev)
 {
        return snd_soc_register_platform(&pdev->dev,
diff --git a/sound/soc/omap/omap-pcm.h b/sound/soc/omap/omap-pcm.h
new file mode 100644 (file)
index 0000000..c1d2f31
--- /dev/null
@@ -0,0 +1,30 @@
+/*
+ * omap-pcm.h - OMAP PCM driver
+ *
+ * Copyright (C) 2014 Texas Instruments, Inc.
+ *
+ * Author: Peter Ujfalusi <peter.ujfalusi@ti.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ */
+
+#ifndef __OMAP_PCM_H__
+#define __OMAP_PCM_H__
+
+#if IS_ENABLED(CONFIG_SND_OMAP_SOC)
+int omap_pcm_platform_register(struct device *dev);
+#else
+static inline int omap_pcm_platform_register(struct device *dev)
+{
+       return 0;
+}
+#endif /* CONFIG_SND_OMAP_SOC */
+
+#endif /* __OMAP_PCM_H__ */