linux/sound/pci/ice1712/revo.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 *   ALSA driver for ICEnsemble ICE1712 (Envy24)
 *
 *   Lowlevel functions for M-Audio Audiophile 192, Revolution 7.1 and 5.1
 *
 *	Copyright (c) 2003 Takashi Iwai <[email protected]>
 */      

#include <linux/delay.h>
#include <linux/interrupt.h>
#include <linux/init.h>
#include <linux/slab.h>
#include <sound/core.h>

#include "ice1712.h"
#include "envy24ht.h"
#include "revo.h"

/* a non-standard I2C device for revo51 */
struct revo51_spec {};

static void revo_i2s_mclk_changed(struct snd_ice1712 *ice)
{}

/*
 * change the rate of Envy24HT, AK4355 and AK4381
 */
static void revo_set_rate_val(struct snd_akm4xxx *ak, unsigned int rate)
{}

/*
 * I2C access to the PT2258 volume controller on GPIO 6/7 (Revolution 5.1)
 */

static void revo_i2c_start(struct snd_i2c_bus *bus)
{}

static void revo_i2c_stop(struct snd_i2c_bus *bus)
{}

static void revo_i2c_direction(struct snd_i2c_bus *bus, int clock, int data)
{}

static void revo_i2c_setlines(struct snd_i2c_bus *bus, int clk, int data)
{}

static int revo_i2c_getdata(struct snd_i2c_bus *bus, int ack)
{}

static struct snd_i2c_bit_ops revo51_bit_ops =;

static int revo51_i2c_init(struct snd_ice1712 *ice,
			   struct snd_pt2258 *pt)
{}

/*
 * initialize the chips on M-Audio Revolution cards
 */

#define AK_DAC(xname,xch)

static const struct snd_akm4xxx_dac_channel revo71_front[] =;

static const struct snd_akm4xxx_dac_channel revo71_surround[] =;

static const struct snd_akm4xxx_dac_channel revo51_dac[] =;

static const char *revo51_adc_input_names[] =;

static const struct snd_akm4xxx_adc_channel revo51_adc[] =;

static const struct snd_akm4xxx akm_revo_front =;

static const struct snd_ak4xxx_private akm_revo_front_priv =;

static const struct snd_akm4xxx akm_revo_surround =;

static const struct snd_ak4xxx_private akm_revo_surround_priv =;

static const struct snd_akm4xxx akm_revo51 =;

static const struct snd_ak4xxx_private akm_revo51_priv =;

static const struct snd_akm4xxx akm_revo51_adc =;

static const struct snd_ak4xxx_private akm_revo51_adc_priv =;

static struct snd_pt2258 ptc_revo51_volume;

/* AK4358 for AP192 DAC, AK5385A for ADC */
static void ap192_set_rate_val(struct snd_akm4xxx *ak, unsigned int rate)
{}

static const struct snd_akm4xxx_dac_channel ap192_dac[] =;

static const struct snd_akm4xxx akm_ap192 =;

static const struct snd_ak4xxx_private akm_ap192_priv =;

/* AK4114 support on Audiophile 192 */
/* CDTO (pin 32) -- GPIO2 pin 52
 * CDTI (pin 33) -- GPIO3 pin 53 (shared with AK4358)
 * CCLK (pin 34) -- GPIO1 pin 51 (shared with AK4358)
 * CSN  (pin 35) -- GPIO7 pin 59
 */
#define AK4114_ADDR

static void write_data(struct snd_ice1712 *ice, unsigned int gpio,
		       unsigned int data, int idx)
{}

static unsigned char read_data(struct snd_ice1712 *ice, unsigned int gpio,
			       int idx)
{}

static unsigned int ap192_4wire_start(struct snd_ice1712 *ice)
{}

static void ap192_4wire_finish(struct snd_ice1712 *ice, unsigned int tmp)
{}

static void ap192_ak4114_write(void *private_data, unsigned char addr,
			       unsigned char data)
{}

static unsigned char ap192_ak4114_read(void *private_data, unsigned char addr)
{}

static int ap192_ak4114_init(struct snd_ice1712 *ice)
{}

static int revo_init(struct snd_ice1712 *ice)
{}


static int revo_add_controls(struct snd_ice1712 *ice)
{}

/* entry point */
struct snd_ice1712_card_info snd_vt1724_revo_cards[] =;