mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 03:36:19 +00:00
ALSA: hda - Fix build errors with CONFIG_SND_HDA_INPUT_BEEP=n
Disable beep-related codes when CONFIG_SND_HDA_INPUT_BEEP isn't set. Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
9bb1fe390d
commit
67d634c07a
4 changed files with 24 additions and 0 deletions
|
@ -1959,6 +1959,7 @@ int snd_hda_mixer_amp_switch_put(struct snd_kcontrol *kcontrol,
|
|||
}
|
||||
EXPORT_SYMBOL_HDA(snd_hda_mixer_amp_switch_put);
|
||||
|
||||
#ifdef CONFIG_SND_HDA_INPUT_BEEP
|
||||
/**
|
||||
* snd_hda_mixer_amp_switch_put_beep - Put callback for a beep AMP switch
|
||||
*
|
||||
|
@ -1975,6 +1976,7 @@ int snd_hda_mixer_amp_switch_put_beep(struct snd_kcontrol *kcontrol,
|
|||
return snd_hda_mixer_amp_switch_put(kcontrol, ucontrol);
|
||||
}
|
||||
EXPORT_SYMBOL_HDA(snd_hda_mixer_amp_switch_put_beep);
|
||||
#endif /* CONFIG_SND_HDA_INPUT_BEEP */
|
||||
|
||||
/*
|
||||
* bound volume controls
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -156,6 +156,7 @@ static const char *ad_slave_sws[] = {
|
|||
|
||||
static void ad198x_free_kctls(struct hda_codec *codec);
|
||||
|
||||
#ifdef CONFIG_SND_HDA_INPUT_BEEP
|
||||
/* additional beep mixers; the actual parameters are overwritten at build */
|
||||
static struct snd_kcontrol_new ad_beep_mixer[] = {
|
||||
HDA_CODEC_VOLUME("Beep Playback Volume", 0, 0, HDA_OUTPUT),
|
||||
|
@ -165,6 +166,9 @@ static struct snd_kcontrol_new ad_beep_mixer[] = {
|
|||
|
||||
#define set_beep_amp(spec, nid, idx, dir) \
|
||||
((spec)->beep_amp = HDA_COMPOSE_AMP_VAL(nid, 1, idx, dir)) /* mono */
|
||||
#else
|
||||
#define set_beep_amp(spec, nid, idx, dir) /* NOP */
|
||||
#endif
|
||||
|
||||
static int ad198x_build_controls(struct hda_codec *codec)
|
||||
{
|
||||
|
@ -194,6 +198,7 @@ static int ad198x_build_controls(struct hda_codec *codec)
|
|||
}
|
||||
|
||||
/* create beep controls if needed */
|
||||
#ifdef CONFIG_SND_HDA_INPUT_BEEP
|
||||
if (spec->beep_amp) {
|
||||
struct snd_kcontrol_new *knew;
|
||||
for (knew = ad_beep_mixer; knew->name; knew++) {
|
||||
|
@ -209,6 +214,7 @@ static int ad198x_build_controls(struct hda_codec *codec)
|
|||
return err;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/* if we have no master control, let's create it */
|
||||
if (!snd_hda_find_mixer_ctl(codec, "Master Playback Volume")) {
|
||||
|
|
|
@ -2410,12 +2410,14 @@ static const char *alc_slave_sws[] = {
|
|||
|
||||
static void alc_free_kctls(struct hda_codec *codec);
|
||||
|
||||
#ifdef CONFIG_SND_HDA_INPUT_BEEP
|
||||
/* additional beep mixers; the actual parameters are overwritten at build */
|
||||
static struct snd_kcontrol_new alc_beep_mixer[] = {
|
||||
HDA_CODEC_VOLUME("Beep Playback Volume", 0, 0, HDA_INPUT),
|
||||
HDA_CODEC_MUTE_BEEP("Beep Playback Switch", 0, 0, HDA_INPUT),
|
||||
{ } /* end */
|
||||
};
|
||||
#endif
|
||||
|
||||
static int alc_build_controls(struct hda_codec *codec)
|
||||
{
|
||||
|
@ -2452,6 +2454,7 @@ static int alc_build_controls(struct hda_codec *codec)
|
|||
return err;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SND_HDA_INPUT_BEEP
|
||||
/* create beep controls if needed */
|
||||
if (spec->beep_amp) {
|
||||
struct snd_kcontrol_new *knew;
|
||||
|
@ -2467,6 +2470,7 @@ static int alc_build_controls(struct hda_codec *codec)
|
|||
return err;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/* if we have no master control, let's create it */
|
||||
if (!spec->no_analog &&
|
||||
|
@ -4780,8 +4784,12 @@ static void set_capture_mixer(struct hda_codec *codec)
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SND_HDA_INPUT_BEEP
|
||||
#define set_beep_amp(spec, nid, idx, dir) \
|
||||
((spec)->beep_amp = HDA_COMPOSE_AMP_VAL(nid, 3, idx, dir))
|
||||
#else
|
||||
#define set_beep_amp(spec, nid, idx, dir) /* NOP */
|
||||
#endif
|
||||
|
||||
/*
|
||||
* OK, here we have finally the patch for ALC880
|
||||
|
|
Loading…
Reference in a new issue