|
@@ -77,6 +77,7 @@
|
|
|
/* stereo mute switch */
|
|
|
#define HDA_CODEC_MUTE(xname, nid, xindex, direction) \
|
|
|
HDA_CODEC_MUTE_MONO(xname, nid, 3, xindex, direction)
|
|
|
+#ifdef CONFIG_SND_HDA_INPUT_BEEP
|
|
|
/* special beep mono mute switch with index (index=0,1,...) (channel=1,2) */
|
|
|
#define HDA_CODEC_MUTE_BEEP_MONO_IDX(xname, xcidx, nid, channel, xindex, direction) \
|
|
|
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .index = xcidx, \
|
|
@@ -85,6 +86,11 @@
|
|
|
.get = snd_hda_mixer_amp_switch_get, \
|
|
|
.put = snd_hda_mixer_amp_switch_put_beep, \
|
|
|
.private_value = HDA_COMPOSE_AMP_VAL(nid, channel, xindex, direction) }
|
|
|
+#else
|
|
|
+/* no digital beep - just the standard one */
|
|
|
+#define HDA_CODEC_MUTE_BEEP_MONO_IDX(xname, xcidx, nid, ch, xidx, dir) \
|
|
|
+ HDA_CODEC_MUTE_MONO_IDX(xname, xcidx, nid, ch, xidx, dir)
|
|
|
+#endif /* CONFIG_SND_HDA_INPUT_BEEP */
|
|
|
/* special beep mono mute switch */
|
|
|
#define HDA_CODEC_MUTE_BEEP_MONO(xname, nid, channel, xindex, direction) \
|
|
|
HDA_CODEC_MUTE_BEEP_MONO_IDX(xname, 0, nid, channel, xindex, direction)
|
|
@@ -108,8 +114,10 @@ int snd_hda_mixer_amp_switch_get(struct snd_kcontrol *kcontrol,
|
|
|
struct snd_ctl_elem_value *ucontrol);
|
|
|
int snd_hda_mixer_amp_switch_put(struct snd_kcontrol *kcontrol,
|
|
|
struct snd_ctl_elem_value *ucontrol);
|
|
|
+#ifdef CONFIG_SND_HDA_INPUT_BEEP
|
|
|
int snd_hda_mixer_amp_switch_put_beep(struct snd_kcontrol *kcontrol,
|
|
|
struct snd_ctl_elem_value *ucontrol);
|
|
|
+#endif
|
|
|
/* lowlevel accessor with caching; use carefully */
|
|
|
int snd_hda_codec_amp_read(struct hda_codec *codec, hda_nid_t nid, int ch,
|
|
|
int direction, int index);
|