#include "./bebob.h"
#include <sound/control.h>
#define INFO_OFFSET_SW_DATE …
#define MAUDIO_BOOTLOADER_CUE1 …
#define MAUDIO_BOOTLOADER_CUE2 …
#define MAUDIO_BOOTLOADER_CUE3 …
#define MAUDIO_SPECIFIC_ADDRESS …
#define METER_OFFSET …
#define METER_SIZE_SPECIAL …
#define METER_SIZE_FW410 …
#define METER_SIZE_AUDIOPHILE …
#define METER_SIZE_SOLO …
#define METER_SIZE_OZONIC …
#define METER_SIZE_NRV10 …
#define ANA_IN …
#define ANA_OUT …
#define DIG_IN …
#define SPDIF_IN …
#define ADAT_IN …
#define DIG_OUT …
#define SPDIF_OUT …
#define ADAT_OUT …
#define STRM_IN …
#define AUX_OUT …
#define HP_OUT …
#define UNKNOWN_METER …
struct special_params { … };
int snd_bebob_maudio_load_firmware(struct fw_unit *unit)
{ … }
static inline int
get_meter(struct snd_bebob *bebob, void *buf, unsigned int size)
{ … }
static int
check_clk_sync(struct snd_bebob *bebob, unsigned int size, bool *sync)
{ … }
static int
avc_maudio_set_special_clk(struct snd_bebob *bebob, unsigned int clk_src,
unsigned int dig_in_fmt, unsigned int dig_out_fmt,
unsigned int clk_lock)
{ … }
static void
special_stream_formation_set(struct snd_bebob *bebob)
{ … }
static int add_special_controls(struct snd_bebob *bebob);
int
snd_bebob_maudio_special_discover(struct snd_bebob *bebob, bool is1814)
{ … }
static int special_get_rate(struct snd_bebob *bebob, unsigned int *rate)
{ … }
static int special_set_rate(struct snd_bebob *bebob, unsigned int rate)
{ … }
static const enum snd_bebob_clock_type special_clk_types[] = …;
static int special_clk_get(struct snd_bebob *bebob, unsigned int *id)
{ … }
static int special_clk_ctl_info(struct snd_kcontrol *kctl,
struct snd_ctl_elem_info *einf)
{ … }
static int special_clk_ctl_get(struct snd_kcontrol *kctl,
struct snd_ctl_elem_value *uval)
{ … }
static int special_clk_ctl_put(struct snd_kcontrol *kctl,
struct snd_ctl_elem_value *uval)
{ … }
static const struct snd_kcontrol_new special_clk_ctl = …;
static int special_sync_ctl_info(struct snd_kcontrol *kctl,
struct snd_ctl_elem_info *einf)
{ … }
static int special_sync_ctl_get(struct snd_kcontrol *kctl,
struct snd_ctl_elem_value *uval)
{ … }
static const struct snd_kcontrol_new special_sync_ctl = …;
static const char *const special_dig_in_iface_labels[] = …;
static int special_dig_in_iface_ctl_info(struct snd_kcontrol *kctl,
struct snd_ctl_elem_info *einf)
{ … }
static int special_dig_in_iface_ctl_get(struct snd_kcontrol *kctl,
struct snd_ctl_elem_value *uval)
{ … }
static int special_dig_in_iface_ctl_set(struct snd_kcontrol *kctl,
struct snd_ctl_elem_value *uval)
{ … }
static const struct snd_kcontrol_new special_dig_in_iface_ctl = …;
static const char *const special_dig_out_iface_labels[] = …;
static int special_dig_out_iface_ctl_info(struct snd_kcontrol *kctl,
struct snd_ctl_elem_info *einf)
{ … }
static int special_dig_out_iface_ctl_get(struct snd_kcontrol *kctl,
struct snd_ctl_elem_value *uval)
{ … }
static int special_dig_out_iface_ctl_set(struct snd_kcontrol *kctl,
struct snd_ctl_elem_value *uval)
{ … }
static const struct snd_kcontrol_new special_dig_out_iface_ctl = …;
static int add_special_controls(struct snd_bebob *bebob)
{ … }
static const char *const special_meter_labels[] = …;
static int
special_meter_get(struct snd_bebob *bebob, u32 *target, unsigned int size)
{ … }
static const char *const fw410_meter_labels[] = …;
static const char *const audiophile_meter_labels[] = …;
static const char *const solo_meter_labels[] = …;
static const char *const ozonic_meter_labels[] = …;
static const char *const nrv10_meter_labels[] = …;
static int
normal_meter_get(struct snd_bebob *bebob, u32 *buf, unsigned int size)
{ … }
static const struct snd_bebob_rate_spec special_rate_spec = …;
static const struct snd_bebob_clock_spec special_clk_spec = …;
static const struct snd_bebob_meter_spec special_meter_spec = …;
const struct snd_bebob_spec maudio_special_spec = …;
static const struct snd_bebob_rate_spec usual_rate_spec = …;
static const struct snd_bebob_meter_spec fw410_meter_spec = …;
const struct snd_bebob_spec maudio_fw410_spec = …;
static const struct snd_bebob_meter_spec audiophile_meter_spec = …;
const struct snd_bebob_spec maudio_audiophile_spec = …;
static const struct snd_bebob_meter_spec solo_meter_spec = …;
const struct snd_bebob_spec maudio_solo_spec = …;
static const struct snd_bebob_meter_spec ozonic_meter_spec = …;
const struct snd_bebob_spec maudio_ozonic_spec = …;
static const struct snd_bebob_meter_spec nrv10_meter_spec = …;
const struct snd_bebob_spec maudio_nrv10_spec = …;