[alsa-devel] [PATCH 0/2][RFC] snd_soc_codec include snd_soc_component

Kuninori Morimoto kuninori.morimoto.gx at renesas.com
Mon Sep 2 08:02:04 CEST 2013


Hi Mark, Lars

These are very rough patch for
merging snd_soc_codec <-> snd_soc_component.
As Lars idea, "codec" includes "component" on this patch,
but it doesn't care about "platform" here,
since "platform" doesn't have "dai".
Current component is caring "dai", but... ?
(and what about "card" ?)

Anyway, this patch focus only codec <-> component.
The "driver code" was not big difference,
since current component is very small at this point.

Attached 1st patch is rough version of ASoC core code.
the main topic on this patch is that snd_soc_register_dai[s]
will be called via component.

But, we will need many "codec dai name exchange", becouse
 1) the dai name rule on 1-dai / multi-dai are different,
    it was depend on snd_soc_register_dai[s].
 1) component is using both snd_soc_register_dai[s] inside
    (this was for "cpu" side limit)
 2) codec have been used snd_soc_register_dais even though
    it was not multi-dai

2nd patch is rough version of "code dai name exchange" for it.
Of course we need more and more codec driver patches,
but it is wm8978 only as trial now.

I guess "codec driver" should have "component driver" pointer too ?
(it has .name only at this point, and 2nd patch includes it)

We can move some feature from codec to component
after this step ?

In my quick check,
below codec have 0 dai (= we need care it on component ?)

	sound/soc/codecs/lm4857.c
	sound/soc/codecs/max9768.c
	sound/soc/codecs/max9877.c
	sound/soc/codecs/wm2000.c
	sound/soc/codecs/wm9090.c

below codecs have 1 dai (= we need name exchange on platform)

	sound/soc/codecs/ac97.c
	sound/soc/codecs/ad1836.c
	sound/soc/codecs/ad193x.c
	sound/soc/codecs/ad193x.c
	sound/soc/codecs/ad1980.c
	sound/soc/codecs/ad73311.c
	sound/soc/codecs/adau1701.c
	sound/soc/codecs/ads117x.c
	sound/soc/codecs/ak4104.c
	sound/soc/codecs/ak4535.c
	sound/soc/codecs/ak4554.c
	sound/soc/codecs/ak4642.c
	sound/soc/codecs/ak4671.c
	sound/soc/codecs/ak5386.c
	sound/soc/codecs/alc5623.c
	sound/soc/codecs/alc5632.c
	sound/soc/codecs/bt-sco.c
	sound/soc/codecs/cq93vc.c
	sound/soc/codecs/cs4270.c
	sound/soc/codecs/cs4271.c
	sound/soc/codecs/cs4271.c
	sound/soc/codecs/cs42l51.c
	sound/soc/codecs/cs42l52.c
	sound/soc/codecs/cx20442.c
	sound/soc/codecs/da7210.c
	sound/soc/codecs/da7210.c
	sound/soc/codecs/da7213.c
	sound/soc/codecs/da9055.c
	sound/soc/codecs/dmic.c
	sound/soc/codecs/hdmi.c
	sound/soc/codecs/jz4740.c
	sound/soc/codecs/max9850.c
	sound/soc/codecs/ml26124.c
	sound/soc/codecs/pcm1681.c
	sound/soc/codecs/pcm1792a.c
	sound/soc/codecs/pcm3008.c
	sound/soc/codecs/sgtl5000.c
	sound/soc/codecs/si476x.c
	sound/soc/codecs/spdif_receiver.c
	sound/soc/codecs/spdif_transmitter.c
	sound/soc/codecs/ssm2518.c
	sound/soc/codecs/ssm2602.c
	sound/soc/codecs/ssm2602.c
	sound/soc/codecs/sta32x.c
	sound/soc/codecs/sta529.c
	sound/soc/codecs/tas5086.c
	sound/soc/codecs/tlv320aic23.c
	sound/soc/codecs/tlv320aic26.c
	sound/soc/codecs/tlv320aic32x4.c
	sound/soc/codecs/tlv320aic3x.c
	sound/soc/codecs/tlv320dac33.c
	sound/soc/codecs/uda134x.c
	sound/soc/codecs/wl1273.c
	sound/soc/codecs/wm1250-ev1.c
	sound/soc/codecs/wm2200.c
	sound/soc/codecs/wm8350.c
	sound/soc/codecs/wm8400.c
	sound/soc/codecs/wm8510.c
	sound/soc/codecs/wm8510.c
	sound/soc/codecs/wm8523.c
	sound/soc/codecs/wm8711.c
	sound/soc/codecs/wm8711.c
	sound/soc/codecs/wm8727.c
	sound/soc/codecs/wm8728.c
	sound/soc/codecs/wm8728.c
	sound/soc/codecs/wm8731.c
	sound/soc/codecs/wm8731.c
	sound/soc/codecs/wm8737.c
	sound/soc/codecs/wm8737.c
	sound/soc/codecs/wm8741.c
	sound/soc/codecs/wm8741.c
	sound/soc/codecs/wm8750.c
	sound/soc/codecs/wm8750.c
	sound/soc/codecs/wm8770.c
	sound/soc/codecs/wm8782.c
	sound/soc/codecs/wm8804.c
	sound/soc/codecs/wm8804.c
	sound/soc/codecs/wm8900.c
	sound/soc/codecs/wm8900.c
	sound/soc/codecs/wm8903.c
	sound/soc/codecs/wm8904.c
	sound/soc/codecs/wm8940.c
	sound/soc/codecs/wm8955.c
	sound/soc/codecs/wm8960.c
	sound/soc/codecs/wm8961.c
	sound/soc/codecs/wm8962.c
	sound/soc/codecs/wm8971.c
	sound/soc/codecs/wm8974.c
	sound/soc/codecs/wm8978.c
	sound/soc/codecs/wm8983.c
	sound/soc/codecs/wm8983.c
	sound/soc/codecs/wm8985.c
	sound/soc/codecs/wm8985.c
	sound/soc/codecs/wm8988.c
	sound/soc/codecs/wm8988.c
	sound/soc/codecs/wm8990.c
	sound/soc/codecs/wm8991.c
	sound/soc/codecs/wm8993.c
	sound/soc/codecs/wm9081.c
	sound/soc/codecs/max98090.c
	sound/soc/codecs/rt5631.c

