#include <linux/delay.h>
#include <linux/interrupt.h>
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/mutex.h>
#include <sound/core.h>
#include <sound/cs8427.h>
#include <sound/asoundef.h>
#include "ice1712.h"
#include "delta.h"
#define SND_CS8403
#include <sound/cs8403.h>
static void ap_cs8427_write_byte(struct snd_ice1712 *ice, unsigned char data, unsigned char tmp)
{ … }
static unsigned char ap_cs8427_read_byte(struct snd_ice1712 *ice, unsigned char tmp)
{ … }
static unsigned char ap_cs8427_codec_select(struct snd_ice1712 *ice)
{ … }
static void ap_cs8427_codec_deassert(struct snd_ice1712 *ice, unsigned char tmp)
{ … }
static int ap_cs8427_sendbytes(struct snd_i2c_device *device, unsigned char *bytes, int count)
{ … }
static int ap_cs8427_readbytes(struct snd_i2c_device *device, unsigned char *bytes, int count)
{ … }
static int ap_cs8427_probeaddr(struct snd_i2c_bus *bus, unsigned short addr)
{ … }
static const struct snd_i2c_ops ap_cs8427_i2c_ops = …;
static void snd_ice1712_delta_cs8403_spdif_write(struct snd_ice1712 *ice, unsigned char bits)
{ … }
static void delta_spdif_default_get(struct snd_ice1712 *ice, struct snd_ctl_elem_value *ucontrol)
{ … }
static int delta_spdif_default_put(struct snd_ice1712 *ice, struct snd_ctl_elem_value *ucontrol)
{ … }
static void delta_spdif_stream_get(struct snd_ice1712 *ice, struct snd_ctl_elem_value *ucontrol)
{ … }
static int delta_spdif_stream_put(struct snd_ice1712 *ice, struct snd_ctl_elem_value *ucontrol)
{ … }
static void delta_ak4524_lock(struct snd_akm4xxx *ak, int chip)
{ … }
static void delta1010lt_ak4524_lock(struct snd_akm4xxx *ak, int chip)
{ … }
static void delta66e_ak4524_lock(struct snd_akm4xxx *ak, int chip)
{ … }
static void vx442_ak4524_lock(struct snd_akm4xxx *ak, int chip)
{ … }
static void delta_1010_set_rate_val(struct snd_ice1712 *ice, unsigned int rate)
{ … }
static void delta_ak4524_set_rate_val(struct snd_akm4xxx *ak, unsigned int rate)
{ … }
static void vx442_ak4524_set_rate_val(struct snd_akm4xxx *ak, unsigned int rate)
{ … }
static void delta_open_spdif(struct snd_ice1712 *ice, struct snd_pcm_substream *substream)
{ … }
static void delta_setup_spdif(struct snd_ice1712 *ice, int rate)
{ … }
#define snd_ice1712_delta1010lt_wordclock_status_info …
static int snd_ice1712_delta1010lt_wordclock_status_get(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_value *ucontrol)
{ … }
static const struct snd_kcontrol_new snd_ice1712_delta1010lt_wordclock_status = …;
static const struct snd_akm4xxx akm_audiophile = …;
static const struct snd_ak4xxx_private akm_audiophile_priv = …;
static const struct snd_akm4xxx akm_delta410 = …;
static const struct snd_ak4xxx_private akm_delta410_priv = …;
static const struct snd_akm4xxx akm_delta1010lt = …;
static const struct snd_ak4xxx_private akm_delta1010lt_priv = …;
static const struct snd_akm4xxx akm_delta66e = …;
static const struct snd_ak4xxx_private akm_delta66e_priv = …;
static const struct snd_akm4xxx akm_delta44 = …;
static const struct snd_ak4xxx_private akm_delta44_priv = …;
static const struct snd_akm4xxx akm_vx442 = …;
static const struct snd_ak4xxx_private akm_vx442_priv = …;
#ifdef CONFIG_PM_SLEEP
static int snd_ice1712_delta_resume(struct snd_ice1712 *ice)
{ … }
static int snd_ice1712_delta_suspend(struct snd_ice1712 *ice)
{ … }
#endif
static int snd_ice1712_delta_init(struct snd_ice1712 *ice)
{ … }
static const struct snd_kcontrol_new snd_ice1712_delta1010_wordclock_select = …;
static const struct snd_kcontrol_new snd_ice1712_delta1010lt_wordclock_select = …;
static const struct snd_kcontrol_new snd_ice1712_delta1010_wordclock_status = …;
static const struct snd_kcontrol_new snd_ice1712_deltadio2496_spdif_in_select = …;
static const struct snd_kcontrol_new snd_ice1712_delta_spdif_in_status = …;
static int snd_ice1712_delta_add_controls(struct snd_ice1712 *ice)
{ … }
struct snd_ice1712_card_info snd_ice1712_delta_cards[] = …;