[alsa-devel] [PATCH] ASOC:DAPM: extend dapm kcontrol to support runtime route update
Takashi Iwai
tiwai at suse.de
Thu Dec 12 17:52:59 CET 2013
At Thu, 12 Dec 2013 16:06:59 +0800,
Nenghua Cao wrote:
>
> From: nhcao <nhcao at 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 at 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
More information about the Alsa-devel
mailing list