diff options
author | Takashi Iwai <tiwai@suse.de> | 2007-07-23 15:41:34 +0200 |
---|---|---|
committer | Jaroslav Kysela <perex@perex.cz> | 2007-10-16 15:57:44 +0200 |
commit | b9ed4f2b68dc47b0c35c1a3ae8ae97c2517d5177 (patch) | |
tree | c967e895a8955cf5852d8155185e82316dd0beec | |
parent | [ALSA] snd-emu10k1: Add support for E-Mu 1616 PCI, 1616M PCI, 0404 PCI, E-Mu (diff) | |
download | linux-b9ed4f2b68dc47b0c35c1a3ae8ae97c2517d5177.tar.xz linux-b9ed4f2b68dc47b0c35c1a3ae8ae97c2517d5177.zip |
[ALSA] Add helper functions for frequently used callbacks
Added helper functions for frequenty used callbacks:
snd_ctl_boolean_mono_info() and snd_ctl_boolean_stereo_info()
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
-rw-r--r-- | include/sound/control.h | 8 | ||||
-rw-r--r-- | sound/core/control.c | 27 |
2 files changed, 35 insertions, 0 deletions
diff --git a/include/sound/control.h b/include/sound/control.h index 72e759f619b1..b26d4633ee2c 100644 --- a/include/sound/control.h +++ b/include/sound/control.h @@ -161,4 +161,12 @@ static inline struct snd_ctl_elem_id *snd_ctl_build_ioff(struct snd_ctl_elem_id return dst_id; } +/* + * Frequently used control callbacks + */ +int snd_ctl_boolean_mono_info(struct snd_kcontrol *kcontrol, + struct snd_ctl_elem_info *uinfo); +int snd_ctl_boolean_stereo_info(struct snd_kcontrol *kcontrol, + struct snd_ctl_elem_info *uinfo); + #endif /* __SOUND_CONTROL_H */ diff --git a/sound/core/control.c b/sound/core/control.c index 1f1ab9c1b668..396e98ed086a 100644 --- a/sound/core/control.c +++ b/sound/core/control.c @@ -1486,3 +1486,30 @@ int snd_ctl_create(struct snd_card *card) snd_assert(card != NULL, return -ENXIO); return snd_device_new(card, SNDRV_DEV_CONTROL, card, &ops); } + +/* + * Frequently used control callbacks + */ +int snd_ctl_boolean_mono_info(struct snd_kcontrol *kcontrol, + struct snd_ctl_elem_info *uinfo) +{ + uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; + uinfo->count = 1; + uinfo->value.integer.min = 0; + uinfo->value.integer.max = 1; + return 0; +} + +EXPORT_SYMBOL(snd_ctl_boolean_mono_info); + +int snd_ctl_boolean_stereo_info(struct snd_kcontrol *kcontrol, + struct snd_ctl_elem_info *uinfo) +{ + uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; + uinfo->count = 2; + uinfo->value.integer.min = 0; + uinfo->value.integer.max = 1; + return 0; +} + +EXPORT_SYMBOL(snd_ctl_boolean_stereo_info); |