ALSA: PCM - Add PCM creation API for internal PCMs.
authorLiam Girdwood <lrg@ti.com>
Wed, 8 Feb 2012 20:33:31 +0000 (20:33 +0000)
committerTakashi Iwai <tiwai@suse.de>
Thu, 9 Feb 2012 08:20:22 +0000 (09:20 +0100)
commit945e5038455fef18e73914c149717878d78cb4c0
treed3ea8e7c0bd087afda16ed6b7fa145eb8c00bb68
parent62aa2b537c6f5957afd98e29f96897419ed5ebab
ALSA: PCM - Add PCM creation API for internal PCMs.

The new ASoC dynamic PCM core needs to create PCMs and substreams that are
for use by internal ASoC drivers only and not visible to userspace for
direct IO. These new PCMs are similar to regular PCMs expect they have no
device nodes or procfs entries. The ASoC component drivers use them in exactly
the same way as regular PCMs for PCM and DAI operations.

The intention is that a dynamic PCM based driver will register both regular
PCMs and internal PCMs. The regular PCMs will be used for all IO with userspace
however the internal PCMs will be used by the driver to route digital audio
through numerous back end DAI links (with potentially a DSP providing different
hw_params, DAI formats based on the regular front end PCM params) to devices
like CODECs, MODEMs, Bluetooth, FM, DMICs, etc

This patch adds a new snd_pcm_new_internal() API call to create the internal PCM
without device nodes or procfs. It also adds adds a new internal flag to snd_pcm.

[fixed minor coding-style issues by tiwai]

Signed-off-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
include/sound/pcm.h
sound/core/pcm.c