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

ALSA: vx: Use snd_ctl_elem_info()

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

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

+8 -27
+8 -27
sound/drivers/vx/vx_mixer.c
··· 471 471 */ 472 472 static int vx_audio_src_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) 473 473 { 474 - static char *texts_mic[3] = { 474 + static const char * const texts_mic[3] = { 475 475 "Digital", "Line", "Mic" 476 476 }; 477 - static char *texts_vx2[2] = { 477 + static const char * const texts_vx2[2] = { 478 478 "Digital", "Analog" 479 479 }; 480 480 struct vx_core *chip = snd_kcontrol_chip(kcontrol); 481 481 482 - uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED; 483 - uinfo->count = 1; 484 - if (chip->type >= VX_TYPE_VXPOCKET) { 485 - uinfo->value.enumerated.items = 3; 486 - if (uinfo->value.enumerated.item > 2) 487 - uinfo->value.enumerated.item = 2; 488 - strcpy(uinfo->value.enumerated.name, 489 - texts_mic[uinfo->value.enumerated.item]); 490 - } else { 491 - uinfo->value.enumerated.items = 2; 492 - if (uinfo->value.enumerated.item > 1) 493 - uinfo->value.enumerated.item = 1; 494 - strcpy(uinfo->value.enumerated.name, 495 - texts_vx2[uinfo->value.enumerated.item]); 496 - } 497 - return 0; 482 + if (chip->type >= VX_TYPE_VXPOCKET) 483 + return snd_ctl_enum_info(uinfo, 1, 3, texts_mic); 484 + else 485 + return snd_ctl_enum_info(uinfo, 1, 2, texts_vx2); 498 486 } 499 487 500 488 static int vx_audio_src_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) ··· 527 539 */ 528 540 static int vx_clock_mode_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) 529 541 { 530 - static char *texts[3] = { 542 + static const char * const texts[3] = { 531 543 "Auto", "Internal", "External" 532 544 }; 533 545 534 - uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED; 535 - uinfo->count = 1; 536 - uinfo->value.enumerated.items = 3; 537 - if (uinfo->value.enumerated.item > 2) 538 - uinfo->value.enumerated.item = 2; 539 - strcpy(uinfo->value.enumerated.name, 540 - texts[uinfo->value.enumerated.item]); 541 - return 0; 546 + return snd_ctl_enum_info(uinfo, 1, 3, texts); 542 547 } 543 548 544 549 static int vx_clock_mode_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)