All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/6] ASoC: Merge CPU/Codec DAIs
@ 2020-03-11  5:00 Kuninori Morimoto
  2020-03-11  5:00 ` [PATCH v2 1/6] ASoC: soc-core: " Kuninori Morimoto
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Kuninori Morimoto @ 2020-03-11  5:00 UTC (permalink / raw)
  To: Mark Brown; +Cc: Linux-ALSA


Hi Mark

Current ALSA SoC has CPU/Codec categorized DAIs.
But we want to have non-categorized DAIs in the future.
This was indicated by Lars-Peter before at ELCE.
But, we *can't* do it right now.
Because many drivers are considering CPU and Codec separately.

Currently, rtd has both CPU/Codec DAIs array.

	rtd->cpu_dais   = [][][][][][][][][]
	rtd->codec_dais = [][][][][][][][][]

This patch merges these, like below.
It still can use rtd->cpu_dais, rtd->codec_dais.
Of course for_each_rtd_cpu/codec_dais() macro too.
So we can use/keep existing code/method same as before.

	rtd->dais = [][][][][][][][][][][][][][][][][][]
	            ^cpu_dais         ^codec_dais
	            |--- num_cpus ---|--- num_codecs --|

	rtd->cpu_dais   = &rtd->dais[0];
	rtd->codec_dais = &rtd->dais[dai_link->num_cpus];

There are some code which is doing something *only* for CPU or Codec.
This patch-set do nothing to such code.
Maybe it can be updated in the future, maybe not (can't).

I hope this patch-set can be 1st step for non-categorized DAIs.
But the main purpose so far is that replace the duplicate code
for borh CPU and Codec.

	-	for_each_rtd_cpu_dais() {
	-		...
	-	}
	-	for_each_rtd_codec_dais() {
	-		...
	-	}
	+	for_each_rtd_dais() {
	+		...
	+	}

Kuninori Morimoto (6):
  ASoC: soc-core: Merge CPU/Codec DAIs
  ASoC: soc-core: Merge for_each_rtd_cpu/codec_dais()
  ASoC: soc-dapm: Merge for_each_rtd_cpu/codec_dais()
  ASoC: soc-pcm: Merge for_each_rtd_cpu/codec_dais()
  ASoC: soc-core: Merge CPU/Codec for soc_dai_pcm_new()
  ASoC: soc-pcm: Merge CPU/Codec MSB at soc_pcm_apply_msb()

 include/sound/soc.h  |   7 +-
 sound/soc/soc-core.c |  66 ++++-----
 sound/soc/soc-dapm.c |   9 +-
 sound/soc/soc-pcm.c  | 340 +++++++++++--------------------------------
 4 files changed, 116 insertions(+), 306 deletions(-)

-- 
2.17.1


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2020-03-12  1:21 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-11  5:00 [PATCH v2 0/6] ASoC: Merge CPU/Codec DAIs Kuninori Morimoto
2020-03-11  5:00 ` [PATCH v2 1/6] ASoC: soc-core: " Kuninori Morimoto
2020-03-11  5:01 ` [PATCH v2 2/6] ASoC: soc-core: Merge for_each_rtd_cpu/codec_dais() Kuninori Morimoto
2020-03-11  5:01 ` [PATCH v2 3/6] ASoC: soc-dapm: " Kuninori Morimoto
2020-03-11  5:01 ` [PATCH v2 4/6] ASoC: soc-pcm: " Kuninori Morimoto
2020-03-11  5:01 ` [PATCH v2 5/6] ASoC: soc-core: Merge CPU/Codec for soc_dai_pcm_new() Kuninori Morimoto
2020-03-11  5:01 ` [PATCH v2 6/6] ASoC: soc-pcm: Merge CPU/Codec MSB at soc_pcm_apply_msb() Kuninori Morimoto
2020-03-12  1:20 ` [PATCH v2 0/6] ASoC: Merge CPU/Codec DAIs Kuninori Morimoto

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.