On Thu, Jul 30, 2020 at 11:04:53AM +0200, Jerome Brunet wrote:

> Carrying redundant information makes things complex and error prone.
> If you really want to update this, here is another proposition:
>  * Removing snd_soc_dai_link_set_capabilities()
>  * Removing both flags completely
>  * Let ASoC figure out what is needed based on the components present.

My understanding is that that was broadly where we were headed with this
stuff - snd_soc_dai_link_set_capabilities() is trying to figure things
out from the components already, it's storing the flags as a cache but
could be modified so we use it every time we need a value.

> 
> >
> >>
> >> Cc: Pierre-Louis Bossart <pierre-louis.boss...@linux.intel.com>
> >> Signed-off-by: Jerome Brunet <jbru...@baylibre.com>
> >> ---
> >>
> >>   Hi Mark,
> >>
> >>   Because b73287f0b0745 ('ASoC: soc-pcm: dpcm: fix playback/capture 
> >> checks')
> >>   introduced more than one problem, the change
> >>   "ASoC: core: use less strict tests for dailink capabilities" [0] is still
> >>   necessary but the change of semantic remains a problem with it.
> >>
> >>   This patch applies on top of it.
> >>
> >>   sound/soc/soc-pcm.c | 14 --------------
> >>   1 file changed, 14 deletions(-)
> >>
> >> diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c
> >> index 00ac1cbf6f88..2e205b738eae 100644
> >> --- a/sound/soc/soc-pcm.c
> >> +++ b/sound/soc/soc-pcm.c
> >> @@ -2749,13 +2749,6 @@ int soc_new_pcm(struct snd_soc_pcm_runtime *rtd, 
> >> int num)
> >>                                    break;
> >>                            }
> >>                    }
> >> -
> >> -                  if (!playback) {
> >> -                          dev_err(rtd->card->dev,
> >> -                                  "No CPU DAIs support playback for 
> >> stream %s\n",
> >> -                                  rtd->dai_link->stream_name);
> >> -                          return -EINVAL;
> >> -                  }
> >>            }
> >>            if (rtd->dai_link->dpcm_capture) {
> >>                    stream = SNDRV_PCM_STREAM_CAPTURE;
> >> @@ -2766,13 +2759,6 @@ int soc_new_pcm(struct snd_soc_pcm_runtime *rtd, 
> >> int num)
> >>                                    break;
> >>                            }
> >>                    }
> >> -
> >> -                  if (!capture) {
> >> -                          dev_err(rtd->card->dev,
> >> -                                  "No CPU DAIs support capture for stream 
> >> %s\n",
> >> -                                  rtd->dai_link->stream_name);
> >> -                          return -EINVAL;
> >> -                  }
> >>            }
> >>    } else {
> >>            /* Adapt stream for codec2codec links */
> >>
> 

Attachment: signature.asc
Description: PGP signature

Reply via email to