Пример #1
0
#define BRCM_MIXER_CTRL(xname, xindex, private_val) \
{	\
   .iface = SNDRV_CTL_ELEM_IFACE_MIXER, \
  .name = xname, \
  .index = xindex, \
  .access= SNDRV_CTL_ELEM_ACCESS_READWRITE,\
  .private_value = private_val, \
  .info = GetCtrlInfo, \
  .get = GetControlItem, 	\
  .put = SetControlItem, \
}

//Define all the control items
static struct snd_kcontrol_new gpSndCtrls[] __devinitdata =
{
	BRCM_MIXER_CTRL(gpstrCtrlName[BRCM_CTL_Speaker_Playback_Volume], 0, BRCM_CTL_Speaker_Playback_Volume),
	BRCM_MIXER_CTRL(gpstrCtrlName[BRCM_CTL_Speaker_Playback_Mute], 0, BRCM_CTL_Speaker_Playback_Mute),

	BRCM_MIXER_CTRL(gpstrCtrlName[BRCM_CTL_Mic_Capture_Volume], 0, BRCM_CTL_Mic_Capture_Volume),
	BRCM_MIXER_CTRL(gpstrCtrlName[BRCM_CTL_Mic_Capture_Mute], 0, BRCM_CTL_Mic_Capture_Mute),

	BRCM_MIXER_CTRL(gpstrCtrlName[BRCM_CTL_EAR_Playback_Volume], 0, BRCM_CTL_EAR_Playback_Volume),
	BRCM_MIXER_CTRL(gpstrCtrlName[BRCM_CTL_EAR_Playback_Mute], 0, BRCM_CTL_EAR_Playback_Mute),

	BRCM_MIXER_CTRL(gpstrCtrlName[BRCM_CTL_HEADSET_Playback_Volume], 0, BRCM_CTL_HEADSET_Playback_Volume),
	BRCM_MIXER_CTRL(gpstrCtrlName[BRCM_CTL_HEADSET_Playback_Mute], 0, BRCM_CTL_HEADSET_Playback_Mute),

	BRCM_MIXER_CTRL(gpstrCtrlName[BRCM_CTL_BTHeadset_Volume], 0, BRCM_CTL_BTHeadset_Volume),
	BRCM_MIXER_CTRL(gpstrCtrlName[BRCM_CTL_BTHeadset_Mute], 0, BRCM_CTL_BTHeadset_Mute),
	
	BRCM_MIXER_CTRL(gpstrCtrlName[BRCM_CTL_ROUTE], 0, BRCM_CTL_ROUTE)
Пример #2
0
#define BRCM_MIXER_CTRL(xname, xindex, private_val) \
{	\
   .iface = SNDRV_CTL_ELEM_IFACE_MIXER, \
  .name = xname, \
  .index = xindex, \
  .access= SNDRV_CTL_ELEM_ACCESS_READWRITE,\
  .private_value = private_val, \
  .info = GetCtrlInfo, \
  .get = GetControlItem, 	\
  .put = SetControlItem, \
}

//Define all the control items
static struct snd_kcontrol_new gpSndCtrls[] __devinitdata =
{
	BRCM_MIXER_CTRL(gpstrCtrlName[BRCM_CTL_Speaker_Playback_Volume], 0, BRCM_CTL_Speaker_Playback_Volume),
	BRCM_MIXER_CTRL(gpstrCtrlName[BRCM_CTL_Speaker_Playback_Mute], 0, BRCM_CTL_Speaker_Playback_Mute),
	BRCM_MIXER_CTRL(gpstrCtrlName[BRCM_CTL_Mic_Capture_Volume], 0, BRCM_CTL_Mic_Capture_Volume),
	BRCM_MIXER_CTRL(gpstrCtrlName[BRCM_CTL_Mic_Capture_Mute], 0, BRCM_CTL_Mic_Capture_Mute),

	BRCM_MIXER_CTRL(gpstrCtrlName[BRCM_CTL_Ringtone_SPK_Playback_Volume], 0, BRCM_CTL_Ringtone_SPK_Playback_Volume),
	BRCM_MIXER_CTRL(gpstrCtrlName[BRCM_CTL_Ringtone_SPK_Playback_Mute], 0, BRCM_CTL_Ringtone_SPK_Playback_Mute),

	BRCM_MIXER_CTRL(gpstrCtrlName[BRCM_CTL_Incall_SPK_Playback_Volume], 0, BRCM_CTL_Incall_SPK_Playback_Volume),
	BRCM_MIXER_CTRL(gpstrCtrlName[BRCM_CTL_Incall_SPK_Playback_Mute], 0, BRCM_CTL_Incall_SPK_Playback_Mute),

	BRCM_MIXER_CTRL(gpstrCtrlName[BRCM_CTL_EAR_Playback_Volume], 0, BRCM_CTL_EAR_Playback_Volume),
	BRCM_MIXER_CTRL(gpstrCtrlName[BRCM_CTL_EAR_Playback_Mute], 0, BRCM_CTL_EAR_Playback_Mute),

	BRCM_MIXER_CTRL(gpstrCtrlName[BRCM_CTL_Ringtone_EAR_Playback_Volume], 0, BRCM_CTL_Ringtone_EAR_Playback_Volume),
	BRCM_MIXER_CTRL(gpstrCtrlName[BRCM_CTL_Ringtone_EAR_Playback_Mute], 0, BRCM_CTL_Ringtone_EAR_Playback_Mute),