[alsa-devel] [PATCH v4] ASoC: simple-card: add Device Tree support
Kuninori Morimoto
kuninori.morimoto.gx at renesas.com
Mon Nov 18 01:42:23 CET 2013
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
> > +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 ?
> > + /*
> > + * 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
> > + /* 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
Best regards
---
Kuninori Morimoto
More information about the Alsa-devel
mailing list