Message ID | 1397640211-15447-2-git-send-email-peter.ujfalusi@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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__ */ >
On 04/16/2014 12:30 PM, Peter Ujfalusi wrote: >> +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. There's no devm variant for snd_soc_register_platform() Mark: would it make sens to add it? I can add a patch to v2 of this series for it.
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); +} +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__ */
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