Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ALSA: azt3328: Use snd_ctl_enum_info()

... and reduce the open codes.

Signed-off-by: Takashi Iwai <tiwai@suse.de>

+4 -9
+4 -9
sound/pci/azt3328.c
··· 1034 1034 const char * const *p = NULL; 1035 1035 1036 1036 snd_azf3328_mixer_reg_decode(&reg, kcontrol->private_value); 1037 - uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED; 1038 - uinfo->count = (reg.reg == IDX_MIXER_REC_SELECT) ? 2 : 1; 1039 - uinfo->value.enumerated.items = reg.enum_c; 1040 - if (uinfo->value.enumerated.item > reg.enum_c - 1U) 1041 - uinfo->value.enumerated.item = reg.enum_c - 1U; 1042 1037 if (reg.reg == IDX_MIXER_ADVCTL2) { 1043 1038 switch(reg.lchan_shift) { 1044 1039 case 8: /* modem out sel */ ··· 1046 1051 p = texts4; 1047 1052 break; 1048 1053 } 1049 - } else 1050 - if (reg.reg == IDX_MIXER_REC_SELECT) 1054 + } else if (reg.reg == IDX_MIXER_REC_SELECT) 1051 1055 p = texts3; 1052 1056 1053 - strcpy(uinfo->value.enumerated.name, p[uinfo->value.enumerated.item]); 1054 - return 0; 1057 + return snd_ctl_enum_info(uinfo, 1058 + (reg.reg == IDX_MIXER_REC_SELECT) ? 2 : 1, 1059 + reg.enum_c, p); 1055 1060 } 1056 1061 1057 1062 static int