below codecs have multi dai

	sound/soc/codecs/88pm860x-codec.c
	sound/soc/codecs/ab8500-codec.c
	sound/soc/codecs/adau1373.c
	sound/soc/codecs/adav80x.c
	sound/soc/codecs/ak4641.c
	sound/soc/codecs/cs42l73.c
	sound/soc/codecs/da732x.c
	sound/soc/codecs/isabelle.c
	sound/soc/codecs/lm49453.c
	sound/soc/codecs/max98088.c
	sound/soc/codecs/max98095.c
	sound/soc/codecs/rt5640.c
	sound/soc/codecs/sn95031.c
	sound/soc/codecs/stac9766.c
	sound/soc/codecs/twl4030.c
	sound/soc/codecs/twl6040.c
	sound/soc/codecs/uda1380.c
	sound/soc/codecs/wm0010.c
	sound/soc/codecs/wm5100.c
	sound/soc/codecs/wm5102.c
	sound/soc/codecs/wm5110.c
	sound/soc/codecs/wm8580.c
	sound/soc/codecs/wm8753.c
	sound/soc/codecs/wm8776.c
	sound/soc/codecs/wm8994.c
	sound/soc/codecs/wm8995.c
	sound/soc/codecs/wm8996.c
	sound/soc/codecs/wm8997.c
	sound/soc/codecs/wm9705.c
	sound/soc/codecs/wm9712.c
	sound/soc/codecs/wm9713.c

and, below codec has both 1-dai, and multi-dai

	sound/soc/codecs/mc13783.c



Kuninori Morimoto (2):
      [RFC] ASoC: snd_soc_codec include snd_soc_component
      [RFC] ASoC: wm8978: use component

 arch/arm/mach-shmobile/board-armadillo800eva.c |    2 +-
 include/sound/soc.h                            |   33 ++++++++++--------
 sound/soc/codecs/wm8978.c                      |    6 ++++
 sound/soc/soc-core.c                           |   44 ++++++++++++++++++------
 4 files changed, 59 insertions(+), 26 deletions(-)



More information about the Alsa-devel mailing list