diff options
author | Dimitris Papastamos <dp@opensource.wolfsonmicro.com> | 2011-03-16 12:16:39 +0000 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2011-03-22 13:22:39 +0100 |
commit | 66b5b9722b8743f83d4c3f11f39665f5f2c40b12 (patch) | |
tree | ab927644770847a0e4a8417dcea6ed8c789017c7 /include | |
parent | 1872f589951caee1afd7cd2ea6729ac892de9ddf (diff) | |
download | lwn-66b5b9722b8743f83d4c3f11f39665f5f2c40b12.tar.gz lwn-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')
-rw-r--r-- | include/sound/control.h | 1 |
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, |