#include <linux/init.h>
#include <linux/slab.h>
#include <linux/module.h>
#include <sound/core.h>
#include <sound/hda_codec.h>
#include "hda_local.h"
#include "hda_auto_parser.h"
#include "hda_beep.h"
#include "hda_jack.h"
#include "hda_generic.h"
struct ad198x_spec { … };
#ifdef CONFIG_SND_HDA_INPUT_BEEP
static const struct snd_kcontrol_new ad_beep_mixer[] = …;
#define set_beep_amp(spec, nid, idx, dir) …
#else
#define set_beep_amp …
#endif
#ifdef CONFIG_SND_HDA_INPUT_BEEP
static int create_beep_ctls(struct hda_codec *codec)
{ … }
#else
#define create_beep_ctls …
#endif
static void ad198x_power_eapd_write(struct hda_codec *codec, hda_nid_t front,
hda_nid_t hp)
{ … }
static void ad198x_power_eapd(struct hda_codec *codec)
{ … }
static int ad198x_suspend(struct hda_codec *codec)
{ … }
static void ad_vmaster_eapd_hook(void *private_data, int enabled)
{ … }
static int ad198x_auto_build_controls(struct hda_codec *codec)
{ … }
static const struct hda_codec_ops ad198x_auto_patch_ops = …;
static int ad198x_parse_auto_config(struct hda_codec *codec, bool indep_hp)
{ … }
static int alloc_ad_spec(struct hda_codec *codec)
{ … }
static void ad_fixup_inv_jack_detect(struct hda_codec *codec,
const struct hda_fixup *fix, int action)
{ … }
static void ad1986a_fixup_eapd(struct hda_codec *codec,
const struct hda_fixup *fix, int action)
{ … }
static void ad1986a_fixup_eapd_mix_in(struct hda_codec *codec,
const struct hda_fixup *fix, int action)
{ … }
enum { … };
static const struct hda_fixup ad1986a_fixups[] = …;
static const struct snd_pci_quirk ad1986a_fixup_tbl[] = …;
static const struct hda_model_fixup ad1986a_fixup_models[] = …;
static int patch_ad1986a(struct hda_codec *codec)
{ … }
static int ad1983_auto_smux_enum_info(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_info *uinfo)
{ … }
static int ad1983_auto_smux_enum_get(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_value *ucontrol)
{ … }
static int ad1983_auto_smux_enum_put(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_value *ucontrol)
{ … }
static const struct snd_kcontrol_new ad1983_auto_smux_mixer = …;
static int ad1983_add_spdif_mux_ctl(struct hda_codec *codec)
{ … }
static int patch_ad1983(struct hda_codec *codec)
{ … }
static void ad1981_fixup_hp_eapd(struct hda_codec *codec,
const struct hda_fixup *fix, int action)
{ … }
static void ad1981_fixup_amp_override(struct hda_codec *codec,
const struct hda_fixup *fix, int action)
{ … }
enum { … };
static const struct hda_fixup ad1981_fixups[] = …;
static const struct snd_pci_quirk ad1981_fixup_tbl[] = …;
static int patch_ad1981(struct hda_codec *codec)
{ … }
static int ad1988_auto_smux_enum_info(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_info *uinfo)
{ … }
static int ad1988_auto_smux_enum_get(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_value *ucontrol)
{ … }
static int ad1988_auto_smux_enum_put(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_value *ucontrol)
{ … }
static const struct snd_kcontrol_new ad1988_auto_smux_mixer = …;
static int ad1988_auto_init(struct hda_codec *codec)
{ … }
static int ad1988_add_spdif_mux_ctl(struct hda_codec *codec)
{ … }
enum { … };
static const struct hda_fixup ad1988_fixups[] = …;
static const struct hda_model_fixup ad1988_fixup_models[] = …;
static int patch_ad1988(struct hda_codec *codec)
{ … }
static void ad1884_fixup_amp_override(struct hda_codec *codec,
const struct hda_fixup *fix, int action)
{ … }
static void ad1884_vmaster_hp_gpio_hook(void *private_data, int enabled)
{ … }
static void ad1884_fixup_hp_eapd(struct hda_codec *codec,
const struct hda_fixup *fix, int action)
{ … }
static void ad1884_fixup_thinkpad(struct hda_codec *codec,
const struct hda_fixup *fix, int action)
{ … }
static const struct hda_verb ad1884_dmic_init_verbs[] = …;
enum { … };
static const struct hda_fixup ad1884_fixups[] = …;
static const struct snd_pci_quirk ad1884_fixup_tbl[] = …;
static int patch_ad1884(struct hda_codec *codec)
{ … }
static int patch_ad1882(struct hda_codec *codec)
{ … }
static const struct hda_device_id snd_hda_id_analog[] = …;
MODULE_DEVICE_TABLE(hdaudio, snd_hda_id_analog);
MODULE_LICENSE(…) …;
MODULE_DESCRIPTION(…) …;
static struct hda_codec_driver analog_driver = …;
module_hda_codec_driver(…) …;