[alsa-devel] [PATCH v2 116/146] ASoC: sof: use modern dai_link style

Daniel Baluta daniel.baluta at gmail.com
Thu Jun 27 08:57:52 CEST 2019


Hi Morimoto-san,

<replying again now also including all Cc's>

On Thu, Jun 27, 2019 at 3:52 AM Kuninori Morimoto
<kuninori.morimoto.gx at renesas.com> wrote:
>
>
> Hi Daniel
>
> Thank you for feedback and sorry for bother you
>
> > > @@ -2708,7 +2705,11 @@ static int sof_link_load(struct snd_soc_component *scomp, int index,
> > >         int ret;
> > >         int i = 0;
> > >
> > > -       link->platform_name = dev_name(sdev->dev);
> > > +       if (!link->platforms) {
> > > +               dev_err(sdev->dev, "error: no platforms\n");
> > > +               return -EINVAL;
> >
> > Why do we need this check? With linux-next this check fails for me.
>
> I don't remember but some sof might use without platform it I thought.
> But, current ALSA SoC can handle NULL platform today.
> Maybe/Maybe not support timing issue ?
>
> > diff --git a/sound/soc/soc-topology.c b/sound/soc/soc-topology.c
> > index f485f7f751a1..ee73318135fc 100644
> > --- a/sound/soc/soc-topology.c
> > +++ b/sound/soc/soc-topology.c
> > @@ -1883,7 +1883,7 @@ static int soc_tplg_fe_link_create(struct soc_tplg *tplg,
> >         int ret;
> >
> >         /* link + cpu + codec */
> > -       link = kzalloc(sizeof(*link) + (2 * sizeof(*dlc)), GFP_KERNEL);
> > +       link = kzalloc(sizeof(*link) + (3 * sizeof(*dlc)), GFP_KERNEL);
> >         if (link == NULL)
> >                 return -ENOMEM;
> >
> > @@ -1891,9 +1891,11 @@ static int soc_tplg_fe_link_create(struct soc_tplg *tplg,
> >
> >         link->cpus      = &dlc[0];
> >         link->codecs    = &dlc[1];
> > +       link->platforms = &dlc[2];
> >
> >         link->num_cpus   = 1;
> >         link->num_codecs = 1;
> > +       link->num_platforms = 1;
> >
> > Can you please help me figure this out?
>
> I think this is same as
>
>         3e6de89409bf7ad149bfb05dd0dce6c5678ea0a8
>         ("ASoC: soc-topology: fix modern dai link style")
>

Yes, it is! Sorry, I'm doing development on 5.2-rc3 - not latest
sources.

> Above one is also OK, but now we can use NULL platform.
> I'm not familiar with SOF, but maybe like this code instead
> of having dummy platform can salve your issue ?
>
>         if (link->platforms) {
>                 link->platforms->name = dev_name(sdev->dev);
>         }
>
Yes, this also seems to work.


More information about the Alsa-devel mailing list