#include <linux/crc8.h>
#include <linux/firmware.h>
#include <linux/gpio/consumer.h>
#include <linux/i2c.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/of_gpio.h>
#include <linux/of_irq.h>
#include <linux/regmap.h>
#include <linux/slab.h>
#include <sound/pcm_params.h>
#include <sound/soc.h>
#include <sound/tas2781.h>
#define TASDEVICE_CRC8_POLYNOMIAL …
static const struct regmap_range_cfg tasdevice_ranges[] = …;
static const struct regmap_config tasdevice_regmap = …;
static int tasdevice_change_chn_book(struct tasdevice_priv *tas_priv,
unsigned short chn, int book)
{ … }
int tasdevice_dev_read(struct tasdevice_priv *tas_priv,
unsigned short chn, unsigned int reg, unsigned int *val)
{ … }
EXPORT_SYMBOL_GPL(…);
int tasdevice_dev_write(struct tasdevice_priv *tas_priv,
unsigned short chn, unsigned int reg, unsigned int value)
{ … }
EXPORT_SYMBOL_GPL(…);
int tasdevice_dev_bulk_write(
struct tasdevice_priv *tas_priv, unsigned short chn,
unsigned int reg, unsigned char *data,
unsigned int len)
{ … }
EXPORT_SYMBOL_GPL(…);
int tasdevice_dev_bulk_read(struct tasdevice_priv *tas_priv,
unsigned short chn, unsigned int reg, unsigned char *data,
unsigned int len)
{ … }
EXPORT_SYMBOL_GPL(…);
int tasdevice_dev_update_bits(
struct tasdevice_priv *tas_priv, unsigned short chn,
unsigned int reg, unsigned int mask, unsigned int value)
{ … }
EXPORT_SYMBOL_GPL(…);
struct tasdevice_priv *tasdevice_kzalloc(struct i2c_client *i2c)
{ … }
EXPORT_SYMBOL_GPL(…);
void tasdevice_reset(struct tasdevice_priv *tas_dev)
{ … }
EXPORT_SYMBOL_GPL(…);
int tascodec_init(struct tasdevice_priv *tas_priv, void *codec,
struct module *module,
void (*cont)(const struct firmware *fw, void *context))
{ … }
EXPORT_SYMBOL_GPL(…);
int tasdevice_init(struct tasdevice_priv *tas_priv)
{ … }
EXPORT_SYMBOL_GPL(…);
static void tasdev_dsp_prog_blk_remove(struct tasdevice_prog *prog)
{ … }
static void tasdev_dsp_prog_remove(struct tasdevice_prog *prog,
unsigned short nr)
{ … }
static void tasdev_dsp_cfg_blk_remove(struct tasdevice_config *cfg)
{ … }
static void tasdev_dsp_cfg_remove(struct tasdevice_config *config,
unsigned short nr)
{ … }
void tasdevice_dsp_remove(void *context)
{ … }
EXPORT_SYMBOL_GPL(…);
void tasdevice_remove(struct tasdevice_priv *tas_priv)
{ … }
EXPORT_SYMBOL_GPL(…);
int tasdevice_save_calibration(struct tasdevice_priv *tas_priv)
{ … }
EXPORT_SYMBOL_GPL(…);
void tasdevice_apply_calibration(struct tasdevice_priv *tas_priv)
{ … }
EXPORT_SYMBOL_GPL(…);
static int tasdevice_clamp(int val, int max, unsigned int invert)
{ … }
int tasdevice_amp_putvol(struct tasdevice_priv *tas_priv,
struct snd_ctl_elem_value *ucontrol, struct soc_mixer_control *mc)
{ … }
EXPORT_SYMBOL_GPL(…);
int tasdevice_amp_getvol(struct tasdevice_priv *tas_priv,
struct snd_ctl_elem_value *ucontrol, struct soc_mixer_control *mc)
{ … }
EXPORT_SYMBOL_GPL(…);
int tasdevice_digital_putvol(struct tasdevice_priv *tas_priv,
struct snd_ctl_elem_value *ucontrol, struct soc_mixer_control *mc)
{ … }
EXPORT_SYMBOL_GPL(…);
int tasdevice_digital_getvol(struct tasdevice_priv *tas_priv,
struct snd_ctl_elem_value *ucontrol, struct soc_mixer_control *mc)
{ … }
EXPORT_SYMBOL_GPL(…);
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;