#include <linux/init.h>
#include <linux/delay.h>
#include <linux/slab.h>
#include <linux/module.h>
#include <sound/core.h>
#include <sound/jack.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 senary_spec { … };
#ifdef CONFIG_SND_HDA_INPUT_BEEP
static const struct snd_kcontrol_new senary_beep_mixer[] = …;
static int set_beep_amp(struct senary_spec *spec, hda_nid_t nid,
int idx, int dir)
{ … }
static int senary_auto_parse_beep(struct hda_codec *codec)
{ … }
#else
#define senary_auto_parse_beep …
#endif
static void senary_auto_parse_eapd(struct hda_codec *codec)
{ … }
static void senary_auto_turn_eapd(struct hda_codec *codec, int num_pins,
const hda_nid_t *pins, bool on)
{ … }
static void senary_auto_vmaster_hook(void *private_data, int enabled)
{ … }
static void senary_init_gpio_led(struct hda_codec *codec)
{ … }
static int senary_auto_init(struct hda_codec *codec)
{ … }
static void senary_auto_shutdown(struct hda_codec *codec)
{ … }
static void senary_auto_free(struct hda_codec *codec)
{ … }
static int senary_auto_suspend(struct hda_codec *codec)
{ … }
static const struct hda_codec_ops senary_auto_patch_ops = …;
static int patch_senary_auto(struct hda_codec *codec)
{ … }
static const struct hda_device_id snd_hda_id_senary[] = …;
MODULE_DEVICE_TABLE(hdaudio, snd_hda_id_senary);
MODULE_LICENSE(…) …;
MODULE_DESCRIPTION(…) …;
static struct hda_codec_driver senary_driver = …;
module_hda_codec_driver(…) …;