mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-25 13:14:07 +08:00
[ALSA] use PCM interface for IEC958 controls
Digigram VX core,ENS1370/1+ driver,CA0106 driver,EMU10K1/EMU10K2 driver RME HDSP driver,RME9652 driver For consistency, use the PCM interface instead of MIXER for IEC958 default/mask/stream mixer controls. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
This commit is contained in:
parent
10e8d78a94
commit
5549d54992
@ -796,14 +796,14 @@ static int vx_iec958_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontro
|
||||
|
||||
static snd_kcontrol_new_t vx_control_iec958_mask = {
|
||||
.access = SNDRV_CTL_ELEM_ACCESS_READ,
|
||||
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
|
||||
.iface = SNDRV_CTL_ELEM_IFACE_PCM,
|
||||
.name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,MASK),
|
||||
.info = vx_iec958_info, /* shared */
|
||||
.get = vx_iec958_mask_get,
|
||||
};
|
||||
|
||||
static snd_kcontrol_new_t vx_control_iec958 = {
|
||||
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
|
||||
.iface = SNDRV_CTL_ELEM_IFACE_PCM,
|
||||
.name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,DEFAULT),
|
||||
.info = vx_iec958_info,
|
||||
.get = vx_iec958_get,
|
||||
|
@ -297,7 +297,7 @@ static int snd_ca0106_spdif_put(snd_kcontrol_t * kcontrol,
|
||||
static snd_kcontrol_new_t snd_ca0106_spdif_mask_control =
|
||||
{
|
||||
.access = SNDRV_CTL_ELEM_ACCESS_READ,
|
||||
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
|
||||
.iface = SNDRV_CTL_ELEM_IFACE_PCM,
|
||||
.name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,MASK),
|
||||
.count = 4,
|
||||
.info = snd_ca0106_spdif_info,
|
||||
@ -306,7 +306,7 @@ static snd_kcontrol_new_t snd_ca0106_spdif_mask_control =
|
||||
|
||||
static snd_kcontrol_new_t snd_ca0106_spdif_control =
|
||||
{
|
||||
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
|
||||
.iface = SNDRV_CTL_ELEM_IFACE_PCM,
|
||||
.name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,DEFAULT),
|
||||
.count = 4,
|
||||
.info = snd_ca0106_spdif_info,
|
||||
|
@ -1183,7 +1183,7 @@ static int snd_emu10k1x_spdif_put(snd_kcontrol_t * kcontrol,
|
||||
static snd_kcontrol_new_t snd_emu10k1x_spdif_mask_control =
|
||||
{
|
||||
.access = SNDRV_CTL_ELEM_ACCESS_READ,
|
||||
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
|
||||
.iface = SNDRV_CTL_ELEM_IFACE_PCM,
|
||||
.name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,MASK),
|
||||
.count = 3,
|
||||
.info = snd_emu10k1x_spdif_info,
|
||||
@ -1192,7 +1192,7 @@ static snd_kcontrol_new_t snd_emu10k1x_spdif_mask_control =
|
||||
|
||||
static snd_kcontrol_new_t snd_emu10k1x_spdif_control =
|
||||
{
|
||||
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
|
||||
.iface = SNDRV_CTL_ELEM_IFACE_PCM,
|
||||
.name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,DEFAULT),
|
||||
.count = 3,
|
||||
.info = snd_emu10k1x_spdif_info,
|
||||
|
@ -181,7 +181,7 @@ static int snd_emu10k1_spdif_put(snd_kcontrol_t * kcontrol,
|
||||
static snd_kcontrol_new_t snd_emu10k1_spdif_mask_control =
|
||||
{
|
||||
.access = SNDRV_CTL_ELEM_ACCESS_READ,
|
||||
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
|
||||
.iface = SNDRV_CTL_ELEM_IFACE_PCM,
|
||||
.name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,MASK),
|
||||
.count = 4,
|
||||
.info = snd_emu10k1_spdif_info,
|
||||
@ -190,7 +190,7 @@ static snd_kcontrol_new_t snd_emu10k1_spdif_mask_control =
|
||||
|
||||
static snd_kcontrol_new_t snd_emu10k1_spdif_control =
|
||||
{
|
||||
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
|
||||
.iface = SNDRV_CTL_ELEM_IFACE_PCM,
|
||||
.name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,DEFAULT),
|
||||
.count = 4,
|
||||
.info = snd_emu10k1_spdif_info,
|
||||
@ -931,10 +931,14 @@ int __devinit snd_emu10k1_mixer(emu10k1_t *emu,
|
||||
/* sb live! and audigy */
|
||||
if ((kctl = snd_ctl_new1(&snd_emu10k1_spdif_mask_control, emu)) == NULL)
|
||||
return -ENOMEM;
|
||||
if (!emu->audigy)
|
||||
kctl->id.device = emu->pcm_efx->device;
|
||||
if ((err = snd_ctl_add(card, kctl)))
|
||||
return err;
|
||||
if ((kctl = snd_ctl_new1(&snd_emu10k1_spdif_control, emu)) == NULL)
|
||||
return -ENOMEM;
|
||||
if (!emu->audigy)
|
||||
kctl->id.device = emu->pcm_efx->device;
|
||||
if ((err = snd_ctl_add(card, kctl)))
|
||||
return err;
|
||||
}
|
||||
|
@ -1446,7 +1446,7 @@ static int snd_es1371_spdif_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t
|
||||
static snd_kcontrol_new_t snd_es1371_mixer_spdif[] __devinitdata = {
|
||||
ES1371_SPDIF(SNDRV_CTL_NAME_IEC958("",PLAYBACK,SWITCH)),
|
||||
{
|
||||
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
|
||||
.iface = SNDRV_CTL_ELEM_IFACE_PCM,
|
||||
.name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,DEFAULT),
|
||||
.info = snd_ens1373_spdif_info,
|
||||
.get = snd_ens1373_spdif_default_get,
|
||||
@ -1454,13 +1454,13 @@ static snd_kcontrol_new_t snd_es1371_mixer_spdif[] __devinitdata = {
|
||||
},
|
||||
{
|
||||
.access = SNDRV_CTL_ELEM_ACCESS_READ,
|
||||
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
|
||||
.iface = SNDRV_CTL_ELEM_IFACE_PCM,
|
||||
.name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,MASK),
|
||||
.info = snd_ens1373_spdif_info,
|
||||
.get = snd_ens1373_spdif_mask_get
|
||||
},
|
||||
{
|
||||
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
|
||||
.iface = SNDRV_CTL_ELEM_IFACE_PCM,
|
||||
.name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,PCM_STREAM),
|
||||
.info = snd_ens1373_spdif_info,
|
||||
.get = snd_ens1373_spdif_stream_get,
|
||||
|
@ -3104,7 +3104,7 @@ HDSP_XLR_BREAKOUT_CABLE("XLR Breakout Cable", 0)
|
||||
|
||||
static snd_kcontrol_new_t snd_hdsp_controls[] = {
|
||||
{
|
||||
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
|
||||
.iface = SNDRV_CTL_ELEM_IFACE_PCM,
|
||||
.name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,DEFAULT),
|
||||
.info = snd_hdsp_control_spdif_info,
|
||||
.get = snd_hdsp_control_spdif_get,
|
||||
@ -3112,7 +3112,7 @@ static snd_kcontrol_new_t snd_hdsp_controls[] = {
|
||||
},
|
||||
{
|
||||
.access = SNDRV_CTL_ELEM_ACCESS_READWRITE | SNDRV_CTL_ELEM_ACCESS_INACTIVE,
|
||||
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
|
||||
.iface = SNDRV_CTL_ELEM_IFACE_PCM,
|
||||
.name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,PCM_STREAM),
|
||||
.info = snd_hdsp_control_spdif_stream_info,
|
||||
.get = snd_hdsp_control_spdif_stream_get,
|
||||
@ -3120,7 +3120,7 @@ static snd_kcontrol_new_t snd_hdsp_controls[] = {
|
||||
},
|
||||
{
|
||||
.access = SNDRV_CTL_ELEM_ACCESS_READ,
|
||||
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
|
||||
.iface = SNDRV_CTL_ELEM_IFACE_PCM,
|
||||
.name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,CON_MASK),
|
||||
.info = snd_hdsp_control_spdif_mask_info,
|
||||
.get = snd_hdsp_control_spdif_mask_get,
|
||||
@ -3130,7 +3130,7 @@ static snd_kcontrol_new_t snd_hdsp_controls[] = {
|
||||
},
|
||||
{
|
||||
.access = SNDRV_CTL_ELEM_ACCESS_READ,
|
||||
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
|
||||
.iface = SNDRV_CTL_ELEM_IFACE_PCM,
|
||||
.name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,PRO_MASK),
|
||||
.info = snd_hdsp_control_spdif_mask_info,
|
||||
.get = snd_hdsp_control_spdif_mask_get,
|
||||
|
@ -1529,7 +1529,7 @@ static int snd_rme9652_get_tc_value(void *private_data,
|
||||
|
||||
static snd_kcontrol_new_t snd_rme9652_controls[] = {
|
||||
{
|
||||
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
|
||||
.iface = SNDRV_CTL_ELEM_IFACE_PCM,
|
||||
.name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,DEFAULT),
|
||||
.info = snd_rme9652_control_spdif_info,
|
||||
.get = snd_rme9652_control_spdif_get,
|
||||
@ -1537,7 +1537,7 @@ static snd_kcontrol_new_t snd_rme9652_controls[] = {
|
||||
},
|
||||
{
|
||||
.access = SNDRV_CTL_ELEM_ACCESS_READWRITE | SNDRV_CTL_ELEM_ACCESS_INACTIVE,
|
||||
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
|
||||
.iface = SNDRV_CTL_ELEM_IFACE_PCM,
|
||||
.name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,PCM_STREAM),
|
||||
.info = snd_rme9652_control_spdif_stream_info,
|
||||
.get = snd_rme9652_control_spdif_stream_get,
|
||||
@ -1545,7 +1545,7 @@ static snd_kcontrol_new_t snd_rme9652_controls[] = {
|
||||
},
|
||||
{
|
||||
.access = SNDRV_CTL_ELEM_ACCESS_READ,
|
||||
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
|
||||
.iface = SNDRV_CTL_ELEM_IFACE_PCM,
|
||||
.name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,CON_MASK),
|
||||
.info = snd_rme9652_control_spdif_mask_info,
|
||||
.get = snd_rme9652_control_spdif_mask_get,
|
||||
@ -1555,7 +1555,7 @@ static snd_kcontrol_new_t snd_rme9652_controls[] = {
|
||||
},
|
||||
{
|
||||
.access = SNDRV_CTL_ELEM_ACCESS_READ,
|
||||
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
|
||||
.iface = SNDRV_CTL_ELEM_IFACE_PCM,
|
||||
.name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,PRO_MASK),
|
||||
.info = snd_rme9652_control_spdif_mask_info,
|
||||
.get = snd_rme9652_control_spdif_mask_get,
|
||||
|
Loading…
Reference in New Issue
Block a user