linux/sound/soc
Kuninori Morimoto c12c1aad98 ASoC: soc-core: verify Sound Card normality
Current ALSA SoC Sound Card basically consists of CPU/Codec/Platform
components. If system uses Kernel modules, we can disable these drivers
by using rmmod command. In such case, we can't disable
CPU/Codec/Platform driver without disabling Sound Card driver.

But on the other hand, we can disable these drivers by using unbind
command. In such case, we can disable these drivers randomly.
In this case, we can create dirty Sound Card which is missing necessary
components.

(1) If user disabled Sound Card first, but did nothing to other drivers,
user can't use Sound because Sound Card is no longer exists.
(2) If user disabled CPU/Codec/Platform driver randomly, but did nothing
to Sound Card, user still be able to use Sound Card, because dirty Sound
Card still exists. In this case, Sound system will be crashed if user
started sound playback/capture. But we can't block such random unbind
now.

To avoid Sound Card crash in (2) case, we need to unregister Sound Card
whenever CPU/Codec/Platform component were unregistered.
This patch solves this issue.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2017-04-05 18:24:07 +01:00
..
adi
amd ASoC: constify snd_pcm_ops structures 2016-09-12 20:04:09 +01:00
atmel ASoC: atmel: tse850: add ASoC driver for the Axentia TSE-850 2016-11-16 11:12:42 +00:00
au1x ASoC: au1x: use correct format specifier 2016-04-13 06:39:36 +01:00
bcm ASoC: bcm: add depends on HAS_DMA 2016-11-02 14:57:05 -06:00
blackfin
cirrus
codecs Merge remote-tracking branches 'asoc/topic/wm9712', 'asoc/topic/wm9713' and 'asoc/topic/zte' into asoc-next 2016-12-12 15:53:32 +00:00
davinci ASoC: davinci-mcasp: off-by-one in davinci_mcasp_hw_rule_format() 2016-09-01 20:56:30 +01:00
dwc ASoC: dwc: Drop DMA channel names assignment 2016-08-08 11:54:50 +01:00
fsl Merge remote-tracking branches 'asoc/topic/stac9766', 'asoc/topic/sti', 'asoc/topic/sti-codec', 'asoc/topic/sunxi' and 'asoc/topic/tegra' into asoc-next 2016-12-12 15:53:21 +00:00
generic Merge remote-tracking branches 'asoc/topic/rt5665', 'asoc/topic/rt5670', 'asoc/topic/rt5677', 'asoc/topic/samsung' and 'asoc/topic/simple' into asoc-next 2016-12-12 15:53:18 +00:00
img ASoC: codec duplicated callback function goes to component on pistachio-internal-dac 2016-08-08 11:57:57 +01:00
intel Merge remote-tracking branches 'asoc/topic/compress', 'asoc/topic/const' and 'asoc/topic/cs35l34' into asoc-next 2016-12-12 15:52:51 +00:00
jz4740
kirkwood ASoC: constify snd_soc_ops structures 2016-10-24 18:34:55 +01:00
mediatek ASoC: mediatek: mark symbols static where possible 2016-08-11 15:02:28 +01:00
mxs Merge remote-tracking branches 'asoc/topic/dpcm', 'asoc/topic/es8328', 'asoc/topic/extcon' and 'asoc/topic/fsl' into asoc-next 2016-12-12 15:52:58 +00:00
nuc900 dma, mm/pat: Rename dma_*_writecombine() to dma_*_wc() 2016-03-09 14:57:51 +01:00
omap ASoC: omap-pcm: off-by-one in 'omap_pcm_limit_supported_formats' 2016-09-01 20:56:16 +01:00
pxa Merge remote-tracking branches 'asoc/topic/wm9712', 'asoc/topic/wm9713' and 'asoc/topic/zte' into asoc-next 2016-12-12 15:53:32 +00:00
qcom Merge remote-tracking branches 'asoc/topic/of-graph', 'asoc/topic/pxa', 'asoc/topic/qcom' and 'asoc/topic/rk808' into asoc-next 2016-12-12 15:53:07 +00:00
rockchip ASoC: rockchip: constify snd_soc_ops structures 2016-10-24 18:33:17 +01:00
samsung Merge remote-tracking branches 'asoc/topic/rt5665', 'asoc/topic/rt5670', 'asoc/topic/rt5677', 'asoc/topic/samsung' and 'asoc/topic/simple' into asoc-next 2016-12-12 15:53:18 +00:00
sh ASoC: rsnd: setup BRGCKR/BRRA/BRRB when starting 2016-12-07 15:47:45 +00:00
sirf
spear
sti Merge remote-tracking branches 'asoc/topic/stac9766', 'asoc/topic/sti', 'asoc/topic/sti-codec', 'asoc/topic/sunxi' and 'asoc/topic/tegra' into asoc-next 2016-12-12 15:53:21 +00:00
sunxi ASoC: sun4i-codec: Add support for H3 codec 2016-11-30 18:06:51 +00:00
tegra ASoC: tegra: constify snd_soc_ops structures 2016-10-24 18:34:41 +01:00
txx9
ux500 ASoC: ux500: fix spelling mistake "Unsopported" -> "Unsupported" 2016-09-03 11:59:37 +01:00
xtensa
zte ASoC: zte: spdif: correct ZX_SPDIF_CLK_RAT define 2016-12-08 16:09:44 +00:00
Kconfig
Makefile
soc-ac97.c ASoC: ac97: constify gpio_chip structures 2016-09-12 20:04:28 +01:00
soc-cache.c
soc-compress.c ASoC: compress: Add support for compress dai ops 2016-11-13 09:35:35 +00:00
soc-core.c ASoC: soc-core: verify Sound Card normality 2017-04-05 18:24:07 +01:00
soc-dapm.c ASoC: dapm: Implement stereo mixer control support 2016-11-02 09:55:28 -06:00
soc-devres.c
soc-generic-dmaengine-pcm.c ASoC: Drop SND_DMAENGINE_PCM_FLAG_CUSTOM_CHANNEL_NAME flag 2016-10-25 20:22:53 +01:00
soc-io.c
soc-jack.c
soc-ops.c ASoC: core: fix shift used for second item in snd_soc_get_enum_double 2016-09-01 20:58:05 +01:00
soc-pcm.c ASoC: Make return type of dpcm_state_string() const char * 2016-11-22 16:45:46 +00:00
soc-topology.c ASoC: topology: avoid uninitialized kcontrol_type 2016-12-12 15:43:02 +00:00
soc-utils.c ASoC: core: Add component pin control functions 2016-11-30 17:16:09 +00:00