#include <linux/delay.h>
#include <sound/core.h>
#include <sound/control.h>
#include <sound/tlv.h>
#include "wm8766.h"
static void snd_wm8766_write(struct snd_wm8766 *wm, u16 addr, u16 data)
{ … }
static const DECLARE_TLV_DB_SCALE(wm8766_tlv, -12750, 50, 1);
static const struct snd_wm8766_ctl snd_wm8766_default_ctl[WM8766_CTL_COUNT] = …;
void snd_wm8766_init(struct snd_wm8766 *wm)
{ … }
void snd_wm8766_resume(struct snd_wm8766 *wm)
{ … }
void snd_wm8766_set_if(struct snd_wm8766 *wm, u16 dac)
{ … }
void snd_wm8766_volume_restore(struct snd_wm8766 *wm)
{ … }
static int snd_wm8766_volume_info(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_info *uinfo)
{ … }
static int snd_wm8766_enum_info(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_info *uinfo)
{ … }
static int snd_wm8766_ctl_get(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_value *ucontrol)
{ … }
static int snd_wm8766_ctl_put(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_value *ucontrol)
{ … }
static int snd_wm8766_add_control(struct snd_wm8766 *wm, int num)
{ … }
int snd_wm8766_build_controls(struct snd_wm8766 *wm)
{ … }