[alsa-devel] [PATCH 5/5] ASoC: pxa: add DT bindings for pxa2xx-pcm
Lars-Peter Clausen
lars at metafoo.de
Mon Aug 12 05:00:20 EDT 2013
On 08/12/2013 10:42 AM, Daniel Mack wrote:
> The bindings do not carry any resources, as the module only registers
> the ASoC platform driver.
>
> Signed-off-by: Daniel Mack <zonque at gmail.com>
As this is just a virtual device (and Linux specific) it shouldn't be in the
devicetree. Usually when using devicetree you'd register the PCM device from
the CPU DAI driver. Take a look at how other platforms (e.g. tegra) do this.
- Lars
> ---
> .../devicetree/bindings/sound/mrvl,pxa2xx-pcm.txt | 15 +++++++++++++++
> sound/soc/pxa/pxa2xx-pcm.c | 13 +++++++++++--
> 2 files changed, 26 insertions(+), 2 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/sound/mrvl,pxa2xx-pcm.txt
>
> diff --git a/Documentation/devicetree/bindings/sound/mrvl,pxa2xx-pcm.txt b/Documentation/devicetree/bindings/sound/mrvl,pxa2xx-pcm.txt
> new file mode 100644
> index 0000000..551fbb8
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/mrvl,pxa2xx-pcm.txt
> @@ -0,0 +1,15 @@
> +DT bindings for ARM PXA2xx PCM platform driver
> +
> +This is just a dummy driver that registers the PXA ASoC platform driver.
> +It does not have any resources assigned.
> +
> +Required properties:
> +
> + - compatible 'mrvl,pxa-pcm-audio'
> +
> +Example:
> +
> + pxa_pcm_audio: snd_soc_pxa_audio {
> + compatible = "mrvl,pxa-pcm-audio";
> + };
> +
> diff --git a/sound/soc/pxa/pxa2xx-pcm.c b/sound/soc/pxa/pxa2xx-pcm.c
> index 0aa2d69..806da27 100644
> --- a/sound/soc/pxa/pxa2xx-pcm.c
> +++ b/sound/soc/pxa/pxa2xx-pcm.c
> @@ -13,6 +13,7 @@
> #include <linux/dma-mapping.h>
> #include <linux/module.h>
> #include <linux/dmaengine.h>
> +#include <linux/of.h>
>
> #include <sound/core.h>
> #include <sound/soc.h>
> @@ -133,10 +134,18 @@ static int pxa2xx_soc_platform_remove(struct platform_device *pdev)
> return 0;
> }
>
> +#ifdef CONFIG_OF
> +static const struct of_device_id snd_soc_pxa_audio_match[] = {
> + { .compatible = "mrvl,pxa-pcm-audio" },
> + { }
> +};
> +#endif
> +
> static struct platform_driver pxa_pcm_driver = {
> .driver = {
> - .name = "pxa-pcm-audio",
> - .owner = THIS_MODULE,
> + .name = "pxa-pcm-audio",
> + .owner = THIS_MODULE,
> + .of_match_table = of_match_ptr(snd_soc_pxa_audio_match),
> },
>
> .probe = pxa2xx_soc_platform_probe,
>
More information about the linux-arm-kernel
mailing list