[alsa-devel] [PATCH 00/49] ASoC: add simple-card-core and standardize "simple" card

Kuninori Morimoto kuninori.morimoto.gx at renesas.com
Fri May 20 11:36:53 CEST 2016


Hi Mark

These are very big patch-set, but basically just cleanup for
simple-card driver.
Now, we have simple-card driver, but it is not simple today.
I would like to cleanup this.

And Renesas already have rsrc-card driver which is supporting DPCM,
and it is based on simple-card. This measn rsrc-card and simple-card
are very similar.
Thus, I would like to share these code between rsrc-card and simple-card.

This rsrc-card is only used from Renesas (actually, there is no upstream user,
current user is only me, by local). But this is not Renesas special driver,
I can say it is DPCM version of simple-card.
I would like to open it for all of ALSA people.
But, not merge simple-card <-> rsrc-card, to avoid diffcult future maintenance.
Thus, rsrc-card will be simple-dpcm-audio-card, and we can maintenance both
simple-card, and simple-dpcm-card. I'm not sure this is good nameing.

And finally, we will need HDMI sound support which uses graph base probing.
I know it needs more discussion with V4L2 people.
But in my understanding, basically, we can reuse simple-card base feature/function
on graph base driver somehow.
I would like to standardize simple card style, and use/share it with graph driver too.
It will be simple-graph-card ? I'm not sure. But I think we can share same code,
and can avoid development from 0.

These patch are for it.
Basically, it pickups common function/feature from simple-card and rsrc-card,
and standardize each feature/parse/init etc in simple-card-core.
Because of this patch-set, "simple-card" become "simple" again :)

I tested these (simple-card, rsrc-card) on my lager, Salvator boards.
But I couldn't test some feature. I hope test it on many environment.

 1) -  4) cleanup for these patch-set
 5) - 19) pickuped common function/feature and put it to simple-card-core
20) - 32) use simple-card-core on simple-card
33) - 46) use simple-card-core on rsrc-card
47) - 49) rename rsrc-card to simple-dpcm-audio-card

Kuninori Morimoto (49):
       1) ASoC: simple-card: remove duplicate header
       2) ASoC: rsrc-card: remove duplicate header
       3) ASoC: rsrc-card: remove unused dai_num
       4) ASoC: simple-card: platform also uses asoc_simple_card_sub_parse_of()
       5) ASoC: add new simple-card-core.c
       6) ASoC: simple-card-core: add asoc_simple_card_parse_tdm()
       7) ASoC: simple-card-core: add asoc_simple_card_parse_dailink_name()
       8) ASoC: simple-card-core: add asoc_simple_card_parse_card_name()
       9) ASoC: simple-card-core: add asoc_simple_card_parse_card_prefix()
      10) ASoC: simple-card-core: add asoc_simple_card_parse_card_widgets()
      11) ASoC: simple-card-core: add asoc_simple_card_parse_card_widgets()
      12) ASoC: simple-card-core: add asoc_simple_card_parse_clk()
      13) ASoC: simple-card-core: add asoc_simple_card_parse_endpoint()
      14) ASoC: simple-card-core: add asoc_simple_card_parse_dpcm()
      15) ASoC: simple-card-core: add asoc_simple_card_init_jack()
      16) ASoC: simple-card-core: add asoc_simple_card_init_dai()
      17) ASoC: simple-card-core: add asoc_simple_card_canonicalize_dailink()
      18) ASoC: simple-card-core: add asoc_simple_card_canonicalize_cpu()
      19) ASoC: simple-card-core: add asoc_simple_card_clean_reference()
      20) ASoC: simple-card: use asoc_simple_card_parse_daifmt()
      21) ASoC: simple-card: use asoc_simple_card_parse_clk()
      22) ASoC: simple-card: use asoc_simple_card_parse_endpoint()
      23) ASoC: simple-card: use asoc_simple_card_parse_tdm()
      24) ASoC: simple-card: use asoc_simple_card_parse_card_name()
      25) ASoC: simple-card: use asoc_simple_card_parse_card_route()
      26) ASoC: simple-card: use asoc_simple_card_parse_card_widgets()
      27) ASoC: simple-card: use asoc_simple_card_parse_dailink_name()
      28) ASoC: simple-card: use asoc_simple_card_init_jack()
      29) ASoC: simple-card: use asoc_simple_card_init_dai()
      30) ASoC: simple-card: use asoc_simple_card_canonicalize_dailink()
      31) ASoC: simple-card: use asoc_simple_card_canonicalize_cpu()
      32) ASoC: simple-card: use asoc_simple_card_clean_reference()
      33) ASoC: rsrc-card: use asoc_simple_card_parse_daifmt()
      34) ASoC: rsrc-card: use asoc_simple_card_parse_dailink_name()
      35) ASoC: rsrc-card: use asoc_simple_dai instead of rsrc_card_dai
      36) ASoC: rsrc-card: use asoc_simple_card_parse_clk()
      37) ASoC: rsrc-card: use asoc_simple_card_parse_endpoint()
      38) ASoC: rsrc-card: use asoc_simple_card_parse_card_name()
      39) ASoC: rsrc-card: use asoc_simple_card_parse_card_prefix()
      40) ASoC: rsrc-card: use asoc_simple_card_parse_dpcm()
      41) ASoC: rsrc-card: use asoc_simple_card_parse_card_route()
      42) ASoC: rsrc-card: use asoc_simple_card_parse_tdm()
      43) ASoC: rsrc-card: use asoc_simple_card_init_dai()
      44) ASoC: rsrc-card: use asoc_simple_card_canonicalize_cpu()
      45) ASoC: rsrc-card: use asoc_simple_card_canonicalize_dailink()
      46) ASoC: rsrc-card: use asoc_simple_card_clean_reference()
      47) ASoC: rsrc-card: rename rsrc-card to simple-dpcm-card phase1
      48) ASoC: rsrc-card: rename rsrc-card to simple-dpcm-card phase2
      49) ASoC: rsrc-card: rename rsrc-card to simple-dpcm-card phase3

 Documentation/devicetree/bindings/sound/renesas,rsrc-card.txt |  75 --------------
 Documentation/devicetree/bindings/sound/simple-dpcm-card.txt  |  79 +++++++++++++++
 include/sound/simple_card.h                                   |  11 +--
 include/sound/simple_card_core.h                              | 106 ++++++++++++++++++++
 sound/soc/generic/Kconfig                                     |  10 ++
 sound/soc/generic/Makefile                                    |   4 +
 sound/soc/generic/simple-card-core.c                          | 409 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 sound/soc/generic/simple-card.c                               | 359 ++++++++++++------------------------------------------------------
 sound/soc/generic/simple-dpcm-card.c                          | 330 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 sound/soc/sh/Kconfig                                          |   5 -
 sound/soc/sh/rcar/Makefile                                    |   3 -
 sound/soc/sh/rcar/rsrc-card.c                                 | 529 --------------------------------------------------------------------------------------------------
 12 files changed, 999 insertions(+), 921 deletions(-)


More information about the Alsa-devel mailing list