ALSA: 6fire: Use snd_ctl_enum_info()

... and reduce the open codes.  Also add missing const to text arrays.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Takashi Iwai 2014-10-20 18:21:27 +02:00
parent 5fe0b0e3ea
commit c8dd33fc80

View file

@ -25,8 +25,8 @@
#include "comm.h" #include "comm.h"
#include "chip.h" #include "chip.h"
static char *opt_coax_texts[2] = { "Optical", "Coax" }; static const char * const opt_coax_texts[2] = { "Optical", "Coax" };
static char *line_phono_texts[2] = { "Line", "Phono" }; static const char * const line_phono_texts[2] = { "Line", "Phono" };
/* /*
* data that needs to be sent to device. sets up card internal stuff. * data that needs to be sent to device. sets up card internal stuff.
@ -327,14 +327,7 @@ static int usb6fire_control_input_vol_get(struct snd_kcontrol *kcontrol,
static int usb6fire_control_line_phono_info(struct snd_kcontrol *kcontrol, static int usb6fire_control_line_phono_info(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_info *uinfo) struct snd_ctl_elem_info *uinfo)
{ {
uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED; return snd_ctl_enum_info(uinfo, 1, 2, line_phono_texts);
uinfo->count = 1;
uinfo->value.enumerated.items = 2;
if (uinfo->value.enumerated.item > 1)
uinfo->value.enumerated.item = 1;
strcpy(uinfo->value.enumerated.name,
line_phono_texts[uinfo->value.enumerated.item]);
return 0;
} }
static int usb6fire_control_line_phono_put(struct snd_kcontrol *kcontrol, static int usb6fire_control_line_phono_put(struct snd_kcontrol *kcontrol,
@ -361,14 +354,7 @@ static int usb6fire_control_line_phono_get(struct snd_kcontrol *kcontrol,
static int usb6fire_control_opt_coax_info(struct snd_kcontrol *kcontrol, static int usb6fire_control_opt_coax_info(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_info *uinfo) struct snd_ctl_elem_info *uinfo)
{ {
uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED; return snd_ctl_enum_info(uinfo, 1, 2, opt_coax_texts);
uinfo->count = 1;
uinfo->value.enumerated.items = 2;
if (uinfo->value.enumerated.item > 1)
uinfo->value.enumerated.item = 1;
strcpy(uinfo->value.enumerated.name,
opt_coax_texts[uinfo->value.enumerated.item]);
return 0;
} }
static int usb6fire_control_opt_coax_put(struct snd_kcontrol *kcontrol, static int usb6fire_control_opt_coax_put(struct snd_kcontrol *kcontrol,