@ -566,19 +566,6 @@ static int ct_spdif_get_mask(struct snd_kcontrol *kcontrol,
return 0 ;
}
static int ct_spdif_default_get ( struct snd_kcontrol * kcontrol ,
struct snd_ctl_elem_value * ucontrol )
{
unsigned int status = SNDRV_PCM_DEFAULT_CON_SPDIF ;
ucontrol - > value . iec958 . status [ 0 ] = ( status > > 0 ) & 0xff ;
ucontrol - > value . iec958 . status [ 1 ] = ( status > > 8 ) & 0xff ;
ucontrol - > value . iec958 . status [ 2 ] = ( status > > 16 ) & 0xff ;
ucontrol - > value . iec958 . status [ 3 ] = ( status > > 24 ) & 0xff ;
return 0 ;
}
static int ct_spdif_get ( struct snd_kcontrol * kcontrol ,
struct snd_ctl_elem_value * ucontrol )
{
@ -586,6 +573,10 @@ static int ct_spdif_get(struct snd_kcontrol *kcontrol,
unsigned int status ;
atc - > spdif_out_get_status ( atc , & status ) ;
if ( status = = 0 )
status = SNDRV_PCM_DEFAULT_CON_SPDIF ;
ucontrol - > value . iec958 . status [ 0 ] = ( status > > 0 ) & 0xff ;
ucontrol - > value . iec958 . status [ 1 ] = ( status > > 8 ) & 0xff ;
ucontrol - > value . iec958 . status [ 2 ] = ( status > > 16 ) & 0xff ;
@ -629,7 +620,7 @@ static struct snd_kcontrol_new iec958_default_ctl = {
. name = SNDRV_CTL_NAME_IEC958 ( " " , PLAYBACK , DEFAULT ) ,
. count = 1 ,
. info = ct_spdif_info ,
. get = ct_spdif_default_ get ,
. get = ct_spdif_get ,
. put = ct_spdif_put ,
. private_value = MIXER_IEC958_DEFAULT
} ;