On 04/16/2014 12:23 PM, Peter Ujfalusi wrote:
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
sound/soc/omap/omap-pcm.c | 12 ++++++++++++ sound/soc/omap/omap-pcm.h | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 sound/soc/omap/omap-pcm.h
diff --git a/sound/soc/omap/omap-pcm.c b/sound/soc/omap/omap-pcm.c index 07b8b7bc9d20..5c4bc9ae974b 100644 --- a/sound/soc/omap/omap-pcm.c +++ b/sound/soc/omap/omap-pcm.c @@ -232,6 +232,18 @@ 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 snd_soc_register_platform(dev, &omap_soc_platform);
Aargh, I meant to use the devm_snd_soc_register_platform() so the unregister is not going to be needed and the subsequent patches are expecting that this is devm_* Will resend soon.
+} +EXPORT_SYMBOL_GPL(omap_pcm_platform_register);
+void omap_pcm_platform_unregister(struct device *dev) +{
- snd_soc_unregister_platform(dev);
+} +EXPORT_SYMBOL_GPL(omap_pcm_platform_unregister);
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 index 000000000000..148509eb4b63 --- /dev/null +++ b/sound/soc/omap/omap-pcm.h @@ -0,0 +1,35 @@ +/*
- 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); +void omap_pcm_platform_unregister(struct device *dev); +#else +static inline int omap_pcm_platform_register(struct device *dev) +{
- return 0;
+}
+static inline void omap_pcm_platform_unregister(struct device *dev) +{ +} +#endif /* CONFIG_SND_OMAP_SOC */
+#endif /* __OMAP_PCM_H__ */