linux/sound/pci/ice1712/wm8776.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 *   ALSA driver for ICEnsemble VT17xx
 *
 *   Lowlevel functions for WM8776 codec
 *
 *	Copyright (c) 2012 Ondrej Zary <[email protected]>
 */

#include <linux/delay.h>
#include <sound/core.h>
#include <sound/control.h>
#include <sound/tlv.h>
#include "wm8776.h"

/* low-level access */

static void snd_wm8776_write(struct snd_wm8776 *wm, u16 addr, u16 data)
{}

/* register-level functions */

static void snd_wm8776_activate_ctl(struct snd_wm8776 *wm,
				    const char *ctl_name,
				    bool active)
{}

static void snd_wm8776_update_agc_ctl(struct snd_wm8776 *wm)
{}

static void snd_wm8776_set_agc(struct snd_wm8776 *wm, u16 agc, u16 nothing)
{}

static void snd_wm8776_get_agc(struct snd_wm8776 *wm, u16 *mode, u16 *nothing)
{}

/* mixer controls */

static const DECLARE_TLV_DB_SCALE(wm8776_hp_tlv, -7400, 100, 1);
static const DECLARE_TLV_DB_SCALE(wm8776_dac_tlv, -12750, 50, 1);
static const DECLARE_TLV_DB_SCALE(wm8776_adc_tlv, -10350, 50, 1);
static const DECLARE_TLV_DB_SCALE(wm8776_lct_tlv, -1600, 100, 0);
static const DECLARE_TLV_DB_SCALE(wm8776_maxgain_tlv, 0, 400, 0);
static const DECLARE_TLV_DB_SCALE(wm8776_ngth_tlv, -7800, 600, 0);
static const DECLARE_TLV_DB_SCALE(wm8776_maxatten_lim_tlv, -1200, 100, 0);
static const DECLARE_TLV_DB_SCALE(wm8776_maxatten_alc_tlv, -2100, 400, 0);

static const struct snd_wm8776_ctl snd_wm8776_default_ctl[WM8776_CTL_COUNT] =;

/* exported functions */

void snd_wm8776_init(struct snd_wm8776 *wm)
{}

void snd_wm8776_resume(struct snd_wm8776 *wm)
{}

void snd_wm8776_set_power(struct snd_wm8776 *wm, u16 power)
{}

void snd_wm8776_volume_restore(struct snd_wm8776 *wm)
{}

/* mixer callbacks */

static int snd_wm8776_volume_info(struct snd_kcontrol *kcontrol,
				   struct snd_ctl_elem_info *uinfo)
{}

static int snd_wm8776_enum_info(struct snd_kcontrol *kcontrol,
				      struct snd_ctl_elem_info *uinfo)
{}

static int snd_wm8776_ctl_get(struct snd_kcontrol *kcontrol,
				  struct snd_ctl_elem_value *ucontrol)
{}

static int snd_wm8776_ctl_put(struct snd_kcontrol *kcontrol,
				  struct snd_ctl_elem_value *ucontrol)
{}

static int snd_wm8776_add_control(struct snd_wm8776 *wm, int num)
{}

int snd_wm8776_build_controls(struct snd_wm8776 *wm)
{}