linux/sound/soc
Kuninori Morimoto 1d76898928
ASoC: soc-core: allow no Platform on dai_link
dai_link is used to selecting Component (= CPU/Codec/Platform) and
DAI (= CPU/Codec). And selected CPU/Codec/Platform components are
*listed* on Card.

Many drivers don't need special Platform component, but was
mandatory at legacy style ALSA SoC.
Thus, there is this kind of settings on many drivers.

	dai_link->platform_of_node = dai_link->cpu_of_node;

In this case, soc_bind_dai_link() will pick-up "CPU component" as
"Platform component", and try to add it to snd_soc_pcm_runtime.
But it will be ignored, because it is already added when CPU bindings.

Historically, this kind of "CPU component" is used/selected as
"Platform" on many ALSA SoC drivers.
OTOH, Dummy Platform will be selected automatically by ALSA SoC if
driver doesn't have Platform settings.

These indicates that there are 2 type of Platforms exist at current
ALSA SoC if driver doesn't need special Platform.

	1) use Dummy Platform as Platform component
	2) use CPU component  as Platform component

ALSA SoC will call Dummy Platform callback function if it is using
Dummy Platform, but it is completely pointless. Because it is the
sound card which doesn't need special Platform.

Thus, the behavior we request to ALSA SoC is selecting 2) automatically
instead of 1) if sound card doesn't need special Platform.
And, 2) means "do nothing" as above explain.

These were needed at legacy style dai_link, but is no longer needed
at modern style dai_link anymore.

This patch allows "no Platform" settings on dai_link, and will do
nothing for it if there was no platform settings. This is same as 2).

