linux-next/sound/soc
Kuninori Morimoto 1e6a93cf74
ASoC: soc-dai: add mark for snd_soc_dai_compr_startup/shutdown()
soc_compr_open() does rollback when failed (A),
but, it is almost same as soc_compr_free().

	static int soc_compr_open(xxx)
	{
		...
		if (ret < 0)
			goto xxx_err;
		...
		return 0;

 ^	machine_err:
 |		...
 |	out:
(A)		...
 |	pm_err:
 |		...
 v		return ret;
	}

The difference is
soc_compr_free()  is for all dai/component/substream,
rollback          is for succeeded part only.

This kind of duplicated code can be a hotbed of bugs,
thus, we want to share soc_compr_free() and rollback.
=>	1) snd_soc_dai_compr_startup/shutdown()
	2) snd_soc_component_compr_open/free()
	3) snd_soc_link_compr_startup/shutdown()

This patch is for 1) snd_soc_dai_compr_startup/shutdown(),
and adds new cstream mark.
It will mark cstream when startup() was suceeded.
If rollback happen *after* that, it will check rollback flag
and marked cstream.

It cares *previous* startup() only now,
but we might want to check *whole* marked cstream in the future.
This patch is using macro so that it can be easily adjust to it.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87mtze5iwp.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2020-11-26 13:09:34 +00:00
..
adi ASoc: adi: Kconfig: Remove depends on for ADI reference designs 2020-11-17 17:08:42 +00:00
amd ASoC: amd: support other audio modes for raven 2020-10-26 18:37:06 +00:00
atmel ASoC: atmel-i2s: do not warn if muxclk is missing 2020-11-03 13:19:02 +00:00
au1x ASoC: au1x: use asoc_substream_to_rtd() 2020-07-23 19:07:36 +01:00
bcm ASoC: bcm2835-i2s: remove unneeded semicolon 2020-11-02 15:53:22 +00:00
cirrus ASoC: cirrus: use asoc_substream_to_rtd() 2020-07-23 19:07:28 +01:00
codecs ASoC: hdmi-codec: Get ELD in before reporting plugged event 2020-11-23 18:37:35 +00:00
dwc ASoC: dwc: use asoc_substream_to_rtd() 2020-07-23 19:07:34 +01:00
fsl ASoC: fsl_xcvr: fix potential resource leak 2020-11-25 12:54:43 +00:00
generic ASoC: Fix 7/8 spaces indentation in Kconfig 2020-11-17 17:08:45 +00:00
hisilicon treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
img ASoC: img-parallel-out: Fix a reference count leak 2020-06-15 20:58:35 +01:00
intel Merge series "ASoC: Intel/SOF: extend run-time driver selection to ACPI devices" from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>: 2020-11-20 16:09:39 +00:00
jz4740 ASoC: jz4740-i2s: Remove manual DMA peripheral ID assignment 2020-10-26 18:37:01 +00:00
kirkwood ASoC: kirkwood: use asoc_substream_to_rtd() 2020-07-23 19:07:41 +01:00
mediatek ASoC: mediatek: mt8192: skip first time data at the beginning of DMIC recording 2020-11-11 12:35:12 +00:00
meson ASoC: Fix 7/8 spaces indentation in Kconfig 2020-11-17 17:08:45 +00:00
mxs ASoC: mxs: use asoc_substream_to_rtd() 2020-07-23 19:07:43 +01:00
pxa ASoC: mmp-sspa: set phase two word length register 2020-11-20 13:49:08 +00:00
qcom ASoC: qcom: sm8250: fix HDMI audio playback 2020-11-20 16:08:38 +00:00
rockchip Linux 5.9-rc5 2020-10-06 16:19:24 +01:00
samsung ASoC: samsung: fix platform_no_drv_owner.cocci warnings 2020-11-18 18:00:24 +00:00
sh ASoC: sh: depend on COMMON_CLK to fix compile tests 2020-11-23 20:39:47 +00:00
sirf ASoC: sirf: use devm_platform_ioremap_resource() to simplify code 2019-07-31 12:05:39 +01:00
sof ASoC: SOF: Add memory_info file to debugfs 2020-11-25 11:07:17 +00:00
spear ASoC: spear: merge .digital_mute() into .mute_stream() 2020-07-16 23:06:08 +01:00
sprd ASoC: various vendors: delete repeated words in comments 2020-08-18 14:52:32 +01:00
sti ASoC: sti: uniperif: fix 'defined by not used' warning 2020-07-10 15:13:44 +01:00
stm ASoC: stm: depend on COMMON_CLK to fix compile tests 2020-11-23 20:39:48 +00:00
sunxi ASoC: sunxi: do not select COMMON_CLK to fix builds 2020-11-19 13:00:01 +00:00
tegra ASoC: tegra: Don't warn on probe deferral 2020-11-11 12:35:10 +00:00
ti ASoC: ti: depend on COMMON_CLK to fix compile tests 2020-11-23 20:39:49 +00:00
txx9 ASoC: txx9: Replace tasklet with work 2020-09-09 15:42:10 +01:00
uniphier ASoC: uniphier: use asoc_substream_to_rtd() 2020-07-23 19:07:43 +01:00
ux500 ASoC: ux500: use asoc_substream_to_rtd() 2020-07-23 19:07:20 +01:00
xilinx sound: remove duplicate "the the" phrase in Kconfig text 2020-08-18 14:52:43 +01:00
xtensa ASoC: xtensa: use asoc_substream_to_rtd() 2020-07-23 19:07:42 +01:00
zte treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
Kconfig treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
Makefile ASoC: soc-component: merge soc-io.c into soc-component.c 2020-06-15 18:21:26 +01:00
soc-ac97.c ASoC: soc-ac97: fix kernel-doc 2020-07-03 17:33:46 +01:00
soc-acpi.c ASoC: soc-acpi: fix implicit header use of module.h/export.h 2019-05-08 18:06:28 +09:00
soc-card.c ASoC: soc-card: add snd_soc_card_remove_dai_link() 2020-05-30 02:11:42 +01:00
soc-component.c ASoC: soc-component: add snd_soc_component_compr_get_metadata() 2020-11-18 18:00:17 +00:00
soc-compress.c ASoC: soc-dai: add mark for snd_soc_dai_compr_startup/shutdown() 2020-11-26 13:09:34 +00:00
soc-core.c ASoC: soc-core: Fix component name_prefix parsing 2020-11-10 17:28:18 +00:00
soc-dai.c ASoC: soc-dai: add mark for snd_soc_dai_compr_startup/shutdown() 2020-11-26 13:09:34 +00:00
soc-dapm.c Merge series "ASoC: merge soc_pcm_hw_param() rollback and soc_pcm_hw_free()" from Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>: 2020-10-26 18:37:15 +00:00
soc-devres.c ASoC: core: Remove only the registered component in devm functions 2020-07-07 11:55:46 +01:00
soc-generic-dmaengine-pcm.c ASoC: dmaengine: Document support for TX only or RX only streams 2020-10-09 15:11:20 +01:00
soc-jack.c ASoC: soc-card: move snd_soc_card_jack_new() to soc-card 2020-05-30 02:11:28 +01:00
soc-link.c ASoC: soc-link: add mark for snd_soc_link_hw_params/free() 2020-10-26 16:44:15 +00:00
soc-ops.c ASoC: soc-component: merge snd_soc_component_read() and snd_soc_component_read32() 2020-06-22 15:13:36 +01:00
soc-pcm.c ASoC: pcm: call snd_soc_dapm_stream_stop() in soc_pcm_hw_clean 2020-11-19 13:00:05 +00:00
soc-topology.c ASoC: topology: use inclusive language for bclk and fsync 2020-11-13 14:22:05 +00:00
soc-utils.c ASoC: soc-xxx: add asoc_substream_to_rtd() 2020-07-23 19:07:19 +01:00