At Thu, 12 Dec 2013 16:06:59 +0800, Nenghua Cao wrote:
From: nhcao nhcao@marvell.com
DPCM can dynamically alter the FE to BE PCM links at runtime based
on mixer setting updates. DAPM has provided common get/put function for mixer/mux. But these function doesn't call soc_dpcm_runtime_update() func to update pcm links. This patch defines a DPCM DPCM kcontrol. For this control, the common get/put function will update FE to BE links dynamically. This patch has no impact to the current code.
Change-Id: I45e291f467e4fa17e21aa8923c2b712d52067aca
Don't include such an internal tag in the public patch.
Signed-off-by: nhcao nhcao@marvell.com
You have to provide your real name in from and signed-off-by tags.
include/sound/control.h | 4 ++++ include/sound/soc-dapm.h | 32 ++++++++++++++++++++++++++++++++ sound/core/control.c | 1 + sound/soc/soc-dapm.c | 28 ++++++++++++++++++++++++---- 4 files changed, 61 insertions(+), 4 deletions(-)
diff --git a/include/sound/control.h b/include/sound/control.h index 5358892..3788284 100644 --- a/include/sound/control.h +++ b/include/sound/control.h @@ -44,6 +44,8 @@ struct snd_kcontrol_new { unsigned int index; /* index of item */ unsigned int access; /* access rights */ unsigned int count; /* count of same elements */
- /* this kcontrol impact fe<->be relationship at runtime */
- unsigned char dpcm_checked; snd_kcontrol_info_t *info; snd_kcontrol_get_t *get; snd_kcontrol_put_t *put;
@@ -63,6 +65,8 @@ struct snd_kcontrol { struct list_head list; /* list of controls */ struct snd_ctl_elem_id id; unsigned int count; /* count of same elements */
- /* this kcontrol impact fe<->be relationship at runtime */
- unsigned char dpcm_checked; snd_kcontrol_info_t *info; snd_kcontrol_get_t *get; snd_kcontrol_put_t *put;
You don't need to extend the ALSA core API for such a purpose. It's ASoC-specific, so rather extend struct soc_mixer_control instead, if such a new flag is really needed.
Takashi