Hi Mark Current ASoC can use DPCM, and we need to set dpcm_playback/capture to use it. OTOH, we are using playback/capture_only flag on Normal/Codec2Codec case. I think it is very duplicated, we can share same rules for all cases. This patch-set cleanup these. 1 - 7 : cleanup functions. 8 : main patch 9 - 19 : replace flags on each drivers 20 : remove old flags Kuninori Morimoto (20): 1 ASoC: soc-pcm.c: indicate error if stream has no playback no capture 2 ASoC: soc-pcm.c: use dai_link on soc_get_playback_capture() 3 ASoC: soc-pcm.c: cleanup soc_get_playback_capture() error 4 ASoC: soc-pcm.c: use temporary variable at soc_get_playback_capture() 5 ASoC: soc-pcm.c: tidyup playback/capture_only at soc_get_playback_capture() 6 ASoC: soc-pcm.c: cleanup normal connection loop at soc_get_playback_capture() part1 7 ASoC: soc-pcm.c: cleanup normal connection loop at soc_get_playback_capture() part2 8 ASoC: soc-pcm.c: cleanup soc_get_playback_capture() 9 ASoC: amd: replace dpcm_playback/capture to playback/capture_only 10 ASoC: fsl: replace dpcm_playback/capture to playback/capture_only 11 ASoC: sof: replace dpcm_playback/capture to playback/capture_only 12 ASoC: meson: replace dpcm_playback/capture to playback/capture_only 13 ASoC: Intel: replace dpcm_playback/capture to playback/capture_only 14 ASoC: samsung: replace dpcm_playback/capture to playback/capture_only 15 ASoC: mediatek: replace dpcm_playback/capture to playback/capture_only 16 ASoC: soc-dai.c: replace dpcm_playback/capture to playback/capture_only 17 ASoC: soc-core.c: replace dpcm_playback/capture to playback/capture_only 18 ASoC: soc-topology.c: replace dpcm_playback/capture to playback/capture_only 19 ASoC: soc-compress.c: replace dpcm_playback/capture to playback/capture_only 20 ASoC: soc-pcm.c: remove dpcm_playback/capture include/sound/soc.h | 4 - sound/soc/amd/acp-da7219-max98357a.c | 20 ++-- sound/soc/amd/acp-es8336.c | 2 - sound/soc/amd/acp/acp-mach-common.c | 20 +--- sound/soc/amd/acp3x-rt5682-max9836.c | 6 +- sound/soc/amd/vangogh/acp5x-mach.c | 3 - sound/soc/fsl/fsl-asoc-card.c | 16 +-- sound/soc/fsl/imx-audmix.c | 6 +- sound/soc/fsl/imx-card.c | 4 +- sound/soc/intel/avs/boards/da7219.c | 2 - sound/soc/intel/avs/boards/dmic.c | 4 +- sound/soc/intel/avs/boards/hdaudio.c | 4 - sound/soc/intel/avs/boards/i2s_test.c | 2 - sound/soc/intel/avs/boards/max98357a.c | 2 +- sound/soc/intel/avs/boards/max98373.c | 2 - sound/soc/intel/avs/boards/max98927.c | 2 - sound/soc/intel/avs/boards/nau8825.c | 2 - sound/soc/intel/avs/boards/rt274.c | 2 - sound/soc/intel/avs/boards/rt286.c | 2 - sound/soc/intel/avs/boards/rt298.c | 2 - sound/soc/intel/avs/boards/rt5682.c | 2 - sound/soc/intel/avs/boards/ssm4567.c | 2 - sound/soc/intel/boards/bdw-rt5650.c | 4 - sound/soc/intel/boards/bdw-rt5677.c | 4 - sound/soc/intel/boards/bdw_rt286.c | 10 +- sound/soc/intel/boards/bxt_da7219_max98357a.c | 32 +++--- sound/soc/intel/boards/bxt_rt298.c | 26 ++--- sound/soc/intel/boards/bytcht_cx2072x.c | 6 +- sound/soc/intel/boards/bytcht_da7213.c | 6 +- sound/soc/intel/boards/bytcht_es8316.c | 6 +- sound/soc/intel/boards/bytcht_nocodec.c | 6 +- sound/soc/intel/boards/bytcr_rt5640.c | 6 +- sound/soc/intel/boards/bytcr_rt5651.c | 6 +- sound/soc/intel/boards/bytcr_wm5102.c | 6 +- sound/soc/intel/boards/cht_bsw_max98090_ti.c | 6 +- sound/soc/intel/boards/cht_bsw_nau8824.c | 6 +- sound/soc/intel/boards/cht_bsw_rt5645.c | 6 +- sound/soc/intel/boards/cht_bsw_rt5672.c | 6 +- sound/soc/intel/boards/cml_rt1011_rt5682.c | 14 +-- sound/soc/intel/boards/ehl_rt5660.c | 14 +-- sound/soc/intel/boards/glk_rt5682_max98357a.c | 30 +++-- sound/soc/intel/boards/hsw_rt5640.c | 10 +- sound/soc/intel/boards/kbl_da7219_max98357a.c | 26 ++--- sound/soc/intel/boards/kbl_da7219_max98927.c | 54 ++++----- sound/soc/intel/boards/kbl_rt5660.c | 18 ++- sound/soc/intel/boards/kbl_rt5663_max98927.c | 44 ++++--- .../intel/boards/kbl_rt5663_rt5514_max98927.c | 22 ++-- sound/soc/intel/boards/skl_hda_dsp_common.c | 14 +-- .../soc/intel/boards/skl_nau88l25_max98357a.c | 26 ++--- sound/soc/intel/boards/skl_nau88l25_ssm4567.c | 26 ++--- sound/soc/intel/boards/skl_rt286.c | 26 ++--- sound/soc/intel/boards/sof_cs42l42.c | 12 +- sound/soc/intel/boards/sof_da7219_max98373.c | 16 +-- sound/soc/intel/boards/sof_es8336.c | 8 +- sound/soc/intel/boards/sof_nau8825.c | 12 +- sound/soc/intel/boards/sof_pcm512x.c | 8 +- sound/soc/intel/boards/sof_rt5682.c | 12 +- sound/soc/intel/boards/sof_sdw.c | 4 +- sound/soc/intel/boards/sof_ssp_amp.c | 11 +- sound/soc/intel/boards/sof_wm8804.c | 2 - sound/soc/mediatek/mt2701/mt2701-cs42448.c | 20 +--- sound/soc/mediatek/mt2701/mt2701-wm8960.c | 6 +- sound/soc/mediatek/mt6797/mt6797-mt6351.c | 24 ++-- sound/soc/mediatek/mt8173/mt8173-max98090.c | 6 +- .../mediatek/mt8173/mt8173-rt5650-rt5514.c | 6 +- .../mediatek/mt8173/mt8173-rt5650-rt5676.c | 10 +- sound/soc/mediatek/mt8173/mt8173-rt5650.c | 10 +- .../mediatek/mt8183/mt8183-da7219-max98357.c | 34 +++--- .../mt8183/mt8183-mt6358-ts3a227-max98357.c | 34 +++--- .../mt8186/mt8186-mt6366-da7219-max98357.c | 86 ++++++-------- .../mt8186/mt8186-mt6366-rt1019-rt5682s.c | 86 ++++++-------- sound/soc/mediatek/mt8188/mt8188-mt6359.c | 48 ++++---- .../mt8192/mt8192-mt6359-rt1015-rt5682.c | 78 ++++++------- sound/soc/mediatek/mt8195/mt8195-mt6359.c | 60 +++++----- sound/soc/meson/axg-card.c | 8 +- sound/soc/meson/meson-card-utils.c | 4 +- sound/soc/samsung/odroid.c | 10 +- sound/soc/soc-compress.c | 11 +- sound/soc/soc-core.c | 20 +--- sound/soc/soc-dai.c | 4 +- sound/soc/soc-pcm.c | 107 +++++++----------- sound/soc/soc-topology-test.c | 2 - sound/soc/soc-topology.c | 4 +- sound/soc/sof/nocodec.c | 4 - 84 files changed, 502 insertions(+), 842 deletions(-) -- 2.25.1