By this patch, all drivers which is selecting "CPU component" as
"Platform" can remove such settings.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2019-06-19 12:47:03 +01:00
..
adi ASoC: axi-i2s: let both capture and playback be optional 2019-03-11 17:17:38 +00:00
amd ASoC: amd: acp-rt5645: use modern dai_link style 2019-06-06 21:38:04 +01:00
atmel ASoC: atmel: atmel-classd: use modern dai_link style 2019-06-06 21:39:50 +01:00
au1x ASoC: au1x: db1200: use modern dai_link style 2019-06-06 21:40:19 +01:00
bcm ASoC: bcm: use devm_snd_soc_register_component() 2018-09-10 15:13:12 +01:00
cirrus ASoC: cirrus: snappercl15: use modern dai_link style 2019-06-06 21:40:58 +01:00
codecs ASoC: rt5677: handle concurrent interrupts 2019-06-19 12:46:44 +01:00
dwc ASoC: dwc: Drop superfluous PCM preallocation error checks 2019-02-06 18:28:59 +01:00
fsl ASoC: fsl: no need to check return value of debugfs_create functions 2019-06-14 16:37:48 +01:00
generic ASoC: simple-card: support snd_soc_dai_link_component style for cpu 2019-06-06 21:22:17 +01:00
hisilicon ASoC: hisilicon: fix fall-through annotations 2018-09-17 10:30:23 -07:00
img treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
intel ASoC: Intel: sof-rt5682: correct naming for dmic16k 2019-06-19 11:59:11 +01:00
jz4740 ASoC: jz4740: qi_lb60: use modern dai_link style 2019-06-06 21:44:15 +01:00
kirkwood ASoC: kirkwood: armada-370-db: use modern dai_link style 2019-06-06 21:35:19 +01:00
mediatek ASoC: Add missing newline at end of file 2019-06-17 16:18:13 +01:00
meson ASoC: meson: axg-tdm: consistently use SND_SOC_DAIFMT defines 2019-06-13 19:46:31 +01:00
mxs ASoC: mxs: mxs-sgtl5000: use modern dai_link style 2019-06-06 21:44:52 +01:00
nuc900 ASoC: nuc900: nuc900-audio: use modern dai_link style 2019-06-06 21:45:11 +01:00
pxa ASoC: pxa: poodle: use modern dai_link style 2019-06-06 21:35:09 +01:00
qcom ASoC: qcom: common: Fix NULL pointer in of parser 2019-06-19 12:04:24 +01:00
rockchip ASoC: rockchip: pdm: select CONFIG_RATIONAL 2019-06-17 13:35:21 +01:00
samsung ASoC: samsung: jive_wm8750: use modern dai_link style 2019-06-06 21:32:13 +01:00
sh ASoC: rsnd: fixup mod ID calculation in rsnd_ctu_probe_ 2019-06-18 19:17:39 +01:00
sirf ASoC: sirf: sirf-audio: use modern dai_link style 2019-06-06 22:06:59 +01:00
sof ASoC: SOF: disallow building without CONFIG_PCI again 2019-06-17 15:48:48 +01:00
spear
sprd ASoC: sprd: Add reserved DMA memory support 2019-05-06 22:48:03 +09:00
sti ASoC: sti: Use snd_pcm_stop_xrun() helper 2018-07-04 15:41:35 +01:00
stm ASoC: stm32: sai: manage identification registers 2019-06-03 17:46:11 +01:00
sunxi Merge branch 'asoc-5.2' into asoc-5.3 2019-06-06 22:44:24 +01:00
tegra ASoC: Add missing newline at end of file 2019-06-17 16:18:13 +01:00
ti ASoC: ti: davinci-mcasp: Support for auxclk-fs-ratio 2019-06-12 13:53:44 +01:00
txx9 ASoC: txx9: txx9aclc-generic: use modern dai_link style 2019-06-06 22:07:55 +01:00
uniphier ASoC: uniphier: Drop superfluous PCM preallocation error checks 2019-02-06 18:29:39 +01:00
ux500 ASoC: ux500: mop500: use modern dai_link style 2019-06-06 22:07:20 +01:00
xilinx ASoC: xlnx: fix up for snd_pcm_lib_preallocate_pages_for_all() API change 2019-02-08 14:23:54 +01:00
xtensa ASoC: xtensa: Drop superfluous PCM preallocation error checks 2019-02-06 18:29:44 +01:00
zte ASoC: zte: Fix incorrect PCM format bit usages 2018-07-26 15:48:19 +01:00
Kconfig ASoC: SOF: Add Build support for SOF core and Intel drivers 2019-04-28 02:51:46 +09:00
Makefile ASoC: SOF: Add Build support for SOF core and Intel drivers 2019-04-28 02:51:46 +09:00
soc-ac97.c ASoC: ac97: convert to SPDX identifiers 2018-07-02 10:56:09 +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-compress.c ASoC: compress: Add helper functions for component trigger/set_params 2019-02-06 15:51:04 +00:00
soc-core.c ASoC: soc-core: allow no Platform on dai_link 2019-06-19 12:47:03 +01:00
soc-dapm.c Merge branch 'asoc-5.2' into asoc-5.3 2019-05-30 16:47:43 +01:00
soc-devres.c ASoC: soc-devres.c: convert to SPDX identifiers 2018-07-02 10:55:22 +01:00
soc-generic-dmaengine-pcm.c ASoC: More changes for v5.1 2019-02-28 13:30:55 +01:00
soc-io.c ASoC: soc-io.c: convert to SPDX identifiers 2018-07-02 10:53:55 +01:00
soc-jack.c ASoC: soc-jack.c: convert to SPDX identifiers 2018-07-02 10:55:12 +01:00
soc-ops.c ASoC: Fix UBSAN warning at snd_soc_get/put_volsw_sx() 2018-09-11 11:58:52 +01:00
soc-pcm.c Merge branch 'for-5.2' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-5.3 2019-05-21 22:00:33 +01:00
soc-topology.c ASoC: soc-topology: fix modern dai link style 2019-06-13 19:47:14 +01:00
soc-utils.c ASoC: soc-utils: Rename dummy_dma_ops to snd_dummy_dma_ops 2018-09-27 23:15:46 +01:00