Hi Mark These are resend of v2 of simple-card cleanup patches. My previous patch-set was sent almost 1month ago. Some of them are aleady accepted, but nothing happen for almost all other patches. Because of this stagnation, I already have almost 90 patches for simple-card + graph driver in locally... I would like to post them as soon as possible. OTOH, I know you don't like super big patchset, Thus, I will post small batch patch set only today. I will post next small batch patch set if 1st batch was accepted. I listed my local patch set below. It is for simple-card + graph support, and HDMI support for Renesas. This time I will post * mark patches. These are for simple-card cleanup. Kuninori Morimoto (90): * ASoC: add new simple-card-utils.c * ASoC: simple-card-utils: add asoc_simple_card_parse_tdm() * ASoC: simple-card-utils: add asoc_simple_card_parse_dailink_name() * ASoC: simple-card-utils: add asoc_simple_card_parse_card_name() * ASoC: simple-card-utils: add asoc_simple_card_parse_card_prefix() * ASoC: simple-card-utils: add asoc_simple_card_parse_clk() * ASoC: simple-card-utils: add asoc_simple_card_parse_endpoint() * ASoC: simple-card-utils: add asoc_simple_card_init_dai() * ASoC: simple-card-utils: add asoc_simple_card_canonicalize_dailink() * ASoC: simple-card-utils: add asoc_simple_card_canonicalize_cpu() * ASoC: simple-card-utils: add asoc_simple_card_clean_reference() ASoC: simple-card: use common PREFIX for each DT property ASoC: simple-card: add new asoc_simple_jack and use it ASoC: simple-card: use asoc_simple_card_parse_daifmt() ASoC: simple-card: use asoc_simple_card_parse_clk() ASoC: simple-card: use asoc_simple_card_parse_endpoint() ASoC: simple-card: use asoc_simple_card_parse_tdm() ASoC: simple-card: use asoc_simple_card_parse_card_name() ASoC: simple-card: use asoc_simple_card_parse_dailink_name() ASoC: simple-card: use asoc_simple_card_init_dai() ASoC: simple-card: use asoc_simple_card_canonicalize_dailink() ASoC: simple-card: use asoc_simple_card_canonicalize_cpu() ASoC: simple-card: use asoc_simple_card_clean_reference() ASoC: rsrc-card: use asoc_simple_card_parse_daifmt() ASoC: rsrc-card: use asoc_simple_card_parse_dailink_name() ASoC: rsrc-card: use asoc_simple_dai instead of rsrc_card_dai ASoC: rsrc-card: use asoc_simple_card_parse_clk() ASoC: rsrc-card: use asoc_simple_card_parse_endpoint() ASoC: rsrc-card: use asoc_simple_card_parse_card_name() ASoC: rsrc-card: use asoc_simple_card_parse_card_prefix() ASoC: rsrc-card: use asoc_simple_card_parse_tdm() ASoC: rsrc-card: use asoc_simple_card_init_dai() ASoC: rsrc-card: use asoc_simple_card_canonicalize_cpu() ASoC: rsrc-card: use asoc_simple_card_canonicalize_dailink() ASoC: rsrc-card: use asoc_simple_card_clean_reference() ASoC: rsrc-card: rename rsrc-card to simple-dpcm-card phase1 ASoC: rsrc-card: rename rsrc-card to simple-dpcm-card phase2 ASoC: rsrc-card: rename rsrc-card to simple-dpcm-card phase3 Documentation: of: add type property of_graph: add of_graph_get_remote_endpoint() of_graph: add of_graph_port/endpoint_type_is() of_graph: add of_graph_get_endpoint_count() of_graph: add of_graph_get_port_parent() of_graph: add of_graph_get_top_port() of_graph: add for_each_of_port() / for_each_of_endpoint_in_port() drm: bridge: add DesignWare HDMI I2S audio support ASoC: hdmi-codec: callback function will be called with private data ASoC: hdmi-codec: enable multi probe for same device ASoC: soc-core: snd_soc_get_dai_name() become non static ASoC: soc-core: adjust for graph on snd_soc_of_parse_card_name ASoC: soc-core: adjust for graph on snd_soc_of_parse_audio_simple_widgets ASoC: soc-core: adjust for graph on snd_soc_of_parse_audio_routing ASoC: soc-core: adjust for graph on snd_soc_of_parse_audio_prefix ASoC: simple-card-utils: rename asoc_simple_card_parse_endpoint to dai ASoC: simple-card-utils: add asoc_simple_card_parse_graph_dai() ASoC: simple-card-utils: adjust for graph on asoc_simple_card_parse_card_name ASoC: simple-card-utils: add asoc_simple_card_try_to_probe_graph_card() ASoC: simple-card-utils: adjust for graph on asoc_simple_card_parse_card_prefix ASoC: simple-card: call of_node_put() for dai_link ASoC: simple-card: tidyup mclk-fs of_property_read_u32() usage ASoC: simple-card: code sync: tidyup simple_priv_to_xxx() macro ASoC: simple-card: code sync: use simple_priv_to_props() macro ASoC: simple-card: is GPL v2 ASoC: simple-card: code sync: tidyup white line ASoC: simple-card: use kzalloc() for dai_props / dai_link ASoC: simple-dpcm-card: tidyup codec daifmt handling method ASoC: simple-dpcm-card: tidyup asoc_simple_card_parse_links() method ASoC: simple-dpcm-card: depends on CONFIG_OF ASoC: simple-dpcm-card: add 2 CPU 1 Codec example ASoC: simple-dpcm-card: code sync: follow to simple family style ASoC: simple-dpcm-card: is GPL v2 ASoC: simple-dpcm-card: code sync: move asoc_simple_card_of_match ASoC: simple-dpcm-card: remove unused definitions ASoC: simple-dpcm-card: code sync: rename asoc_simple_card_priv ASoC: simple-dpcm-card: code sync: tidyup props/link naming ASoC: add simple-graph-card document ASoC: add simple-graph-card support ASoC: add simple-graph-dpcm-card document ASoC: add simple-graph-dpcm-card support ASoC: rsnd: remove duplicate define of rsnd_dvc_of_node() ASoC: rsnd: amend .probe/.remove call for DPCM ASoC: rsnd: add rsnd_mod_next() for for_each_rsnd_mod_xxx() ASoC: rsnd: use for_each_rsnd_mod_xxx() on rsnd_dai_call() ASoC: rsnd: use for_each_rsnd_mod_xxx() on rsnd_rdai_continuance_probe() ASoC: rsnd: add rsnd_parse_of_node() and integrate rsnd_xxx_of_node ASoC: rsnd: add support graph base DT phase 1 ASoC: rsnd: add support graph base DT phase 2 ASoC: rsnd: depends on OF ASoC: rsnd: use simple-graph-card if possible ASoC: rsnd: add HDMI output support Documentation/devicetree/bindings/graph.txt | 26 + .../devicetree/bindings/sound/renesas,rsnd.txt | 2 + .../bindings/sound/renesas,rsrc-card.txt | 75 --- .../devicetree/bindings/sound/simple-dpcm-card.txt | 109 +++++ .../bindings/sound/simple-graph-card.txt | 65 +++ .../bindings/sound/simple-graph-dpcm-card.txt | 53 +++ drivers/gpu/drm/bridge/Kconfig | 8 + drivers/gpu/drm/bridge/Makefile | 1 + drivers/gpu/drm/bridge/dw-hdmi-audio.h | 7 + drivers/gpu/drm/bridge/dw-hdmi-i2s-audio.c | 123 +++++ drivers/gpu/drm/bridge/dw-hdmi.c | 22 +- drivers/gpu/drm/bridge/dw-hdmi.h | 21 + drivers/of/base.c | 197 +++++++- include/linux/of_graph.h | 67 +++ include/sound/hdmi-codec.h | 13 +- include/sound/simple_card.h | 11 +- include/sound/simple_card_utils.h | 92 ++++ include/sound/soc.h | 31 +- sound/soc/codecs/hdmi-codec.c | 81 +++- sound/soc/generic/Kconfig | 25 + sound/soc/generic/Makefile | 12 +- sound/soc/generic/simple-card-utils.c | 387 +++++++++++++++ sound/soc/generic/simple-card.c | 501 +++++++------------- sound/soc/generic/simple-dpcm-card.c | 323 +++++++++++++ sound/soc/generic/simple-graph-card.c | 452 ++++++++++++++++++ sound/soc/generic/simple-graph-dpcm-card.c | 409 ++++++++++++++++ sound/soc/sh/Kconfig | 8 +- sound/soc/sh/rcar/Makefile | 3 - sound/soc/sh/rcar/core.c | 318 ++++++++----- sound/soc/sh/rcar/dma.c | 11 + sound/soc/sh/rcar/dvc.c | 2 - sound/soc/sh/rcar/gen.c | 2 + sound/soc/sh/rcar/rsnd.h | 62 ++- sound/soc/sh/rcar/rsrc-card.c | 527 --------------------- sound/soc/sh/rcar/ssi.c | 27 +- sound/soc/sh/rcar/ssiu.c | 37 ++ sound/soc/soc-core.c | 39 +- 37 files changed, 3003 insertions(+), 1146 deletions(-)