This series is a continuation to the SOF IPC abstraction work to support the new IPC version introduced in the SOF firmware. It makes the top-level control IO, PCM and PM code IPC-agnostic. Other than the first patch, the rest are purely for abstraction and include no changes in functionality. Ranjani Sridharan (19): ASoC: SOF: set up scheduler widget before all other widgets in the pipeline ASoC: SOF: Make sof_widget_setup/free IPC agnostic ASoC: SOF: Make sof_suspend/resume IPC agnostic ASoC: SOF: Introduce IPC ops for kcontrol IO ASoC: SOF: Add IPC3 topology control ops ASoC: SOF: Add volume_get/put IPC3 ops ASoC: SOF: Add switch get/put IPC3 ops ASoC: SOF: Add enum_get/put control ops for IPC3 ASoC: SOF: Add bytes_get/put control IPC ops for IPC3 ASoC: SOF: Add bytes_ext control IPC ops for IPC3 ASoC: SOF: Introduce IPC-specific PCM ops ASoC: SOF: pcm: expose the sof_pcm_setup_connected_widgets() function ASoC: SOF: Introduce IPC3 PCM hw_free op ASoC: SOF: Define hw_params PCM op for IPC3 ASoC: SOF: Add trigger PCM op for IPC3 ASoC: SOF: Add dai_link_fixup PCM op for IPC3 ASoC: SOF: expose sof_route_setup() ASoC: SOF: topology: Add ops for setting up and tearing down pipelines ASoC: SOF: Add a new dai_get_clk topology IPC op sound/soc/sof/Makefile | 2 +- sound/soc/sof/control.c | 545 ++++--------------------------- sound/soc/sof/intel/hda-dai.c | 97 +----- sound/soc/sof/intel/hda.c | 169 +++------- sound/soc/sof/intel/hda.h | 7 +- sound/soc/sof/ipc.c | 10 +- sound/soc/sof/ipc3-control.c | 594 ++++++++++++++++++++++++++++++++++ sound/soc/sof/ipc3-ops.h | 21 ++ sound/soc/sof/ipc3-pcm.c | 372 +++++++++++++++++++++ sound/soc/sof/ipc3-topology.c | 384 +++++++++++++++++++++- sound/soc/sof/ipc3.c | 45 +++ sound/soc/sof/pcm.c | 354 +++----------------- sound/soc/sof/pm.c | 80 ++--- sound/soc/sof/sof-audio.c | 442 +++++-------------------- sound/soc/sof/sof-audio.h | 70 +++- sound/soc/sof/sof-priv.h | 17 +- sound/soc/sof/topology.c | 55 ++-- 17 files changed, 1805 insertions(+), 1459 deletions(-) create mode 100644 sound/soc/sof/ipc3-control.c create mode 100644 sound/soc/sof/ipc3-ops.h create mode 100644 sound/soc/sof/ipc3-pcm.c create mode 100644 sound/soc/sof/ipc3.c -- 2.25.1