summaryrefslogtreecommitdiffstats
path: root/include/sound
diff options
context:
space:
mode:
authorDimitris Papastamos <dp@opensource.wolfsonmicro.com>2011-03-16 13:16:39 +0100
committerTakashi Iwai <tiwai@suse.de>2011-03-22 13:22:39 +0100
commit66b5b9722b8743f83d4c3f11f39665f5f2c40b12 (patch)
treeab927644770847a0e4a8417dcea6ed8c789017c7 /include/sound
parentALSA: es1968: add radio (tea575x tuner) support (diff)
downloadlinux-66b5b9722b8743f83d4c3f11f39665f5f2c40b12.tar.xz
linux-66b5b9722b8743f83d4c3f11f39665f5f2c40b12.zip
ALSA: Add snd_ctl_replace() to dynamically replace a control
Add a function to dynamically replace a given control. If the control does not already exist, a third parameter is used to determine whether to actually add that control. This is useful in cases where downloadable firmware at runtime can add or replace existing controls. A separate patch needs to be made to allow ALSA Mixer to render the replaced controls on the fly. Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'include/sound')
-rw-r--r--include/sound/control.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/sound/control.h b/include/sound/control.h
index e67db2869360..40423810985a 100644
--- a/include/sound/control.h
+++ b/include/sound/control.h
@@ -113,6 +113,7 @@ struct snd_kcontrol *snd_ctl_new1(const struct snd_kcontrol_new * kcontrolnew, v
void snd_ctl_free_one(struct snd_kcontrol * kcontrol);
int snd_ctl_add(struct snd_card * card, struct snd_kcontrol * kcontrol);
int snd_ctl_remove(struct snd_card * card, struct snd_kcontrol * kcontrol);
+int snd_ctl_replace(struct snd_card *card, struct snd_kcontrol *kcontrol, bool add_on_replace);
int snd_ctl_remove_id(struct snd_card * card, struct snd_ctl_elem_id *id);
int snd_ctl_rename_id(struct snd_card * card, struct snd_ctl_elem_id *src_id, struct snd_ctl_elem_id *dst_id);
int snd_ctl_activate_id(struct snd_card *card, struct snd_ctl_elem_id *id,