From: Lars-Peter Clausen <lars@metafoo.de>
To: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Cc: Linux-ALSA <alsa-devel@alsa-project.org>,
Stephen Warren <swarren@wwwdotorg.org>,
devicetree-discuss@lists.ozlabs.org,
Mark Brown <broonie@opensource.wolfsonmicro.com>,
Liam Girdwood <lgirdwood@gmail.com>, Simon <horms@verge.net.au>,
Kuninori Morimoto <kuninori.morimoto.gx@gmail.com>
Subject: Re: [PATCH 4/4 v6] ASoC: simple-card: add Device Tree support
Date: Tue, 19 Feb 2013 16:57:41 +0100 [thread overview]
Message-ID: <5123A0F5.2030001@metafoo.de> (raw)
In-Reply-To: <87wqubtfi3.wl%kuninori.morimoto.gx@renesas.com>
On 02/14/2013 10:24 AM, Kuninori Morimoto wrote:
> Support for loading the simple-card module via devicetree.
> It requests cpu/codec information,
> and .of_xlate_dai_name support on each driver for probing.
>
> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> ---
> v5 -> v6
>
> - cpu/codec become sub-node
> - it is using new .of_xlate_dai_name based
> snd_soc_of_get_port_dai_name()
> - update Documentation
>
> .../devicetree/bindings/sound/simple-card.txt | 75 +++++++++++++
> sound/soc/generic/simple-card.c | 118 +++++++++++++++++++-
> 2 files changed, 188 insertions(+), 5 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/sound/simple-card.txt
>
> diff --git a/Documentation/devicetree/bindings/sound/simple-card.txt b/Documentation/devicetree/bindings/sound/simple-card.txt
> new file mode 100644
> index 0000000..86e0d9f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/simple-card.txt
> @@ -0,0 +1,75 @@
> +Simple-Card:
> +
> +Required properties:
> +
> +- compatible : "simple-audio"
> +- simple-audio,card-name : simple-audio card name
> +- simple-audio,format : see below
> +- simple-audio,cpu : CPU sub-node, see below
> +- simple-audio,codec : CODEC sub-node, see below
> +
> +Optional properties:
> +
> +- simple-audio,system-clock-frequency : system clock rate if it is connected to both CPU/CODEC
> +- simple-audio,bitclock-inversion : bit clock inversion for both CPU/CODEC
> +- simple-audio,frame-inversion : frame inversion for both CPU/CODEC
> +
> +Required cpu/codec subnode properties:
> +
> +- simple-audio,dev : phandle and port for CPU/CODEC
> +- simple-audio,frame-master : frame master
> +- simple-audio,bitclock-master : bitclock master
> +#sound-dai-cells integer is required on simple-audio,dev phandle's node
Shouldn't the names of '#sound-dai-cells' and 'simple-audio,dev' kind of
match? E.g. '#sound-dai-cells' and 'sound-dai'. Maybe drop the sound, since
the a in dai kind of implies this.
[...]
> diff --git a/sound/soc/generic/simple-card.c b/sound/soc/generic/simple-card.c
> index 6cf8355..e50e415 100644
> --- a/sound/soc/generic/simple-card.c
> +++ b/sound/soc/generic/simple-card.c
> @@ -9,6 +9,7 @@
> * published by the Free Software Foundation.
> */
>
> +#include <linux/of.h>
> #include <linux/platform_device.h>
> #include <linux/module.h>
> #include <sound/simple_card.h>
> @@ -52,11 +53,108 @@ static int asoc_simple_card_dai_init(struct snd_soc_pcm_runtime *rtd)
> return 0;
> }
>
> +static struct device_node*
> +__asoc_simple_card_parse_of(struct device_node *np,
> + struct asoc_simple_dai *dai)
> +{
> + struct device_node *node;
> + char prop[128];
> +
> + /* get "simple-audio,dev = <&phandle port>" */
> + snprintf(prop, sizeof(prop), "simple-audio,dev");
Why do you need the extra buffer? Can you just pass, "simple-audio,dev"
directly to of_parse_phandle?
> + node = of_parse_phandle(np, prop, 0);
> + if (!node)
> + return NULL;
> +
> + of_node_put(node);
You shouldn't drop the reference until you are done processing it. Which in
this case is only after the device has been unregistered, since you pass the
node on to the ASoC core.
> +
> + /* get dai-name */
> + dai->name = snd_soc_of_get_port_dai_name(np, prop);
> +
> + /* get dai specific format */
> + dai->fmt = snd_soc_of_parse_daifmt(np, "simple-audio,");
> +
> + /* get "simple-audio,system-clock-frequency = <xxx>" */
> + snprintf(prop, sizeof(prop), "simple-audio,system-clock-frequency");
> + of_property_read_u32(np, prop, &dai->sysclk);
> +
> + return node;
> +}
next prev parent reply other threads:[~2013-02-19 15:57 UTC|newest]
Thread overview: 98+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <87zk11487a.wl%kuninori.morimoto.gx@renesas.com>
[not found] ` <87sj6t484z.wl%kuninori.morimoto.gx@renesas.com>
[not found] ` <50E71618.8090302@wwwdotorg.org>
[not found] ` <20130104193712.GN4627@opensource.wolfsonmicro.com>
2013-01-15 2:34 ` [RFC][PATCH 0/2 v2] ASoC: simple-card: add Device Tree support Kuninori Morimoto
2013-01-15 2:36 ` [RFC][PATCH 1/2] ASoC: add snd_soc_of_parse_daifmt() for DeviceTree Kuninori Morimoto
[not found] ` <87wqvfyxym.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-01-27 3:42 ` Mark Brown
2013-01-29 3:25 ` Kuninori Morimoto
2013-01-28 12:57 ` [alsa-devel] " Bard Shen
2013-01-15 2:40 ` [RFC][PATCH 2/2 v2] ASoC: simple-card: add Device Tree support Kuninori Morimoto
[not found] ` <87vcazyxr1.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-01-27 3:59 ` Mark Brown
2013-01-29 1:31 ` Kuninori Morimoto
[not found] ` <87vcag3hcj.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-01-29 1:48 ` Mark Brown
2013-01-29 2:17 ` Kuninori Morimoto
2013-01-29 10:00 ` Kuninori Morimoto
[not found] ` <87obg8z4u4.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-01-29 16:57 ` Stephen Warren
2013-01-30 9:09 ` [RFC][PATCH 2/2 v3] " Kuninori Morimoto
2013-01-30 20:14 ` Stephen Warren
2013-01-31 0:49 ` Kuninori Morimoto
[not found] ` <877gmuqir2.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-01-31 17:15 ` Stephen Warren
[not found] ` <510AA6CB.3050809-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-01-31 17:20 ` Mark Brown
2013-01-31 1:35 ` Mark Brown
[not found] ` <20130131013500.GA4759-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2013-01-31 17:09 ` Stephen Warren
[not found] ` <510AA551.30400-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-01-31 17:11 ` Mark Brown
[not found] ` <20130131171158.GA15376-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2013-01-31 17:17 ` Stephen Warren
[not found] ` <510AA720.9000904-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-01-31 17:21 ` Mark Brown
2013-02-01 1:54 ` Kuninori Morimoto
2013-02-04 22:23 ` Stephen Warren
2013-02-05 15:23 ` Mark Brown
2013-02-01 1:05 ` Kuninori Morimoto
2013-02-01 5:19 ` [RFC][PATCH 1/2] ASoC: codec_dai_name become option Kuninori Morimoto, Kuninori Morimoto
[not found] ` <87lib8d31v.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-02-04 22:26 ` Stephen Warren
[not found] ` <511035A1.6060402-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-02-05 0:30 ` Kuninori Morimoto
2013-02-01 5:20 ` [RFC][PATCH 2/2 v4] ASoC: simple-card: add Device Tree support Kuninori Morimoto, Kuninori Morimoto
[not found] ` <87halw7sij.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-02-04 22:22 ` [RFC][PATCH 2/2 v3] " Stephen Warren
2013-02-05 0:31 ` Kuninori Morimoto
[not found] ` <5110349D.3050308-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-02-05 10:09 ` [RFC][PATCH 0/3 v4] " Kuninori Morimoto
[not found] ` <87ehgvrs1h.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-02-05 10:11 ` [PATCH 1/3] ASoC: use list_add_tail() instead of list_add() for platform/codec/dai list Kuninori Morimoto
[not found] ` <87d2wfrryg.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-02-11 21:26 ` Stephen Warren
2013-02-05 10:11 ` [PATCH 2/3] ASoC: add snd_soc_of_get_port_dai_name() Kuninori Morimoto
[not found] ` <87bobzrry6.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-02-11 21:34 ` Stephen Warren
2013-02-12 5:37 ` Kuninori Morimoto
[not found] ` <87bobqf5yq.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-02-13 23:33 ` Stephen Warren
[not found] ` <511C22E2.60701-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-02-14 1:16 ` Kuninori Morimoto
2013-02-14 4:37 ` Stephen Warren
2013-02-14 5:14 ` Kuninori Morimoto
[not found] ` <874nhfv5mb.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-02-14 9:20 ` [PATCH 0/4 v6] " Kuninori Morimoto
2013-02-14 9:21 ` [PATCH 1/4 v6] ASoC: add .of_xlate_dai_name callback on struct snd_soc_dai_driver Kuninori Morimoto
2013-02-18 1:45 ` Kuninori Morimoto
2013-02-19 15:50 ` Lars-Peter Clausen
2013-02-20 0:50 ` Kuninori Morimoto
[not found] ` <8738wzuu9g.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-02-14 9:22 ` [PATCH 2/4 v6] ASoC: ak4642: enable .of_xlate_dai_name " Kuninori Morimoto
2013-02-14 9:22 ` [PATCH 3/4 v6] ASoC: fsi: " Kuninori Morimoto
2013-02-14 9:24 ` [PATCH 4/4 v6] ASoC: simple-card: add Device Tree support Kuninori Morimoto
2013-02-19 15:57 ` Lars-Peter Clausen [this message]
2013-02-20 0:48 ` Kuninori Morimoto
[not found] ` <87r4kb95f3.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-02-20 12:17 ` [alsa-devel] " Lars-Peter Clausen
[not found] ` <5124BEF5.4040703-Qo5EllUWu/uELgA04lAiVw@public.gmane.org>
2013-02-20 18:02 ` Stephen Warren
2013-02-22 2:41 ` Kuninori Morimoto
[not found] ` <871ucjuu7g.wl%kuninori.morimoto.gx@renes as.com>
[not found] ` <871ucjuu7g.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-02-19 20:53 ` [PATCH 1/4 v6] ASoC: add .of_xlate_dai_name callback on struct snd_soc_dai_driver Stephen Warren
[not found] ` <5123E664.7090107-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-02-19 21:06 ` Stephen Warren
[not found] ` <5123E972.40307-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-02-20 0:59 ` Kuninori Morimoto
2013-02-20 18:13 ` Stephen Warren
2013-02-20 0:52 ` Kuninori Morimoto
[not found] ` <87y5ertfl7.wl%kuninori.morimoto.gx@renes as.com>
[not found] ` <87y5ertfl7.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-02-19 21:00 ` [PATCH 3/4 v6] ASoC: fsi: enable .of_xlate_dai_name " Stephen Warren
2013-02-20 1:04 ` Kuninori Morimoto
2013-02-20 12:03 ` Lars-Peter Clausen
2013-02-25 8:49 ` [PATCH 0/5 v7][RFC] ASoC: simple-card DT support Kuninori Morimoto
[not found] ` <87a9qsg4lp.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-02-25 8:51 ` [PATCH 1/5 v7][RFC] ASoC: add snd_soc_register_cpu() Kuninori Morimoto
2013-02-27 22:45 ` Stephen Warren
2013-02-25 8:53 ` [PATCH 2/5 v7][RFC] ASoC: add .of_xlate_dai_name on snd_soc_cpu_cpu/codec_driver Kuninori Morimoto
2013-02-25 8:56 ` [PATCH 3/5 v7][RFC] ASoC: simple-card: add Device Tree support Kuninori Morimoto
2013-02-27 23:17 ` Stephen Warren
2013-02-28 0:53 ` Kuninori Morimoto
2013-02-25 8:57 ` [PATCH 4/5 v7][RFC] ASoC: ak4642: add .of_xlate_dai_name support Kuninori Morimoto
2013-02-25 8:57 ` [PATCH 5/5 v7][RFC] ASoC: fsi: " Kuninori Morimoto
2013-02-27 23:28 ` Stephen Warren
[not found] ` <877glwg4fb.wl%kuninori.morimoto.gx@renes as.com>
[not found] ` <877glwg4fb.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-02-27 22:56 ` [PATCH 2/5 v7][RFC] ASoC: add .of_xlate_dai_name on snd_soc_cpu_cpu/codec_driver Stephen Warren
[not found] ` <874nh0g49j.wl%kuninori.morimoto.gx@renes as.com>
[not found] ` <874nh0g49j.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-02-27 23:27 ` [PATCH 4/5 v7][RFC] ASoC: ak4642: add .of_xlate_dai_name support Stephen Warren
[not found] ` <87mwuptgju.wl%kuninori.morimoto.gx@renes as.com>
[not found] ` <87mwuptgju.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-02-28 19:14 ` [PATCH 1/5 v7][RFC] ASoC: add snd_soc_register_cpu() Stephen Warren
2013-03-01 20:50 ` Lars-Peter Clausen
[not found] ` <1362174130.4439.61.camel@loki>
2013-03-02 3:25 ` Mark Brown
[not found] ` <1362426516.4448.68.camel@loki>
2013-03-05 3:05 ` Mark Brown
[not found] ` <87lia9tg1r.wl%kuninori.morimoto.gx@renes as.com>
[not found] ` <87lia9tg1r.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-02-28 19:16 ` [PATCH 3/5 v7][RFC] ASoC: simple-card: add Device Tree support Stephen Warren
[not found] ` <512E8C99.2040708-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-02-28 0:42 ` [PATCH 1/5 v7][RFC] ASoC: add snd_soc_register_cpu() Kuninori Morimoto
2013-03-01 9:44 ` Mark Brown
2013-07-11 14:57 ` [PATCH 0/5 v7][RFC] ASoC: simple-card DT support Daniel Mack
2013-07-12 0:04 ` Kuninori Morimoto
2013-02-05 10:12 ` [PATCH 3/3 v4] ASoC: simple-card: add Device Tree support Kuninori Morimoto
[not found] ` <87a9rjrrwt.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-02-07 0:55 ` [PATCH 3/3 v5] " Kuninori Morimoto
[not found] ` <87zjzhymbs.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-02-11 21:40 ` Stephen Warren
2013-02-12 4:48 ` Kuninori Morimoto
[not found] ` <87d2w6f88p.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-02-13 23:30 ` Stephen Warren
[not found] ` <51196541.8010207-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-02-13 1:13 ` Kuninori Morimoto
2013-02-13 23:36 ` Stephen Warren
2013-02-06 8:44 ` [RFC][PATCH 0/3 v4] " Kuninori Morimoto
2013-01-28 21:11 ` [RFC][PATCH 2/2 v2] " Stephen Warren
[not found] ` <5106E98A.6070103-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-01-29 1:45 ` Mark Brown
2013-01-29 2:14 ` Kuninori Morimoto
2013-01-29 16:53 ` Stephen Warren
2013-01-30 1:09 ` Kuninori Morimoto
2013-01-25 1:03 ` [RFC][PATCH 0/2 " Kuninori Morimoto
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5123A0F5.2030001@metafoo.de \
--to=lars@metafoo.de \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@opensource.wolfsonmicro.com \
--cc=devicetree-discuss@lists.ozlabs.org \
--cc=horms@verge.net.au \
--cc=kuninori.morimoto.gx@gmail.com \
--cc=kuninori.morimoto.gx@renesas.com \
--cc=lgirdwood@gmail.com \
--cc=swarren@wwwdotorg.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).