ALSA: ice1724 - External clock item only for cards with SPDIF_IN

Append the external clock item to the clock list only if
the SPDIF_IN capability is defined in the SPDIF register.

Signed-off-by: Pavel Hofman <pavel.hofman@ivitera.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Pavel Hofman 2012-01-05 22:01:56 +01:00 committed by Takashi Iwai
parent e7848163aa
commit 219e2cd41b
1 changed files with 6 additions and 1 deletions

View File

@ -1825,7 +1825,12 @@ static int snd_vt1724_pro_internal_clock_info(struct snd_kcontrol *kcontrol,
uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED;
uinfo->count = 1;
uinfo->value.enumerated.items = hw_rates_count + ice->ext_clock_count;
/* internal clocks */
uinfo->value.enumerated.items = hw_rates_count;
/* external clocks */
if (ice->force_rdma1 ||
(ice->eeprom.data[ICE_EEP2_SPDIF] & VT1724_CFG_SPDIF_IN))
uinfo->value.enumerated.items += ice->ext_clock_count;
/* upper limit - keep at top */
if (uinfo->value.enumerated.item >= uinfo->value.enumerated.items)
uinfo->value.enumerated.item = uinfo->value.enumerated.items - 1;