ASoC: core: Use snd_ctl_enum_info()
authorTakashi Iwai <tiwai@suse.de>
Tue, 21 Oct 2014 10:14:56 +0000 (12:14 +0200)
committerMark Brown <broonie@kernel.org>
Wed, 22 Oct 2014 10:04:55 +0000 (11:04 +0100)
... and reduce the open codes.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/soc-core.c

index 4c8f8a2..96ecdc3 100644 (file)
@@ -2348,16 +2348,8 @@ int snd_soc_info_enum_double(struct snd_kcontrol *kcontrol,
 {
        struct soc_enum *e = (struct soc_enum *)kcontrol->private_value;
 
-       uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED;
-       uinfo->count = e->shift_l == e->shift_r ? 1 : 2;
-       uinfo->value.enumerated.items = e->items;
-
-       if (uinfo->value.enumerated.item >= e->items)
-               uinfo->value.enumerated.item = e->items - 1;
-       strlcpy(uinfo->value.enumerated.name,
-               e->texts[uinfo->value.enumerated.item],
-               sizeof(uinfo->value.enumerated.name));
-       return 0;
+       return snd_ctl_enum_info(uinfo, e->shift_l == e->shift_r ? 1 : 2,
+                                e->items, e->texts);
 }
 EXPORT_SYMBOL_GPL(snd_soc_info_enum_double);