devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mark Rutland <mark.rutland@arm.com>
To: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Cc: "devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	Linux-ALSA <alsa-devel@alsa-project.org>,
	Lars-Peter Clausen <lars@metafoo.de>,
	Pawel Moll <Pawel.Moll@arm.com>,
	Stephen Warren <swarren@wwwdotorg.org>,
	Takashi Iwai <tiwai@suse.de>, Mark Brown <broonie@kernel.org>,
	Ian Campbell <ijc+devicetree@hellion.org.uk>,
	Liam Girdwood <lgirdwood@gmail.com>, Simon <horms@verge.net.au>
Subject: Re: [PATCH v4] ASoC: simple-card: add Device Tree support
Date: Mon, 18 Nov 2013 11:36:18 +0000	[thread overview]
Message-ID: <20131118113617.GC30853@e106331-lin.cambridge.arm.com> (raw)
In-Reply-To: <87li0m7d7c.wl%kuninori.morimoto.gx@renesas.com>

On Mon, Nov 18, 2013 at 12:42:23AM +0000, Kuninori Morimoto wrote:
> 
> Hi Mark Rutland
> 
> Thank you for your feedback
> 
> > > +- frame-master				: bool property. add this if subnode was frame master
> > > +- bitclock-master			: bool property. add this if subnode was bitclock master
> > 
> > s/was/is/
> 
> Oops, I will fix it on v5
> 
> > > +- bitclock-inversion			: bool property. add this if subnode has clock inversion
> > > +- frame-inversion			: bool property. add this if subnode has frame inversion
> > > +- clocks / system-clock-frequency	: specify subnode's clock if needed.
> > > +					  it can be specified via "clocks" if system has clock node,
> > > +                                          or "system-clock-frequency" if system doesn't have it.
> > 
> > What does "if system doesn't have it" mean? If it doesn't have a clock,
> > how does said non-existent clock have a frequency?
> 
> It means "if system doesn't support common clock".
> I will fix it

When you say "doesn't support common clock", you mean the code for that
platform is incompatible with the common clock framework? It seems very
messy to allow a Linux-internal implementation detail (which is expected
to change) to leak into a binding...

