Hi Mark Current ALSA SoC is handling dai_link related operation, but it is implmemented directly without using function/macro, and at random place. This patch-set creates new snd_soc_link_xxx() functions which handle dai_link related operation, and implmement these at new soc-link.c. Kuninori Morimoto (7): ASoC: add soc-link.c ASoC: soc-link: move soc_rtd_xxx() ASoC: soc-link: remove unneeded parameter from snd_soc_link_xxx() ASoC: soc-link: add snd_soc_link_be_hw_params_fixup() ASoC: soc-link: add snd_soc_link_compr_startup() ASoC: soc-link: add snd_soc_link_compr_shutdown() ASoC: soc-link: add snd_soc_link_compr_set_params() include/sound/soc-link.h | 30 ++++++++ include/sound/soc.h | 1 + sound/soc/Makefile | 2 +- sound/soc/soc-compress.c | 45 ++++-------- sound/soc/soc-core.c | 17 +++-- sound/soc/soc-dai.c | 8 +-- sound/soc/soc-link.c | 149 +++++++++++++++++++++++++++++++++++++++ sound/soc/soc-pcm.c | 86 ++++------------------ 8 files changed, 220 insertions(+), 118 deletions(-) create mode 100644 include/sound/soc-link.h create mode 100644 sound/soc/soc-link.c -- 2.17.1