diff options
author | Takashi Iwai <tiwai@suse.de> | 2014-10-20 12:18:33 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2014-10-21 03:01:06 -0400 |
commit | c4fa251f6f3ed00d59d0d8ee63bf346e6dd6b664 (patch) | |
tree | 832ec29f8dfd1e0596c97015304bff4db1b54902 /sound/pci/ice1712/ice1712.c | |
parent | 3ff72219320f616489bf0d98ddac12899da4a9ce (diff) |
ALSA: ice1712: Use snd_ctl_enum_info()
... and reduce the open codes.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/ice1712/ice1712.c')
-rw-r--r-- | sound/pci/ice1712/ice1712.c | 27 |
1 files changed, 4 insertions, 23 deletions
diff --git a/sound/pci/ice1712/ice1712.c b/sound/pci/ice1712/ice1712.c index 206ed2cbcef9..48a0c330da24 100644 --- a/sound/pci/ice1712/ice1712.c +++ b/sound/pci/ice1712/ice1712.c | |||
@@ -1839,13 +1839,7 @@ static int snd_ice1712_pro_internal_clock_info(struct snd_kcontrol *kcontrol, | |||
1839 | "96000", /* 12: 7 */ | 1839 | "96000", /* 12: 7 */ |
1840 | "IEC958 Input", /* 13: -- */ | 1840 | "IEC958 Input", /* 13: -- */ |
1841 | }; | 1841 | }; |
1842 | uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED; | 1842 | return snd_ctl_enum_info(uinfo, 1, 14, texts); |
1843 | uinfo->count = 1; | ||
1844 | uinfo->value.enumerated.items = 14; | ||
1845 | if (uinfo->value.enumerated.item >= uinfo->value.enumerated.items) | ||
1846 | uinfo->value.enumerated.item = uinfo->value.enumerated.items - 1; | ||
1847 | strcpy(uinfo->value.enumerated.name, texts[uinfo->value.enumerated.item]); | ||
1848 | return 0; | ||
1849 | } | 1843 | } |
1850 | 1844 | ||
1851 | static int snd_ice1712_pro_internal_clock_get(struct snd_kcontrol *kcontrol, | 1845 | static int snd_ice1712_pro_internal_clock_get(struct snd_kcontrol *kcontrol, |
@@ -1930,13 +1924,7 @@ static int snd_ice1712_pro_internal_clock_default_info(struct snd_kcontrol *kcon | |||
1930 | "96000", /* 12: 7 */ | 1924 | "96000", /* 12: 7 */ |
1931 | /* "IEC958 Input", 13: -- */ | 1925 | /* "IEC958 Input", 13: -- */ |
1932 | }; | 1926 | }; |
1933 | uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED; | 1927 | return snd_ctl_enum_info(uinfo, 1, 13, texts); |
1934 | uinfo->count = 1; | ||
1935 | uinfo->value.enumerated.items = 13; | ||
1936 | if (uinfo->value.enumerated.item >= uinfo->value.enumerated.items) | ||
1937 | uinfo->value.enumerated.item = uinfo->value.enumerated.items - 1; | ||
1938 | strcpy(uinfo->value.enumerated.name, texts[uinfo->value.enumerated.item]); | ||
1939 | return 0; | ||
1940 | } | 1928 | } |
1941 | 1929 | ||
1942 | static int snd_ice1712_pro_internal_clock_default_get(struct snd_kcontrol *kcontrol, | 1930 | static int snd_ice1712_pro_internal_clock_default_get(struct snd_kcontrol *kcontrol, |
@@ -2057,15 +2045,8 @@ static int snd_ice1712_pro_route_info(struct snd_kcontrol *kcontrol, | |||
2057 | "IEC958 In L", "IEC958 In R", /* 9-10 */ | 2045 | "IEC958 In L", "IEC958 In R", /* 9-10 */ |
2058 | "Digital Mixer", /* 11 - optional */ | 2046 | "Digital Mixer", /* 11 - optional */ |
2059 | }; | 2047 | }; |
2060 | 2048 | int num_items = snd_ctl_get_ioffidx(kcontrol, &uinfo->id) < 2 ? 12 : 11; | |
2061 | uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED; | 2049 | return snd_ctl_enum_info(uinfo, 1, num_items, texts); |
2062 | uinfo->count = 1; | ||
2063 | uinfo->value.enumerated.items = | ||
2064 | snd_ctl_get_ioffidx(kcontrol, &uinfo->id) < 2 ? 12 : 11; | ||
2065 | if (uinfo->value.enumerated.item >= uinfo->value.enumerated.items) | ||
2066 | uinfo->value.enumerated.item = uinfo->value.enumerated.items - 1; | ||
2067 | strcpy(uinfo->value.enumerated.name, texts[uinfo->value.enumerated.item]); | ||
2068 | return 0; | ||
2069 | } | 2050 | } |
2070 | 2051 | ||
2071 | static int snd_ice1712_pro_route_analog_get(struct snd_kcontrol *kcontrol, | 2052 | static int snd_ice1712_pro_route_analog_get(struct snd_kcontrol *kcontrol, |