> 
> > > +static int
> > > +asoc_simple_card_sub_parse_of(struct device_node *np,
> > > +			      struct asoc_simple_dai *dai,
> > > +			      struct device_node **node)
> > > +{
> > > +	struct clk *clk;
> > > +	int ret;
> > > +
> > > +	/*
> > > +	 * get node via "sound-dai = <&phandle port>"
> > > +	 * it will be used as xxx_of_node on soc_bind_dai_link()
> > > +	 */
> > > +	*node = of_parse_phandle(np, "sound-dai", 0);
> > > +	if (!*node)
> > > +		return -ENODEV;
> > > +
> > > +	/* get dai->name */
> > > +	ret = snd_soc_of_get_dai_name(np, &dai->name);
> > > +	if (ret < 0)
> > > +		goto parse_error;
> > > +
> > > +	/*
> > > +	 * bitclock-inversion, frame-inversion
> > > +	 * bitclock-master,    frame-master
> > > +	 * and specific "format" if it has
> > > +	 */
> > 
> > This comment looks confusing to me. I'm not sure it's all that helpful.
> > 
> > > +	dai->fmt = snd_soc_of_parse_daifmt(np, NULL);
> > 
> > As a general note, I'm surprised there isn't a helper that does all of
> > the above, from of_parse_phandle to here.
> 
> snd_soc_of_parse_daifmt() is the helper fucntion,
> and above comment is explaining it.
> Or, am I misunderstanding your review ?
> 

What I meant was that I am surprised there isn't a helper doing all of:
* of_parse_phandle
* snd_soc_of_get_dai_name
* snd_soc_of_parse_daifmt

It looks like a common pattern that could be factored out.

> > > +	/*
> > > +	 * dai->sysclk come from
> > > +	 *  "clolks = <&xxx>" or "system-clock-frequency = <xxx>"
> > 
> > s/clolks/clocks/
> 
> Grr, thank you
> 
> > > +	clk = of_clk_get(np, 0);
> > > +	if (IS_ERR(clk))
> > > +		of_property_read_u32(np,
> > > +				     "system-clock-frequency",
> > > +				     &dai->sysclk);
> > 
> > What it this isn't present?
> 
> If sysclk doesn't have common clock support

Huh? That's not what I asked.

What if the dt has neither a clock or a system-clock-frequency property?

> 
> > > +	/* simple-card assumes platform == cpu */
> > > +	*of_platform = *of_cpu;
> > 
> > Why? What does this imply?
> 
> This is the one of reason why this driver is "simple" card

The issue here is that I'm almost totally unfamiliar with audio
hardware, nor the ASoC bindings. If this makes sense to you and Mark
Brown then I'm happy to continue not understanding either. :)

Thanks,
Mark.

  reply	other threads:[~2013-11-18 11:36 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <87eh97sqw7.wl%kuninori.morimoto.gx@renesas.com>
     [not found] ` <87txharb3o.wl%kuninori.morimoto.gx@renesas.com>
     [not found]   ` <8738oiog00.wl%kuninori.morimoto.gx@renesas.com>
     [not found]     ` <20131003104248.GI27287@sirena.org.uk>
     [not found]       ` <20131003104248.GI27287-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-10-04  0:04         ` [PATCH v3] ASoC: simple-card: add Device Tree support Kuninori Morimoto
2013-10-14 17:16           ` Mark Brown
2013-10-24 17:17           ` Mark Rutland
2013-10-25  2:14             ` [PATCH v4] " Kuninori Morimoto
     [not found]               ` <87iowm9jwv.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-11-15  5:13                 ` Kuninori Morimoto
     [not found]                   ` <87zjp6memo.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-11-15 10:47                     ` Mark Brown
2013-11-15 15:50               ` Mark Rutland
2013-11-18  0:42                 ` Kuninori Morimoto
2013-11-18 11:36                   ` Mark Rutland [this message]
     [not found]                     ` <20131118113617.GC30853-NuALmloUBlrZROr8t4l/smS4ubULX0JqMm0uRHvK7Nw@public.gmane.org>
2013-11-18 12:41                       ` [alsa-devel] " Mark Brown
2013-11-19  2:03                       ` Kuninori Morimoto
2013-11-20 16:24                         ` Mark Rutland
     [not found]                           ` <20131120162403.GA22479-NuALmloUBlrZROr8t4l/smS4ubULX0JqMm0uRHvK7Nw@public.gmane.org>
2013-11-21  0:12                             ` [alsa-devel] " Kuninori Morimoto
2013-12-02 16:24                               ` Mark Rutland
     [not found]                 ` <20131115155028.GE24831-NuALmloUBlrZROr8t4l/smS4ubULX0JqMm0uRHvK7Nw@public.gmane.org>
2013-11-18  3:19                   ` [PATCH v5] " Kuninori Morimoto
     [not found]                     ` <87bo1i75xp.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-11-29  1:11                       ` Kuninori Morimoto
     [not found]                         ` <8761rc57wd.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-11-29 12:33                           ` Mark Brown
2013-11-18 14:12                   ` [PATCH v4] " Rob Herring
     [not found]                     ` <CAL_JsqKLd4CbfD6PifXrwWxbyJqnvAViYkXQ63TBniQBPPzp4g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-11-18 14:31                       ` Mark Brown
2013-11-19  2:36                       ` [alsa-devel] " Kuninori Morimoto
     [not found]                         ` <87li0ldso8.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-11-20  6:25                           ` [PATCH v6] " Kuninori Morimoto
2013-12-02 12:42                             ` Mark Brown
     [not found]                               ` <20131202124235.GA27568-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-12-03  0:07                                 ` [alsa-devel] " Kuninori Morimoto
2013-11-20 14:20                           ` [alsa-devel] [PATCH v4] " Rob Herring
     [not found]                             ` <CAL_Jsq+ZsrU5S6B_V8ruLK141LxTR2fd9Re5EWmp47LY+ALDow-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-11-20 16:02                               ` Mark Brown
2013-11-21  0:41                               ` Kuninori Morimoto
     [not found]                                 ` <871u2aziuu.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-12-02  4:57                                   ` Kuninori Morimoto
2013-10-25 13:13             ` [PATCH v3] " Mark Brown
     [not found]               ` <20131025131357.GB12932-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-10-30  0:39                 ` [alsa-devel] " Kuninori Morimoto
     [not found]                   ` <87sivjk2xj.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-10-31  0:31                     ` Mark Brown
     [not found]                       ` <20131031003156.GY2493-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-10-31  1:11                         ` 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=20131118113617.GC30853@e106331-lin.cambridge.arm.com \
    --to=mark.rutland@arm.com \
    --cc=Pawel.Moll@arm.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=horms@verge.net.au \
    --cc=ijc+devicetree@hellion.org.uk \
    --cc=kuninori.morimoto.gx@renesas.com \
    --cc=lars@metafoo.de \
    --cc=lgirdwood@gmail.com \
    --cc=swarren@wwwdotorg.org \
    --cc=tiwai@suse.de \
    /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).